Documentation
Ranking Athletes
The ranking model has one job: rate athletes from recorded Smoothcomp matches, then use those ratings to predict future winners with honest confidence.
It starts with standard ELO logic and adds jiu-jitsu-specific adjustments for submission wins, athlete experience, long inactivity, and prediction confidence when either rating is still uncertain.
How The Rating Works
Every athlete starts at 1500. After each match, the winner's rating goes up and the loser's rating goes down. Beating a higher-rated opponent moves the score more than beating a lower-rated opponent.
The rating gap is the difference between the two athletes' scores. The selected model uses scale = 150, which turns a rating gap into an expected win-confidence range. For example, if your rating is about 26 points higher than your opponent's, the model expects your win probability to land in the 55-60% range.
| Difference in athlete ratings | Estimated win confidence |
|---|---|
| 0 to +13 | 50-55% |
| +13 to +26 | 55-60% |
| +26 to +40 | 60-65% |
| +40 to +55 | 65-70% |
| +55 to +72 | 70-75% |
| +72 to +90 | 75-80% |
| +90 to +143 | 80-90% |
| +143 or higher | 90%+ |
What Baseline ELO Missed
Baseline ELO was already useful. It picked winners well, but the round 5 test set shows that it was under-confident: favorites won 70.34% of evaluated matches while baseline average confidence was only 68.20%. The final model picked favorites at 71.15% and averaged 71.82% confidence.
The experiments used 1,945,611 completed matches. Older matches built rating history, 2023 matches selected parameters, and 2024+ matches tested the final formula on later data. The model never used a future match to predict an earlier one.
Accuracy is how often the model's favorite won. Average confidence is how strongly it believed in those favorites. Calibration error checks whether that confidence was honest. Log loss is the main selection score because it rewards confident correct predictions and punishes confident wrong ones.
Differences between percentages are shown as percentage points. The final model changed average confidence by +3.62 percentage points and calibration error by -1.46 percentage points versus baseline ELO.
| Metric | What it captures | Baseline ELO | Final model | Change |
|---|---|---|---|---|
| Test accuracy | how often the favorite actually won | 70.34% | 71.15% | +0.81 percentage points |
| Test log loss | rewards being confidently right and punishes being confidently wrong | 0.57157 | 0.55972 | -0.01185 |
| Test average confidence | how strongly the model believed in its favorites | 68.20% | 71.82% | +3.62 percentage points |
| Test calibration error | how far predicted confidence was from actual outcomes | 2.14 percentage points | 0.68 percentage points | -1.46 percentage points |
Which Changes Helped
Round 5 reran the article examples on the same train, validation, and test windows. That makes the comparisons apples to apples: each row changes one part of the model while keeping the rest of the experiment setup comparable.
| Model | Log loss | Accuracy | Confidence bias |
|---|---|---|---|
| Scale only: baseline ELO at scale 150 | 0.57157 | 70.34% | -2.14 underconfident |
| Submission multiplier only | 0.56422 | 70.88% | -0.09 roughly neutral |
| Experience K only | 0.56806 | 70.45% | -1.22 underconfident |
| Inactivity trust loss only | 0.57003 | 70.48% | -1.87 underconfident |
| Experience plus inactivity trust updates | 0.56635 | 70.63% | -1.01 underconfident |
| All update adjustments, no prediction-trust scale | 0.56022 | 71.19% | +1.18 overconfident |
| Final model | 0.55972 | 71.15% | +0.67 overconfident |
Scale: How Much Confidence A Gap Creates
Scale decides how quickly rating gaps become strong predictions. A lower scale makes the same gap more confident. A higher scale makes the model more cautious. Round 5 selected scale = 150 for the final article formula.
| Scale | Log loss | Accuracy | Confidence bias |
|---|---|---|---|
| 100 | 0.56477 | 71.40% | +4.15 overconfident |
| 125 | 0.55999 | 71.29% | +2.16 overconfident |
| 150 | 0.55972 | 71.15% | +0.67 overconfident |
| 175 | 0.56136 | 71.00% | -0.52 underconfident |
| 200 | 0.56385 | 70.85% | -1.49 underconfident |
Submissions: Stronger Match Evidence
A submission win moves ratings more than a decision win. The selected multiplier is 1.6. That does not mean a submission is literally that much better than a decision; it means the result teaches the model more.
The round 5 submission sweep compares each multiplier against the same final-model setup. Higher multipliers kept accuracy similar, but they pushed confidence higher and worsened calibration.
| Multiplier | Log loss | Accuracy | Confidence bias |
|---|---|---|---|
| 1 | 0.56692 | 70.57% | -1.46 underconfident |
| 1.3 | 0.56159 | 70.99% | -0.49 underconfident |
| 1.6 | 0.55972 | 71.15% | +0.67 overconfident |
| 1.9 | 0.56042 | 71.20% | +1.83 overconfident |
| 2.2 | 0.56317 | 71.17% | +2.98 overconfident |
Trust Rating: How Much To Believe The Score
Each athlete also has a trust_rating. New athletes start with the fastest-moving rating. As match history grows, K falls and trust rises.
Experience trust uses a diminishing-return curve. With 10 prior matches, the athlete reaches the selected midpoint of the trust curve.
| Prior matches | trust_rating | Trust label | Meaning |
|---|---|---|---|
| 0 | 0.0 | Provisional | brand-new rating |
| 5 | 10.7 | Developing | some match evidence |
| 10 | 16.0 | Established | halfway to maximum trust |
| 20 | 21.3 | Established | useful match history |
| 40 | 25.6 | Reliable | stable rating |
| 100 | 29.1 | Very reliable | deep active history |
1 Technical note: the underlying ELO update value still uses K. The exported article source defines the trust table from the same K/trust formula used for the article examples.
Experience And Inactivity Tuning
The selected experience curve uses a 10-match half-life. Inactivity adds temporary uncertainty after long gaps, then lets trust recover as the athlete records more matches.
| Half-life | Log loss | Accuracy | Confidence bias |
|---|---|---|---|
| 5 | 0.56005 | 71.08% | +0.15 overconfident |
| 10 | 0.55972 | 71.15% | +0.67 overconfident |
| 20 | 0.55993 | 71.20% | +1.12 overconfident |
| 40 | 0.56056 | 71.22% | +1.49 overconfident |
| Model | Log loss | Accuracy | Confidence bias |
|---|---|---|---|
| No inactivity trust loss | 0.56125 | 71.03% | +0.59 overconfident |
| Lower inactivity trust loss | 0.56025 | 71.10% | +0.62 overconfident |
| Selected inactivity trust loss | 0.55972 | 71.15% | +0.67 overconfident |
| Higher inactivity trust loss | 0.55935 | 71.20% | +0.79 overconfident |
| Slower trust recovery | 0.55967 | 71.17% | +0.68 overconfident |
Trust Also Changes Prediction Confidence
Trust is not just for rating updates. It also affects prediction confidence. The selected prediction adjustment is Max K, impact 0.25. If either rating is uncertain, the prediction is softened.
The selected prediction-trust setting had the best validation log loss in this sweep. Some alternatives were slightly better on one test metric, but they were not the validation-selected setting.
| Model | Validation log loss | Test log loss | Accuracy | Confidence | Calibration error |
|---|---|---|---|---|---|
| No prediction-trust scale | 0.57437 | 0.56022 | 71.19% | 72.36% | 1.18 percentage points |
| Average K, impact 0.25 | 0.57408 | 0.55978 | 71.18% | 72.10% | 0.91 percentage points |
| Average K, impact 0.50 | 0.57430 | 0.55989 | 71.17% | 71.89% | 0.76 percentage points |
| Max K, impact 0.25 | 0.57401 | 0.55972 | 71.15% | 71.82% | 0.68 percentage points |
| Max K, impact 0.50 | 0.57455 | 0.56020 | 71.12% | 71.37% | 0.46 percentage points |
Final Calibration
A confident prediction should mean what it says. If the model says an athlete is a 75% favorite, similar favorites should win about three out of four times. The final model is close across the test buckets, with only mild optimism in the highest-confidence buckets.
| Prediction bucket | Average prediction | Actual favorite win rate | Note |
|---|---|---|---|
| 50-55% | 52.53% | 52.53% | almost exact |
| 55-60% | 57.50% | 57.01% | low by 0.5 percentage points |
| 60-65% | 62.50% | 61.79% | low by 0.7 percentage points |
| 65-70% | 67.43% | 66.90% | low by 0.5 percentage points |
| 70-75% | 72.55% | 72.61% | almost exact |
| 75-80% | 77.48% | 76.46% | low by 1.0 percentage points |
| 80-90% | 84.82% | 83.69% | low by 1.1 percentage points |
| 90-100% | 94.28% | 92.97% | low by 1.3 percentage points |
The result is still an estimate, not a perfect skill measurement. It ranks athletes from recorded matches and attaches a prediction confidence that is much closer to what actually happened.
Article data source: s3://smoothcomp-data/Summary-Pages/elo_article_sourcefile/elo_article_data.json. Source file generated June 29, 2026.