Verified product fields
The current SportSignals read-side implementation exposes these rating variants when rows are available. The maintained SportSignals methodology records this field-level product boundary:
| Field | Product interpretation |
|---|---|
| ssr | Overall team rating |
| btts_index | Both-teams-to-score specialist index |
| goals_over25 | Over 2.5 goals specialist index |
| ssr_attack | Attacking index |
| ssr_defence | Defensive index |
The product can also read match counts, update timestamps and rating history. These fields support comparison and trend presentation. They do not, by themselves, reveal the write-side equation that produced each update.
What “Elo-based” establishes
Current code comments describe the underlying algorithm as Elo-based. Elo-family systems generally compare an expected result with an observed result and update the participants’ ratings. FIFA's men's ranking procedure is an official example of an Elo-style SUM method with defined match importance and expected-result components.
That FIFA procedure is an example, not the SportSignals equation. SportSignals does not claim here that its K-factor, expected-score transform, home adjustment or result weighting matches FIFA or any generic Elo tutorial.
Read-side fallback
When a requested comparison row is absent, the current read path uses 1500 as a neutral display/comparison fallback. That behavior keeps a comparison available; it is not evidence that every new team is initialized to 1500 in the rating-generation pipeline. Missing and fallback values should remain distinguishable in analysis.
What is not currently substantiated
The public page does not state exact values for:
- the update equation or expected-score curve;
- K-factors or competition weights;
- a home-advantage point adjustment;
- goal-margin multipliers;
- seasonal regression toward a mean;
- how specialist indices interact with the overall rating;
- whether ratings directly generate fixture probabilities. The maintained SportSignals methodology leaves these write-side constants unclaimed until maintainable implementation evidence exists.
Those details should be added only when maintained write-side documentation or code can support them. An illustrative generic formula belongs in the Elo guide, not as an undocumented product claim.
How to interpret a comparison
A higher displayed rating means a higher value within that rating field at that snapshot. It does not automatically equal a match-win probability. Converting a rating gap into a probability requires a documented transform and context. OpenStax probability terminology supports the distinction between a score or index and a probability measure.
Use the overall and specialist fields for their named comparison purpose, preserve the update timestamp, and avoid comparing values across unknown methodology changes without a version boundary.
Relationship to fixture predictions
The current SportSignals fixture-prediction path integrates provider-supplied probabilities, as described in the SportSignals methodology. The presence of team ratings elsewhere in the product does not establish that those ratings generated the provider probabilities.
Treat each rating row as a versioned snapshot
A useful rating record contains team ID, rating type, value, matches played, calculation or update time and methodology version where available. Rating history should preserve earlier values rather than overwrite them, so a comparison can be reconstructed at its original date.
| Interpretation check | Safe conclusion |
|---|---|
| Overall values differ | One team has a higher stored overall index at that snapshot |
| Attack values differ | The stored attacking indices differ |
| One row is missing | The read path may use its neutral comparison fallback |
| Rating rises after a match | The stored history changed; cause needs write-side evidence |
| Rating gap is large | A probability cannot be inferred without a documented transform |
The SportSignals methodology records the current read-side field and fallback boundary. FIFA's ranking procedure remains only an example of an Elo-style family with explicitly documented components.
Requirements for fuller publication
Before adding an exact formula, preserve and review the write-side equation, parameter values, initialization, promotion handling, season transitions, competition weighting, correction behavior, update cadence and validation results. Publish a version boundary and worked example checked against production output.
Until that evidence exists, leaving constants unknown is an accuracy feature. It prevents a familiar generic Elo formula from being misrepresented as the SportSignals implementation. The SportSignals methodology records this current evidence boundary.
Continue learning
- Next guide: How xG Models Are Calculated
- Related guide: Live AI Football Predictions
Assumptions and limitations
This verified scope intentionally leaves undocumented constants unknown. If the rating-generation contract becomes maintainable and public, this page can add the exact equations, update cadence, validation and version history after they are checked against the implementation.

