Skill + uncertainty
Each player carries a rating μ (skill estimate) and σ (uncertainty). σ shrinks with fresh results and grows during long breaks, so you always know how confident the system is.
This page is dedicated to the rating algorithm itself. Start with the high-level takeaways, then browse the plain-language explainer to understand each step of the update loop.
Each player carries a rating μ (skill estimate) and σ (uncertainty). σ shrinks with fresh results and grows during long breaks, so you always know how confident the system is.
Before every match the model computes an expected score using both players’ μ and σ. The difference between expectation and reality determines the direction and size of the update.
Event tier, draw stage, freshness, and opponent strength scale the rating delta so marquee wins move faster than a casual ladder night.
Team matches distribute impact between partners while referencing their individual strength, preventing one-sided boosts.
OpenRating lives at the intersection of expectation and reality. Each result compares what the model believed would happen with what actually happened, then adjusts skill and certainty accordingly. The sections below walk through that flow without requiring a math background.
New players start at the system prior (μ₀) with a high σ₀. The large uncertainty lets early results move quickly until the model gains confidence.
OpenRating uses a logistic expectation curve derived from μ differences and combined σ. Evenly matched players sit at 0.5; favorites sit above that baseline.
The raw delta (actual − expected) is multiplied by contextual weights: event tier, opponent strength, set length, and recency. That keeps the ladder sensitive to meaningful matches.
The weighted delta adjusts μ. σ is updated separately using a volatility term that shrinks with consistent play and expands with inactivity, giving a built-in reliability signal.
For team matches the system evaluates each player in the partnership and splits the delta proportionally. Successful duos climb together while carry scenarios are tempered.
Ready for the full specification with formulas, parameter tables, and validation notes? Grab the latest version of the algorithm document below.
Read the full algorithm spec