Skip to content
Scouting & Strategy·Lesson 30 of 32

Designing Custom Game-Specific Metrics

Generic OPR/EPA cannot answer game-specific questions; learn to design metrics that capture what actually wins a given season.

Sign in to track progress, earn XP, and save lessons.

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 timer field, 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_breakdown for 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.

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.

Lesson quiz

Required

Answer all 3 questions correctly to complete this lesson.

1.When designing a custom game-specific metric, why is OPR (Offensive Power Rating) often preferred over simply averaging a team's raw alliance scores?

2.Mathematically, how is OPR computed from a set of match results?

3.A key reason the OPR/calculated-contribution approach generalizes well to custom game-specific metrics is that it works for:

Answer every question to submit.