2026 Season
What Makes Better Statbotics "Better"
Limitations of Statbotics for the 2026 season
- Statbotics does not adequately account for past performance. Because scoring in 2025 was non-linear with diminishing returns, assumptions based on raw EPA values underestimated the performance of top teams.
- The conversion of unweighted EPAs to weighted EPAs was initially calculated based on week 0 events. This resulted in assumptions that vastly further underestimated the performance of top teams.
- Because EPAs adjust very conservatively, even after multiple events the EPA of a top team may significantly underestimate their expected performance.
- The prevalence of robot rebuilds means that a team's performance may dramatically change from event to event. Because EPAs already adjust so slowly, they do not adequately account for such performance changes between events.
- Though this is not unique to the 2026 season, a team's EPA also has never been able to account for large performance drops due to catastrophic or chronic machine failure that cannot be fixed.
Limitations of OPR
- As always, teams must play many matches, potentially an entire event's worth of qualification matches, before OPR can meaningfully estimate their performance.
How Better Statbotics works
- All teams are assigned a Vibe score equal to 10 times their expected total game pieces scored in auto and teleop in 2025 per Statbotics. This rough value was chosen based on 2056's total being ~30, and our expected solo points scored in a match before our first district event being estimated at ~300. All teams that did not compete in 2025 were arbitrarily assigned a Vibe score of 30.
- A normalization "trigger" point is assigned to the match at which every team will have played approximately 3 matches ( (# teams at event / 6) * 3 ).
- Before the "trigger", Vibe scores are adjusted after every match with no dampening:
Vibe Score Adjustment = (Dampening Factor 1) * ( ( Alliance Match Score) – (Alliance Total Vibe Score) ) / 3
- Right after the "trigger", all of the Vibe scores are passed back to act as pre-event Vibe scores, and the adjustments are all recalculated, again with no dampening.
- After the "trigger", Vibe scores are adjusted with a dampening factor of 0.75.
- In elimination matches, Vibe scores are adjusted with a dampening factor of 0.25.
- Var is the amount by which a team's alliance exceeds or underperforms the expected total Vibe score.
- Aura is the amount by which the opposing alliance exceeds or underperforms their expected total Vibe score.
Why this is "better"
- Vibe scores were seeded based on the actual expected performance of a high-scoring team, so performance was not underestimated.
- Vibe scores adjust aggressively based on recent performance. While this may result in large swings in Vibe scores across an event, this variance itself is a useful indicator of the consistency of a team's performance.
- The backwards pass at the trigger allows for a team's Vibe score to be rapidly adjusted to account for event-to-event performance changes, e.g. because of a rebuild.
- Vibe scores meaningfully reflect a team's expected performance after as few as 1-3 matches played.
Evidence
- Using every team's final Vibe score, as of week 7 so far, Statbotics accurately predicted the outcomes of 80.33% of matches, while Better Statbotics accurately predicted the outcomes of 84.09% of matches.
- The average difference between the actual match score and match score predicted by Statbotics was 46.34, and the average difference between the actual match score and match score predicted by Better Statbotics was 37.61.
- Empirically, over the 2026 season, so many match outcomes predicted by Statbotics were so wildly incorrect that it became irresponsible to reference these predictions. By contrast, match outcomes predicted by Better Statbotics have reliably reflected expected alliance performance. (see: 2026oncmp1_qm87)