# Designing a fair user recommendation system

In this chapter, we design a *fair* user recommendation system for Mastodon, in step-by-step style.

First of all, we have to avoid the oldies effect. We can choose weekly, monthly, or other criteria with some finite duration.

Second, to avoid the shrink-wrap effect, we have better to use the number of boosts, rather than the numer of followers.

Now we find that, the weekly number of boosts is a *fair* criteria to recommend the users.

And one more thing, a reverse *unfair* criteria is *fair*. For example, we can imagine a rule that the user who has more than 100 followers is not recommended. This rule can be combinated with the weekly number of boosts criteria, which brings some additional *fairness*.

Now we get a design of a *fair* user recommendation system for Mastodon. Implementation is expected.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://distsn.gitbook.io/recommendation-fairness/designing-fair-user-recommendation-system.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
