I changed how the component OPRs are calculated. I am going to give credit to others who first proposed it. What I decided to do is based on
http://www.chiefdelphi.com/forums/sh...65&postcount=3
except I only make that adjustment for surrogate teams only and not DQ'd teams (more on that later). Then I do what Ether suggested in this post
http://www.chiefdelphi.com/forums/sh...08&postcount=5
in order to make it a symmetric positive definite matrix.
I calculated the fouls based on
Foul points = Qualification Average * Number of matches played - Coopertition points - Auto points - Container points - Tote points - Litter points
Based on my testing, if there is no DQ for that event, the sum of all component OPRs is very close to the total OPR, so this is an improvement from before. This is possible now because I can identify easily which are the surrogate teams (negative numbers). However I still cannot identify which teams are DQ'd in which match from the FIRST website. Even if we can, I am still not convinced we can ignore them.
Keep in mind that a new method needs to work for all years and not just for a particular year. Just knowing a team got DQ'd does not mean that team did not contribute to the score unless the whole team got DQ'd and they got 0 points. If just one team got DQ'd. It could mean they were not even on the field or they could have scored most of the points but got a red card. I propose we handle this the same way as before, by adjusting based on scale and shift as described in the following post.
http://www.chiefdelphi.com/forums/sh...97&postcount=5