Developing a model to approximate an unknown score from known scores

79 Views Asked by At

Apologies if this would be better suited elsewhere, this is the SE I was recommended. I can delete / move if needed.

The target is to approximate a hidden rank in a game (Dota 2 if anyone is interested), using a visible rank (since there are 2, one for ranked games and one for unranked games, it is the unranked one that is hidden).

We can see the visible rank (which is a group of scores (called MMR)) freely and extract that from a website. We can see what MMR limits each group corresponds to, from another website, and the limits are sufficiently close together to be a fairly accurate approximation (e.g. 2000-2150). Assuming the game tries to match your team of 5 (which could be any rank each) against a roughly even MMR team of 5 (which could also be any rank each), and tries to retain a 50% Win / Loss rate. It will also try (though not always successfully) to match each person to an equivalent MMR person, but not sure that matters.

Assumptions that can be made:

  • Enemy's displayed rank is close to their current rank

  • The limit of the rank catogeries are sufficiently close to one another to be an accurate approximation

  • Every win or loss grants + or - 25 MMR (Obviously needed for any win rate that deviates from 50%)

  • MMR is roughly a normal distribution (of which each rank is a small segment of)

  • There is enough data available to get a sufficiently large sample size

Question:

How do I put this together to make a formula I can program, that takes a single friendly player's win rates and visible rank, and enemy player's win rates and visible rank to return the friendly player's hidden rank

Other thoughts:

  • Would some sort of weighting factor be required if the friendly player is particularly far apart in MMR from the rest of their party which might cause an uncommonly high number of wins or losses, and what would this weighting factor look like if needed?

Appreciate any help!