50 / 32
K-Factor (New / Est.)
14 days
Decay Grace Period
10 / wk
Decay Rate (max 100)
01
Overview
The Crucible Rating (CR) system is a modified Elo rating system — the same foundational model used by FIDE chess, FACEIT, and many competitive platforms worldwide. Every team has a single numerical rating that goes up when they win and down when they lose. The size of the change depends on how likely that outcome was before the match started.
The core idea is simple: beating a stronger team earns more CR than beating a weaker one, and losing to a stronger team costs less than losing to a weaker one. This keeps the leaderboard accurate over time and rewards teams that challenge themselves.
The short version: Win → gain CR. Lose → lose CR. Beat teams above you → gain more. Lose to teams below you → lose more. Go inactive → slowly decay. Play consistently → your rating reflects your true skill level.
02
Step 1 — Expected Score
Before any CR changes, the system calculates the expected probability of each team winning. This is based purely on the difference between the two teams' current CR ratings using the standard Elo formula.
Expected Score Formula
EA = 1 / ( 1 + 10 ^ ((CRB - CRA) / 400) )
EB = 1 - EA
The result is a number between 0 and 1 — think of it as a win probability. A value of 0.75 means the system expects that team to win 75% of the time given their ratings.
Example — Expected Score Calculation
Team Alpha CR1400Higher-rated team
Team Beta CR1200Lower-rated team
E(Alpha)1 / (1 + 10^((1200-1400)/400))= 0.76 (76% favourite)
E(Beta)1 - 0.76= 0.24 (24% chance)
A 200 CR gap makes the higher-rated team a 76% favourite. A 400 CR gap makes them a 91% favourite. Equal ratings give each team exactly a 50% expected score.
03
Step 2 — CR Change
Once the expected scores are known, the actual CR change is calculated. The actual outcome is either 1 (win) or 0 (loss). The difference between the actual outcome and what was expected — multiplied by the K-factor — determines how much CR moves.
CR Change Formula
new_CRA = CRA + K × (ActualA - EA) × Dominance
The key insight is (Actual − Expected). If Alpha wins (as expected at 76%), the surprise factor is small: 1 − 0.76 = 0.24. If Beta wins the upset, their surprise factor is huge: 1 − 0.24 = 0.76. This is what makes upsets worth so much CR.
Example — Alpha wins (expected outcome, K=32, Dominance=1.0)
Alpha CR change32 × (1 - 0.76) × 1.0= +7 CR
Beta CR change32 × (0 - 0.24) × 1.0= −7 CR
Example — Beta wins (upset outcome, K=32, Dominance=1.0)
Beta CR change32 × (1 - 0.24) × 1.0= +24 CR
Alpha CR change32 × (0 - 0.76) × 1.0= −24 CR
Notice how an upset is worth over 3x more CR than a routine win. The system is always zero-sum per match — exactly as much CR is gained as is lost between the two teams.
04
The K-Factor — How Fast CR Moves
The K-factor controls the maximum CR swing per match. A higher K-factor means ratings change faster; a lower one means they are more stable. The Crucible uses two values depending on how established a team is.
New Team
K = 50
First 10 matches
→
After Match 10
K = 32
All subsequent matches
- K = 50 (Provisional): New teams have a higher K-factor for their first 10 matches. This allows their rating to reach its true level quickly, since a brand-new team at 1200 CR may be much stronger or weaker than average.
- K = 32 (Established): Once a team has played 10 or more matches, the K-factor drops to 32. Their rating is now more stable and harder to move dramatically in a single result.
Why does this matter? A K=50 team can gain or lose up to 50 CR in a single match (in a perfectly even matchup). A K=32 team can move up to 32 CR. In practice the swing is always smaller because expected scores are rarely exactly 50/50.
05
Dominance Modifier
The Dominance modifier is a multiplier between 1.0 and 1.2 that amplifies the CR change for a particularly one-sided victory. It is agreed upon by both Team Contacts before the result is submitted and reflects the margin of the win, not just the outcome.
Dominance is clamped within range
Dominance = max(1.0, min(submitted_value, 1.2))
Dominance impact — Equal teams (50/50), K=32
Dominance 1.032 × 0.5 × 1.0= +16 CR
Dominance 1.132 × 0.5 × 1.1= +17 CR
Dominance 1.232 × 0.5 × 1.2= +19 CR
- 1.0 — Standard match. Use this for close games where the scoreline could have gone either way.
- 1.1 — Clear win. The winning team was in control for most of the match with a notable scoreline difference.
- 1.2 — Dominant win. A convincing, one-sided performance where the loser had little chance after the early game.
Both teams must agree on the dominance value. If there is disagreement, 1.0 is the default. Misrepresenting dominance in a submitted result is treated as a false report under the rules.
06
CR Floor & Rounding
CR is always a whole number — results are rounded to the nearest integer after each calculation. CR cannot drop below 0 regardless of how the formula resolves. This means a team at 5 CR that loses a match will drop to 0, not into negative values.
Final CR after match
final_CR = max(0, round(CR + K × (Actual - Expected) × Dominance))
07
Inactivity Decay
To keep the leaderboard dynamic and competitive, teams that go inactive will gradually lose CR over time. This prevents teams from reaching a high rating and then sitting on it without playing.
Last Match
Day 0
Clock starts
→
Grace Period
14 days
No decay yet
→
Decay Begins
−10 CR/wk
Per week inactive
→
- Grace period: No decay occurs for the first 14 days after a team's last match. Teams have two full weeks to schedule their next game before any penalty applies.
- Decay rate: After the grace period, the system checks how many full weeks of inactivity have accumulated beyond 14 days. Each week costs 10 CR.
- Maximum decay: The total CR lost to decay is capped at 100 CR. A team can never lose more than 100 CR solely due to inactivity, regardless of how long they are inactive.
- Resetting the clock: Playing any confirmed match immediately resets the inactivity clock and clears accumulated decay debt. The team starts fresh from that match date.
- Decay is cumulative: The system tracks total decay applied. If 30 CR has already been deducted for inactivity and the team goes further inactive, only the additional amount above 30 CR is deducted — never the same CR twice.
Decay timeline example — Team last played on Day 0
Day 140 CR lostStill in grace period
Day 21 (1 week past grace)−10 CR1 week × 10
Day 28 (2 weeks past grace)−20 CR2 weeks × 10
Day 84 (10 weeks past grace)−100 CRCapped at maximum
Day 84+ (match played)Clock resetDecay cleared
08
Full Worked Example
Here is a complete end-to-end calculation for a match between two established teams (K=32) where the lower-rated team pulls off an upset with a dominant performance.
Setup
Storm CR1350Favourite
Vortex CR1150Underdog
WinnerVortexUpset result
Dominance1.2Dominant win
K-factor (both)32Both established
Step 1 — Expected Scores
E(Storm)1 / (1 + 10^((1150-1350)/400))= 0.76
E(Vortex)1 - 0.76= 0.24
Step 2 — CR Changes (Vortex wins)
Vortex change32 × (1 - 0.24) × 1.2= +29 CR → 1179 CR
Storm change32 × (0 - 0.76) × 1.2= −29 CR → 1321 CR
Vortex gains 29 CR for pulling off the upset with a dominant performance — nearly four times what Storm would have gained for the expected win at standard dominance. Storm drops 29 CR, a significant penalty for losing to a lower-rated opponent convincingly.
09
Seasons & Resets
The Crucible operates in seasons. At the end of each season, staff may elect to reset all CR to 1200 and begin fresh standings. Season results, match history, and final rankings are archived before any reset occurs.
- Season resets are announced in the VALIS Discord in advance, giving all teams notice.
- Historical data is preserved — final season standings will remain visible as a permanent record.
- A new season gives every team an equal starting point, regardless of prior season performance.
- Staff may introduce rule adjustments or formula tweaks between seasons based on community feedback.