Why custom metrics#
OPR and EPA give you one or a few numbers per team. But the questions that win a season are specific: "How fast is this robot's coral cycle?" "Can it reliably reach L4, or only L1-L2?" "Does it deep-climb under pressure?" These come from metrics you design around the actual game.
Start from the scoring and the ranking points#
The best custom metrics map directly to how the game is scored and how RPs are earned. For REEFSCAPE:
- Scoring-location rates: avg coral per level (L1/L2/L3/L4) and avg algae (processor/net) per match. L4 (5 pts teleop / 7 auto) and L3 (4 pts teleop / 6 auto) capability separates elite scorers from L1 trough dumpers, even at similar total points.
- Auto consistency: fraction of matches achieving Leave + at least one coral in auto (drives the Auto RP).
- Endgame reliability: rate of successful deep Cage (12 pts) vs shallow (6) vs park (2), and how often a climb attempt fails. Two reliable deep climbs clear the Barge RP (16 pts) alone.
- Cycle time: average seconds per scoring cycle, captured with a QRScout
timerfield, reveals throughput a count-only metric misses.
Derived metrics that beat raw counts#
- Capability vs average: record both the team's best observed output and its average. A robot capable of 6 L4 coral but averaging 3 (because of weak partners or breakdowns) is an elims threat that averages alone hide.
- Conditional rates: "L4 coral per match when the robot did not break" separates mechanism reliability from raw skill.
- Phase-weighted score: weight each action by its real point value (auto coral 3/4/6/7, teleop coral 2/3/4/5, algae 6 processor / 4 net) to get points-contributed in true match units, not arbitrary tallies.
- RP-likelihood scores: estimate how often this robot helps its alliance hit each RP, which is what a strategist actually cares about.
Make metrics actionable, not just measurable#
A metric is only worth collecting if it changes a decision. Before adding a field, ask: "What pick or match-plan choice does this number change?" If the answer is none, cut it, because every extra field slows scouts, bloats the QR code, and raises error rates. Lean forms scan better and produce cleaner data.
Validate that your metric measures what you think#
- Correlate with winning: does your metric correlate with match outcomes or with EPA? A "capability" metric that does not correlate with winning may be noise.
- Cross-check against TBA breakdown: your summed scoring-location rates should reconcile with TBA's REEFSCAPE
score_breakdownfor sampled matches. - Watch for redundancy: if two metrics are nearly perfectly correlated, keep the one scouts record more accurately and drop the other.
The payoff: when two robots have identical EPA, your custom metrics tell you which one deep-climbs reliably and which one only scores L1, and that is the difference between a winning second pick and a wasted one.
the part worth keeping
Key takeaways
- Design metrics from the game's scoring and ranking points: per-level coral rates, auto consistency, endgame reliability, and cycle time.
- Derived metrics (capability vs average, conditional rates, RP-likelihood) reveal elims threats that raw averages flatten.
- Only collect metrics that change a decision; validate them by correlating with winning and reconciling against TBA's score_breakdown.
Scouting & StrategyAdvanced Techniques & Case Studieslesson 3 of 5
Keep going
Take the quiz+10 XP with an accountMore in Advanced Techniques & Case Studies
where this came from
Sources and corrections
This lesson is AI-assisted: drafted from primary sources, then reviewed and edited by hand. Errors still get through. When one is reported we fix it and write down what changed, in public, in the corrections log.
sources and further reading
- firstfrc.blob.core.windows.net2025 REEFSCAPE Game Manual (scoring & RP)
- statbotics.ioThe EPA Model - component & RP EPA (Statbotics)
- github.comQRScout field types (timer, multi-counter)
clipped to this lesson
Articles that go further on this
The lesson gets you through the topic. These go wider on it, and they read in one sitting.
- 7 min readEvery FRC Game by Year: REBUILT, REEFSCAPE, CRESCENDO, and How to Read a New OneWhat REBUILT, REEFSCAPE, CRESCENDO, and past FRC games actually scored, plus the patterns that help you read a new game manual on kickoff day./blogread it
- 17 min readFRC Manufacturing and Fabrication: COTS vs Custom, Tools, Materials, and TolerancesHow FRC parts get made: COTS vs custom tradeoffs, shop tools, 3D printing, materials like 6061 and 7075 aluminum and polycarbonate, hole/tap standards, and tolerances./blogread it
- 19 min readWhat Is Statbotics? FRC EPA (Expected Points Added) ExplainedStatbotics explained: what EPA (Expected Points Added) means in FRC, how it's calculated, how EPA compares to OPR, and how to use it for scouting./blogread it
answer sheet
Lesson quiz
All 3 right completes the lesson. Miss one and only that question comes back, anything you already answered correctly stays banked.
0 of 3 answered
01What makes the best custom game-specific metrics?
02How should you apply the 'capability vs average' derived metric to a robot?
03To keep metrics actionable rather than just measurable, when should you add a new field to the scouting form?
Answer every question to submit.
All 32 lessons in Scouting & Strategyopenclose
01 / prerequisites
02 / scouting-fundamentals
03 / building-a-scouting-system
04 / data-analysis-tba-statbotics
05 / strategy-picklists-and-match-play
06 / worked-examples-and-mini-projects
- Not read yet:Project 1: Configure a QRScout Form for REEFSCAPE
- Not read yet:Project 2: Compute OPR by Hand, Then in a Spreadsheet
- Not read yet:Project 3: Pull Live Data with the TBA and Statbotics APIs
- Not read yet:Project 4: Build an EPA-Component Robot Ranking Sheet
- Not read yet:Project 5: Assemble a One-Page Pre-Match Prep Sheet
07 / common-mistakes-and-troubleshooting
08 / advanced-techniques-and-case-studies