docs / elo

Elo, without the mystery.

How indieSoccer estimates a real-world matchup, freezes its stakes at kickoff, and turns the host-recorded result into a new player rating.

INTERACTIVE

Elo calculator

Estimate one player’s Rated-game change using the production formula.

v1 · no draw result
Result
Projected Elo1350+150
Your expected score
50%
Your team’s expected win chance
50%
K-factor
300
Tier
IntermediateIntermediate
1200 + 300 × (10.5000) = 1350
01 · GAME TYPE

Rated changes Elo. Casual does not.

Both game types record the winning side from the game played at the field and the players who completed it. Only a valid completed Rated game calculates and applies Elo changes.

02 · KICKOFF SNAPSHOT

The matchup is set in stone at kickoff.

When all ten players check in and the game starts, indieSoccer freezes every rostered player’s matchup Elo and games-played count. Team averages, win percentages, and intended stakes are based on that snapshot, so they do not drift while the game is being played or while the host waits to enter a result.

03 · EXPECTED SCORE

Four hundred points is the reference scale.

Team win probability compares the two team-average ratings. An individual player’s Elo change compares that player’s kickoff rating with the opposing team’s average rating.

E = 1 / (1 + 10 ^ ((opponent Elo − player Elo) / 400))
04 · K-FACTOR

Newer players move faster.

Fewer than 10 total gamesK = 300
10+ games and Elo at or below 2000K = 200
10+ games and Elo above 2000K = 100

Total games includes both Rated and Casual games completed before kickoff.

05 · RATING UPDATE

The result is rounded to a whole number.

A win uses an actual score of 1; a loss uses 0. The calculated value is rounded to the nearest whole number, and Elo cannot fall below zero. indieSoccer does not currently offer a draw result.

new Elo = max(0, round(current Elo + K × (actual − expected)))

If another result updates a player’s live Elo after this game’s kickoff but before this result is processed, indieSoccer preserves this game’s intended kickoff delta and applies it to the current live sequence.

06 · STARTING ELO

Players choose an initial level.

During onboarding, a player chooses Beginner at 800, Intermediate at 1200, or Advanced at 1600. Rated results then move that value using the rules above.

07 · TIERS

Player-card frames track Elo tiers.

0+

Beginner

Learning positioning, ball control, and team play.

1200+

Intermediate

A solid pickup player with dependable fundamentals.

1600+

Advanced

A strong amateur with technique and tactical awareness.

2000+

Expert

Elite amateur or strong club-level play.

2400+

Master

Top-tier or semi-professional quality.

iS
Calculator scope

The calculator mirrors the normal single-game production calculation. It is an estimate unless its inputs exactly match the server’s kickoff snapshot and the player has no intervening finalized result.