How are OPR and DPR calculated?

so apparently, our team got the 2nd highest CCWM at vex 2019 worlds. im pretty happy about that but i have no clue what that actually means. I tried looking into to it but the only link i found doesn’t exist anymore. only thing I know so far is that CCWM = OPR - DPR but nothing else.

here are our other stats:
https://vexdb.io/events/view/RE-VRC-18-6082?t=rankings&d=Research

so basically im just wondering what factors are taken into consideration when calculating OPR and DPR (wins, loses, ties, match-up? or sp) cause it would be handy to know going into my last year of vrc.
for the last few years they just seemed like random numbers to me

4 Likes

not a vex forum post, but has some valuable information

2 Likes

Don’t know if this is accurate to the system used on vexdb but it might help.

https://blog.thebluealliance.com/2017/10/05/the-math-behind-opr-an-introduction/

2 Likes

Essentially, OPR is a metric of your ability to positively contribute to your alliance score. It’s calculated by creating a huge system of equations, two for each match (one per equation per alliance)

For example, a match with 123A (red), 123B (blue), 456X (blue), 673X (red) where the score was 12-15, the following equations would be added

123A + 673X = 12
123B + 456X = 15

Repeat that procedure for every single match in the competition, and solve the system of equations. The value of your team is your OPR

4 Likes

Is it roughly the same for DPR?

Here’s that PDF on the wayback machine.

5 Likes

Are these scores only calculated for FRC?

They were originally developed by FRC teams but nowadays these stats get calculated in VRC all the time; VEX Via and VexDB both calculate OPR/DPR/CCWM automatically for every tournament.

3 Likes

DPR is similar, but it’s based on how many fewer points your opponents scored when you played against them.

3 Likes