Skip to content

Understanding OPR, DPR, and CCWM

learnfrc.com
learnfrc.comAuthor
Veer Bajaj
Veer BajajMaintainer

OPR (Offensive Power Rating) estimates how many points a team contributes to its alliance on average, using only final match scores and the schedule. Its key assumption (from The Blue Alliance’s Math Behind OPR): an alliance’s score is a linear combination of its three members’ individual contributions. So if teams A, B, and C scored 50 together, that becomes one equation A + B + C = 50.

Across a whole event you get many such equations, usually more equations (matches) than unknowns (teams). That is an overdetermined system with no exact solution, so OPR is computed with the least-squares method , which finds the per-team values that minimize the total squared error across all matches. More matches give the solver more equations to work with.

Two relatives are computed the same way:

  • DPR (Defensive Power Rating) runs the same math as OPR but on the opposing alliance’s score, so it estimates how many of the opponents’ points get attributed to a team. That means lower DPR is better (the team is associated with holding opponents to fewer points) and a high DPR is bad — the opposite of the intuition the name suggests. Treat it with heavy skepticism regardless: DPR is a notoriously weak defense proxy that mostly reflects who a team happened to be scheduled against and statistical noise, not real defensive skill. Judge actual defense by scouting, not by DPR.
  • CCWM (Calculated Contribution to Winning Margin) equals OPR minus DPR , an estimate of net contribution to the score difference (how much a team helps you outscore the other alliance).
  • Free and automatic. TBA computes it for every event with zero scouting effort.
  • Year-agnostic. Because it only needs scores, OPR works for almost any season.
  • A useful first cut. A team’s OPR is a quick estimate of offensive strength and a sanity check on your scouting.

The Blue Alliance’s own OPR and You article is blunt about one core weakness, and the wider FRC community has documented others:

  • Linearity breaks down. “The more the actual game deviates from the linear model, the less accurate OPR usually is.” Many games have non-linear scoring (bonuses unlocked at thresholds, or actions that require all three robots), which violates OPR’s core assumption, so its predictive accuracy varies a lot year to year.
  • It can mis-credit. When robots interfere with each other or strong robots mostly play with strong partners, the math can spread credit in misleading ways, especially with few matches.
  • It ignores defense. OPR is built purely from points scored, so a robot playing aggressive legal defense (which can suppress an opponent’s score substantially) gets no credit in OPR. This blind spot is one of the most-cited reasons OPR cannot stand alone.

The community rule of thumb is exact: per OPR and You , “OPR can always supplement, but never replace, proper scouting.” Practical guidance:

  • Use OPR to rank-order offensive output quickly and to flag teams your scouting might have missed.
  • Before trusting it, remember the two assumptions baked into OPR: that scoring is roughly linear (each extra game piece is worth about the same), and that team contributions are independent — meaning a team scores about the same no matter which partners it is placed with. That second assumption is the one that breaks in practice, because FRC is a team game: defense, only one robot being able to use a scoring location at a time, field or resource contention, and robots that only shine next to a specific partner all make contributions depend on the alliance. The more a given year’s game rewards those interactions, the less OPR captures — so weight it less and scout more.
  • Always pair it with scouting for anything OPR cannot see: defense, reliability, consistency, and endgame success rate.

In short, OPR is a powerful, free starting point and a great cross-check, but it is an estimate built on an assumption that does not always hold.

  • OPR estimates per-team scoring contribution from scores alone via least-squares, using more matches as more equations.
  • CCWM = OPR − DPR (net contribution to winning margin); DPR is a rough defense proxy computed from opponents’ scores.
  • OPR assumes linear, independent scoring and is built only from points scored, so it supplements but never replaces scouting.

This lesson was adapted from learnfrc.com.