ELO Score
Matchly Elo-Based Ranking System
Last updated
Matchly Elo-Based Ranking System
Last updated
Matchly uses an Elo-based ranking system to dynamically adjust user popularity based on interactions. This system ensures that matches and visibility are influenced by both personal engagement and the popularity of those interacting with a user.
Every new user starts with the average Elo score of all users to ensure a balanced matchmaking environment.
Where:
E(new) = Initial Elo score of a new user.
E(avg )= Average Elo score of all users in the system.
When a user receives a like or dislike, their Elo score is updated based on the Elo of the person giving the interaction.
Where:
E_A = Current Elo score of the user receiving the interaction.
E_A' = Updated Elo score.
E_B = Elo score of the user giving the like/dislike.
K = Scaling factor (default: 32, can be adjusted for system balance).
R = Actual outcome of the interaction:
If a like is received,
If a dislike is received,
P = Expected outcome based on the Elo difference:
Receiving a like from a highly popular user (high Elo) → Significant score increase.
Receiving a like from a less popular user (low Elo) → Small score increase.
Receiving a dislike from a highly popular user → Significant score decrease.
Receiving a dislike from a less popular user → Smaller score decrease.
This system ensures a fair, dynamic matchmaking process where popular users maintain their influence, and new users have a chance to rise in visibility based on their engagement.
You can tweak the K factor and the Elo distribution to balance the matchmaking experience, ensuring an engaging and rewarding user experience.
After a few trials, we've have decide to set K to 32.
For further optimization or adjustments, additional parameters such as decay for inactive users or boosted scores for new users can be implemented.