How the APEX model works
A team's APEX rating estimates how many points they are expected to contribute above an average team, adjusted for opponent strength, alliance partners, event difficulty, and recent performance.
Experimental, AI-assisted analytics
FRCinsights uses AI-assisted experimental analytics. Predictions, rankings, ratings, and insights are not guaranteed to be accurate and should not be treated as official results or professional advice. Data may be incomplete, delayed, miscategorized, or incorrect. FRCinsights is a new project under active development, and accuracy will improve over time.
The core idea, in one sentence
Take everything a team has done this season, figure out how hard it was given who they played with and against, weight recent and high-stakes matches more heavily, and express the result as a single number: expected points contributed above average.
What's new
Latest model update · APEX 0.4.0
Ratings that match a team's most recent event, plus live updates
APEX 0.4.0 · released July 7, 2026
A team's main APEX score now reflects their most recent official event instead of a season-long average, small and noisy playoff appearances no longer swing ratings, and the site updates in near real-time while events are happening.
Your APEX now reflects your latest event
A team's main APEX ranking now reflects their most recent official event. You may have noticed teams like 1690 showing a super high APEX because they didn't play an official event until championships, which made their season score look extreme compared to everyone else. Now the headline number follows current form, so a strong championship run shows up right away.
Fewer surprises from short playoff runs
A handful of playoff matches or a quick appearance in a very tough field (like Einstein) used to move a rating too much. Those small samples now count less, while a team's full event still counts in full. The result: ratings are steadier and less thrown off by a few high-pressure matches.
Einstein counts, but won't tank a strong division
The Einstein finals still count toward a team's overall season picture, but a team's championship division result stays their main recent event. That way a few finals matches can't drag down an otherwise strong showing.
Offseason events are off by default
Casual offseason events are left out of the main rankings by default, since relaxed play doesn't reflect how teams really stack up. You can turn them back on with a toggle whenever you want.
Near real-time during live events
While an event is happening, results and insights update about every 2 minutes instead of every 20. Matches that are already finished are saved and not re-downloaded, so only new results are pulled and updates stay fast.
Everything agrees now
The league strength chart, the rankings, and the top-teams lists all use the same latest-event APEX, so a team's strength looks the same no matter where you see it on the site.
What goes in
The model blends many signals. None on its own tells the whole story, the rating comes from how they fit together.
Component ratings
Offensive rating
Points a team adds through scoring, above an average robot.
Defensive rating
Estimated from how far below expectation each team's opponents scored, split across the team's alliance and adjusted for sample size. Labelled as an experimental estimate.
Auto rating
Expected contribution during the autonomous period.
Endgame rating
Expected contribution from endgame and climb tasks.
Every metric, explained
What it means · how it's calculated · what feeds it · when to trust it.
The adjustments that matter
Partner & opponent adjustment
Your numbers are corrected for the strength of who you played with and against, so easy schedules don't inflate ratings.
Event strength context
Event pages show how strong the field is, so users can compare raw event results with the level of competition.
Current-form ranking
The main rankings use a team's latest official event APEX first, which better reflects the version of the team playing right now.
Playoff and Einstein inclusion
Playoff matches and Einstein matches count in the model, while tiny samples are pulled toward the team's season baseline so one unusual run does not dominate.
Handling missing & messy data
- Missing breakdowns: overall APEX can still use final scores, while phase ratings show less detail until official score breakdowns are available.
- Tiny samples: ratings are pulled toward the mean until enough matches exist, preventing wild week-1 swings.
- Small playoff samples: a short, highly competitive run is blended with the team's season baseline instead of taking over the ranking by itself.
- Delayed data: stale values show an older "last updated" timestamp and reduced confidence.
How confidence scores work
Confidence (0–100) combines several factors: sample size (more matches → higher), data completeness and source agreement, recency (fresher data → higher), and schedule diversity. Low-confidence outputs are labeled, not hidden.
How predictions are tested
Every completed match feeds an audit comparing predicted vs actual winner and score. We track winner accuracy, average score error, and confidence calibration: whether a stated 70% really wins ~70% of the time. See the full Accuracy Report →
Avoiding overreaction
The model uses recency-weighted averaging with regression to the mean and outlier damping. One blowout win or a broken-down match nudges a rating slightly rather than rewriting it, so APEX tracks genuine improvement without chasing noise.
Future REBUILT scouting metrics
Definitions, not active public team ratings yet.
These are the kinds of game-specific scouting fields FRCinsights plans to support when the data is reliable enough to show on team and match pages. They are not currently used as standalone public rankings.
| Game Piece Throughput | Average game pieces scored per match. | Estimate |
| Auto Reliability | How often the autonomous routine executes as intended. | AI-assisted |
| Cycle Time | Average time for one acquire-and-score cycle. | Estimate |
| Scoring Accuracy | Successful scores divided by attempts. | AI-assisted |
| Preferred Scoring Location | Where the robot scores most often. | AI-assisted |
| Driver Efficiency | Path efficiency and decision quality under pressure. | AI-assisted |
| Defense Resistance | Ability to keep scoring while defended. | Estimate |
| Endgame Reliability | How often the endgame objective is completed. | Estimate |
| Ranking Point Contribution | Estimated RP this team helps its alliance earn. | AI-assisted |
| Penalty Risk | Likelihood of incurring fouls (lower is better). | Estimate |
| Alliance Role Fit | Best complementary role on an alliance. | AI-assisted |
The data pipeline
How official FRC results become ratings.
- 1
Fetch
Pull raw events, teams, matches and score breakdowns from public APIs.
- 2
Validate
Reject malformed payloads, flag missing fields and duplicate keys.
- 3
Normalize
Map every source into a single internal schema for teams, events and matches.
- 4
Categorize
Split score breakdowns into game-specific phases (auto / teleop / endgame).
- 5
Compute Metrics
Derive APEX contributions, consistency, momentum, schedule difficulty, etc.
- 6
Assign Confidence
Score each output by sample size, data completeness and recency.
- 7
Store
Cache computed outputs so pages render instantly without recomputation.
- 8
Display
Render with provenance labels, freshness timestamps and uncertainty.
FRC knowledge the model assumes
Qualification matches
Randomized round-robin matches that set the ranking order.
Ranking points
Bonus points for wins, ties, and meeting game objectives, separate from match score.
Alliance selection
Top-seeded teams draft partners to form playoff alliances.
Playoff brackets
Double-elimination bracket that decides the event winner.
District vs regional
Districts use a cumulative points system across events; regionals advance winners directly.
District points
Points earned at district events that determine district championship qualification.
Championship divisions
Large championships split teams into divisions that feed a final playoff.
Strength of schedule
Some teams simply draw harder partners and opponents, APEX corrects for it.
Coopertition
Game-specific incentives that reward both alliances for cooperating.
Auto / teleop / endgame
The three scoring phases, each modeled separately.
Fouls & penalties
Rule violations award points to the opponent and add noise to raw scores.
Surrogate matches
Extra matches that don't count toward a team's ranking.
Backup robots
Substitute robots called in during playoffs, flagged so stats aren't misattributed.
Event advancement
How teams progress from districts to district champs to worlds.
Season improvement
Teams iterate their robots across weeks; recency weighting captures it.
Raw score vs true contribution
A high score can come from strong partners, APEX isolates a team's own contribution.
A note on honesty
APEX is an original model built for FRCinsights. It is not affiliated with, nor a copy of, any other analytics provider. It runs on real official FRC results, and ratings are estimates, they describe expected performance, not certainties.