← Back to Home

Methodology

How the Model Works

  1. Event rosters are read in via API calls.
  2. Team EPA evolutions (Statbotics EPA) are simulated over the course of the season.
    • Empirically learn the distribution of end-of-season EPA given prior-season EPA.
    • Use Statbotics formulae for next season’s starting EPA.
    • Path from start to end EPA uses random “steps,” with normal noise controlling deviation from straight-line progression.
  3. At each event, qualification match schedules are generated to reflect FIRST scheduler priorities.
    • Minimize repeat teammates/opponents; do not attempt to equalize time between matches.
    • Repeat teammates/opponents incur an exponentially increasing penalty.
  4. At each event, teams play to their simulated end-of-event EPA over their qual matches.
    • Each simulation has a unique schedule and random variance in team strength.
    • Uses overall EPA and RP-component strength metrics.
  5. Alliance selections are simulated after quals.
    • Each team gets a “desirability score” = base EPA + small random variance.
    • Captains pick the top remaining team by desirability.
    • A team always accepts if they are not otherwise guaranteed to make playoffs.
    • Otherwise, a team declines if (assuming no other declines) they could captain and pick such that their current 2-team alliance would be ≥ 50 EPA stronger than accepting; already-declined teams are ineligible.
  6. Elims use the standard double-elimination format with best-of-3 finals.
    • Alliance EPAs drive match predictions; assume no backups used.
  7. Awards are based on rank and award history (last 2 years).
    • 5-point awards weighted by rank and history.
    • EI and Impact based exclusively on award history, with extra weight for prior winners (especially at DCMP).
    • RAS assigned randomly among eligible rookies.
    • HOF tracked via a Boolean; history window = 2 years.
  8. District points are tabulated for each team’s first two in-district events. Every Impact winner and the top remaining by district points are invited to DCMP.
  9. DCMP fields: Teams are randomly assigned to fields (if multiple). Each field counts as a separate event for district points, except auto-qualifying awards (Impact, EI, RAS).
  10. Worlds invitations: All qualifying award winners, event winners (except the 2nd pick of FSC), and HOF teams are invited, plus the next highest district point scorers.

Status: Inter-field playoffs are the only unfinished step. This minimally affects outcomes (outside of raw district points at the very top), because field winners either literally or effectively auto-qualify for Worlds.

Assumptions

Justified Empirically

  • Alliance win odds are reasonably approximated by summing EPAs.
  • End-of-season EPA | starting EPA follows a skew-normal with learnable parameters.
  • Statbotics provides a strong prior for next-season starting EPA adjustments.
  • Alliances avoid backups in elims unless the backup’s utility is roughly equal to the replaced robot’s.
  • Qualified teams very rarely decline DCMP attendance.
  • RP component EPAs generally increase over a season.

Justified Subjectively

aka they make sense given what I've heard from people I talked to, but you could debate these

  • Teams do not progress linearly in skill over a season.
  • Alliance-selection desirability primarily reflects a “usefulness” function of scoring + defense that EPA approximates.
  • Team A declines Team B only if they expect to captain and later pick Team C to form a clearly stronger alliance.
  • Teams attending only one in-district event will not attend DCMP even if they qualify (financial constraints).
  • RP component EPA (relative to mean) correlates with overall EPA (relative to mean).

Other (Pragmatic) Assumptions

aka I have to assume something to make this code work and this is the best I got

  • Minimizing repeat allies/opponents is a reasonable scheduling proxy for simulation.
  • Noise added to EPA for alliance-selection “usefulness” can be modeled as normal with minimal accuracy loss.
  • Random DCMP field assignment minimally affects Worlds advancement odds vs. other plausible assignment rules.

Miscellaneous Notes

Last updated: