proglottis / glicko2

Ruby implementation of Glicko2 ratings
MIT License
30 stars 10 forks source link

"Projected" rating between periods #2

Closed swanson closed 11 years ago

swanson commented 11 years ago

Is there a way to project a rating before the end of a period has been calculated?

For my application, a rating period would be around two weeks, but I want to see some kind of real-time update as games are recorded.

It looks like Rating#delta could be useful?

Does this make sense: projected_rating = rating at 90% percentile + delta? And then update the actual rating once the period ends?

proglottis commented 11 years ago

Ah yeah. Live updates are a bit tricky for glicko. I think the easiest solution would be just to do the actual calculation after each game - but making sure you keep what their ranking was at the end of the last period so you can use that to do the calculation. It'll really depend on how many players there are if this would be viable or not - since the calculation recalculates every player.

The problem will be the players with no games in the period will get slightly decayed. I guess if you have a UI you can say it's an estimate.

If you have too many players, then you can probably just update the players in the game. This would be the least accurate - but as long as you do the real calculation at the end of the rating period, shouldn't be too bad. Can just use Glicko2::Player directly.

swanson commented 11 years ago

Thanks - that makes sense. I think I will try storing off the "official" rating that is calculated every period and then making a "projected" rating in which I recalculate after every game for the two players involved.