Extremely rough draft of something bigger.
In order to score a game and its popularity, we set some weights for the three variables we take into consideration: views, likes, and rating. These are used to scale the overall score depending on the user preference. For example, if a user prefers games with higher ratings and does not care for likes, these variables can be modified to suggest those types of games.
The score is calculated using the following formulas:
views_w = log10(views + 1) * views_weightlikes_w = log10(likes + 1) * likes_weightrating_w = rating * rating_weightbase_score = views_w + likes_w + rating_wThis usually yields a score within the boundary of [0, 35). On top of this, a modifier is applied for specific situations. We calculate an engagement rating (likes per view), a clickbait penalty (low rating relative to views), and a final community loved boost.
Engagement Calculation: engagement = (likes / views) (typically resulting in 3 ± 1)
The following logic is applied to adjust the base score:
Penalty Logic:
modifiers - 5Boost Logic:
modifiers + 2Final Calculation:
total_score = base_score + modifiers
The final score is compressed into five different categories:
| Score | Classifier | Name |
|---|---|---|
| >= 27 | 4 | High |
| >= 25 | 3 | Medium |
| >= 15 | 2 | Low |
| >= 9 | 1 | Bad |
| <= 8 | 0 | New |
As you can see, a score of 8 or lower is given the name New, since those games usually tend to lack enough community engagement to make a fair assumption. Getting a score this low is usually because of 0 reviews or 0 likes.