![]() |
Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
3 Attachment(s)
5:42 EST (v2): Updated with more DLLs in the binary zip which will hopefully allow it to work.
6:27 EST (v3): Updated with sorting and a reduction in verbosity. I've spent a bit of time recently cleaning up my offensive power rating code and adding a few new features that I felt would be useful this year. The application is attached, as is the source code. Features: 1) Automatically downloads current results from usfirst.org, parses them, and outputs the results, with only 3 parameters from the user (which regional, which year, and which statistic you want) 2) Three statistics: Offensive Power Rating, Defensive Power Rating, and Estimated +/-. The +/- is simply the OPR minus the DPR. It may or may not actually be useful (or correct!). 3) Easy to use, by my standards. Just double click, enter the parameters it asks for, and it'll download match results itself. Can also be run from a script with command-line parameters for people that want their statistics automated. 4) The parsing code is written so it can be used before a regional is complete. Obviously this reduces the accuracy of the outputted stats, and it doesn't even work before each team has played 2-3 matches. But this can be useful for the friday-evening scouting meeting to pick out diamonds in the rough. Disclaimers: 1) There are people that don't believe OPR will be useful this year. I disagree with them, but keep that in mind. 2) OPR does not indicate just a robot's performance, but a whole team's performance. If a team has a weak robot but a stellar human player, they might still have a high OPR. 3) Having a high OPR in this game means very little without also having a low DPR. If you score 80 points in a match but always give away 100, you are not useful to your alliance. 4) I don't know how accurate the +/- stuff is, it is a result of me playing around. Hopefully some teams out at regionals right now can compare with their scouting data and give feedback. Interpretations: A high OPR might indicate: -A robot that is very effective at getting balls into enemy trailers -A HP that is very effective at getting balls into enemy trailers -A robot that does the grunt-work at supplying empty cells so that its alliance can always score a couple super-cells -Any robot that just 'greases the wheels' of its alliance, resulting in higher scores A low OPR (yes, it can even be negative) might indicate: -An otherwise good robot that takes a lot of penalties -A robot that simply doesn't score much -A robot impedes its alliance-partner's progress at scoring A high DPR might indicate: -No-shows or broken robots that spend whole matches with a stopped trailer, thus getting filled up -Robots that tend to get into positions where they get scored on -Robots that tend to get their alliance partners into positions where they get scored on -Robots with no auto mode -Generally, high DPR means low mobility. It is a robot that gets scored on a lot. A low DPR might indicate: -A mobile robot that can effectively keep its trailer out of trouble -A lucky robot Really, I should have called DPR something else, because a high DPR actually means you're very bad at defending your trailer. Without further adieau, the attachments: |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Sounds interesting. Before I download, what did you compile it with and for what platform (Windows XT I assume)?
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
I got this error :
This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Try grabbing the Visual Studio 2005 redistributable: http://www.microsoft.com/downloads/d...displaylang=en I'm going to update the .zip with the DLLs I think are necessary, but I don't have high hopes. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Quote:
When I googled them, I found several mentions of people getting that error and solving it by selecting the "Embed Manifest" option when compiling. I don't know whether this correct or relevant. Thanks - Sam Edit: Tried installing the redistributable, made no difference. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
1) The .exe I zipped is the debug version, and so looks for debug DLLs that most people won't have 2) Some (most?) people won't have the VS2005 redistributable anyway. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Next time you do this sort of stuff, PM me so I can develop a mac version alongside yours!
I may try to port this one |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
1 Attachment(s)
Quote:
Edit: here's the math library I used. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Runs on my vista system
Thanks, |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Just posted a v3 revision that sorts the output, reduces how much pre-statistic stuff it spews, and fixes a bug where the command-line version would pause for input.
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
please add a "verbose" option that I can turn off :)
thanks. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Results from Jersey below (go 1923!!) :
Code:
OPR 1923 31.6079Code:
DPR 136 32.7112Code:
PlusMinus 1218 24.2442 |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Also, can you reverse the sort on DPR? (since lower is better, they should be at the top of the list)
great work, thanks. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
This is pretty cool. I'm debating whether or not to use this or the matrix system I spent the last couple weeks setting up. I guess depending on the delay, doing it by hand is probably faster though, even if it is a pain. Anyway, seems to work fine on my vista system, and I didn't have to compile it with the SDK or anything. One question, though. Is it supposed to close after you enter a command after it gives you the requested stats?
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
yes
you're supposed to run it from a terminal, so the window doesn't close. if you run it from a command line, then you can give it the parameters all at once as well. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
if(!fRunWithoutCommandLineParameters) { int a; cin>>a; } |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
My friend and I were talking, and if you use the match points from the opposing alliance in the calculation, you can find the approximate number of points scored ON a robot during matches. Could be useful this year.
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
1 Attachment(s)
Hello,
Using v3 worked for me earlier, but I now have a new problem. Running Quote:
Quote:
Thank you, - Sam |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Thanks for the bug report though! |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
I'm currently "evaluating" this app for it's effectiveness with some very positive findings. The one thing that I would really like to do is to "export" the output into an Excel spreadsheet for ease of viewing offline. If I am not mistaken, the results are only sent to the screen. Is there a way to have them go to a ".csv" file, or some other format that can easily be opened in Excel?
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Code:
oprnet (regional code) (year) (stat) > blah.csv |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
By the way. I am currently running this on a Vista x64, quad core system with 8GB of ram. It absolutely rips! No mods were needed what so ever to get this running. THX!! |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
2 Attachment(s)
Quote:
Also, v4 is done. Changes: -DPR is now called SAA for 'scores against average' to make its name more line up with its values -You can now choose to sort by team. Command-line looks like this: Code:
oprnet il 2009 opr t-Command-line users can now append a 'q' to completely suppress all non-error messages. For example, this: Code:
oprnet il 2009 opr r q-Sorting for SAA/DPR is now reversed, so that the 'best' values come first. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
This just keeps getting better and better.
It looks like the SAA/DPR still sorts with the highest number on top (which ismost points scored against, right?) |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
I'm running on a mac, is there any way that someone could run the app with the numbers from this week's regionals, export to Excel, and post the results on CD? I loved the OPR last year and it was very useful IMO. Thanks Bongle for making it even better this year!
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
1 Attachment(s)
Here are OPR for the events that do have match results posted; a zip file of Team, OPR, SAA, and +/- (tab delimited for easy excel import).
each event is a separate text file. I wrote a script that will generate these txt files on the fly in autohotkey. I can post (more or less uncommented) code if anyone wants. This was made using v4 of OPRNet (yay for the new 'quiet' feature.) |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
I can tell you that we did this in 4 of our 7 Q-matches. And it got us the highest RS of all the 2 loss teams and allowed us to be seeded 4th. Without this strategy we would not have gotten to pick 1625 and and probably not have won the regional. In one case we stopped scoring for ourselves with 30 seconds to go and scored about 40 points for the other alliance. So that also lowered our OPR a little bit. I think many the good veteran teams did this to some extent. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
1 Attachment(s)
I guess this is up to v5 now. The only difference of any substance is the new prediction feature. Basically, this uses the OPRs computed so far to predict the remaining matches at a regional, and prints out the simulated rankings afterwards. If all the matches have been played, it does a self-analysis to see how accurate it would have been. Based on this, I can say that it is about 65-70% accurate when predicting after 40-50 matches, though this seems to depend heavily on the regional. It is much better at predicting GTR 2008 (80%) than it is predicting DC 2009 (55-60). Still, it is generally a good bit better than a coinflip.
Command-line is: Code:
oprnet <regional> <year> predict <sort style> <quiet flag> |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
I also noted that Excel sorted it backward. In other words, the highest ranked team was listed last.Again, this is no big deal and can easily be dealt with. I'll test more to see if I can get Excel to import it in reverse sort order. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Any OPR listing for BAE regional?
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Any chase you can have it run a full report, something like:
Code:
il 2009 opr saa pm t > blah.csv-Oris- |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
1 Attachment(s)
attached is a Autohotkey script I wrote (compiled and main source) that grabs every event in the eventlist.txt file, and makes a .txt file of the results. The result file is already arranged as they will be in the "all" option.
Thanks for the continued updates. Any way you can grab data from TBA when First's rankings aren't available? I guess you would need a lookup table from (year,event) -> TBA eventID. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Am I correct in assuming that each of the following should be sorted (best -> worst) like this:
OPR: High (best) -> Low (worst) SAA (DPR): Low (best) -> High (worst) +/-: High (best) -> Low (worst) If I am right, it seems that V5 sorts them wrong, sorting all categories as low -> high |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Being that this app is dependent on FIRST updating their postings accurately and in a timely manner... In the odd situation where there would not be access to that data (ie. no wifi available at the venue) or when FIRST has not updated it completely, is thee a way we could create our own file containing all the match scores and teams in each match from regional we are interested in and then have OPRnet point to that data source? |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
I'll see about adding a TBA parser (it'd be pretty nice because TBA uses the same formatting for each year, unlike FIRST), but it looks like it'll be pretty annoying owing to the fact that TBA doesn't use the FRC acronyms for events so I'd need a big mapping from (year,event)->(tbaID). Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Also, since the scores are getting sorted anyway, could you add an actual number rank (ie highest opr would be 1, next would be 2, etc.)?
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
2 Attachment(s)
v6:
-Sorts OPR, SAA, and PMs in a more logical manner -New 'all' statistic type that prints out OPR, SAA, and PM in a table. Different output for the console window versus command-line running so that you guys running it for excel will get your tabs, while the console-window people will still be able to read it. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Looks good...
When you try the following the Pos is just in numerical order: Code:
OPRNet.exe il 2009 all t q > all.txt-Oris- |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
When I sort +/- by rank, the highest ranked team is rank "0" rather than "1"
Edit: Also, it would be nice to be able to sort by team, but still see what rank the teams are when sorted by rating. Ie. Sort by rating first to get a rank value for each team, then resort by team number. I know its not really necessary if you just take the data and put it in excel, but it would be nice for the program as a stand alone. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Bongle -- do you mind if I port this over to Java? I want to try to get a real-time OPR Scoring program working by the time Atlanta rolls around.
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
I have a general question that I would love for you all to consider. I am a firm believer in the OPR/DPR concept, and included it in our team's scouting application. But what I found was that in this game, ALLIANCE data in a match is not that helpful. If a really good team has an alliance with two essentially non-functional robots in 2 or 3 of your matches - the numbers look terrible for that team. A case in point, 234 (Cyberblue) at the DC regional - if you look at the OPR numbers for them, they are in the middle of the pack. Our scouting team did NOT look at the alliance data this year. I had scouts answer the following questions:
1) How many MR did they place in a trailer (including their own in the event they were trying to avoid the penalty) 2) How many MR were in their trailer (by either the opposing alliance, or the HP) 3) How many EC did they deliver to be exchanged with a SC I then calculated the OPR and DPR on those stats. In my example above, regarding 234 - they jumped from middle of the pack, to essentially the same level as 45, which is where they should have been ranked. Any one else looking at TEAM OPR and DPR, and if so, how are you doing it, and what were your results like. By the way, when I looked at the predictive nature of the values we calculated, we were right in our predictions more than 85% of the time. Only something like "forgetting to turn on the radio" or some such issue would throw off the results. Best regards, Steve |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
If only we could have some kind of "fluke" marker that we could place on team's whenever they behave inconsitently. I don't know your algorithm, but maybe it could treat a fluke robot performance as a no-name default robot that performs at the low level it does.
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Surprisingly, I got alot of the backbone of the porting done last night. Luckily Jama makes a Java library as well. I may have a first pass at it completed by the end of the weekend. All I have to do is figure out this silly URL issue...
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
I'm working on a MATLAB version since last night and the math is all working IF you input the data (copy from FIRST to Excel then to MATLAB, really easy but cumbersome). Coding to parse the results from FIRST's website is going to take the full weekend, I believe. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Better idea, if you're not already committed to scraping from FIRST: scrape from TBA - they use the same style for all events, all years. Your program would be able to run OPRs all the way back to 2006. Edit: Speaking of parsing, I notice that the prediction code doesn't work with a regional underway. I'll have to look at that tonight (I wasn't able to properly test it since all regionals were done when I initially wrote that feature). |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
1 Attachment(s)
Quote:
As a professor used to say, there are always at least two ways to solve a problem. More often than not, the easy ways are not correct and the correct ways are not easy. We chose easy, so eventually it will come and bite us. I used TBA data so you can get stats for events from 2006 to 2009. It's nearly impossible to obtain a 2007 event matrix that's not ill-conditioned - I believe it's due to FIRST's awful alliance sorting algorithms from that year, but have not looked into in detail. In short, OPR for 2007 will not work. If someone is feeling reminiscent this days, please take a look. Here's the code, just run OPR from MATLAB's command window and ask for what you want. The script returns three arrays containing ranked OPR, DPR (or whatever you might call it) and +/- stats for that particular event. I have tested it with several events, but bugs may arise. Please test and let me know. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
In 2006, 2008, and 2009, a robot that did <game action> 5 times in each match generally generated the same number of points. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
2 Attachment(s)
It doesn't seem to matter how I redo the matrices, nor whether I use LU or QR decomposition, I keep getting these numbers and they don't match up with the OPRNet.exe data:
My Output Code:
Washington DC RegionalCode:
Solve complete.WARNING: Attachment has some gui bugs. It also creates temp files for every regional/year, so I'd recommend putting it in a folder on its own. It also requires Java 1.6 since it does some neat enumeration and comparator stuff. To run it, just double-click it. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
M:
Code:
14 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0Code:
310Code:
1915 |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
I also find it easier to work with the team list sorted from low to high. For instance, with your numbers, I had to sort, transpose, and sort again to match mine. Let us know when it's fixed! :D |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Thanks for the find, it's fixed! |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
2 Attachment(s)
Here's the top 25 from Week 1 & 2:
Code:
01. Team 0071 W:7 L:0 OPR:63.55 DPR:13.69 PMR:49.86There's still a couple of bugs, but I'm working on it. === updates === Now attempts to parse data from multiple sources until it gets valid data, in this order: 1.) local html file, 2.) usfirst.org, 3.) tba.net Buckeye data isn't up on USFIRST or TBA, sorry You now have the options to show only the regionals up to a given week You can now rank all teams against each other for the full season (will be fully tested in week 3 when several teams do their second regional) More to come; most of the methods and classes are setup for easy code reuse. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Hmm...not many of the top 25 listed are shooters?
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
This just goes to show you that top OPR isn't everything when it comes to winning the big matches (though it definitely helps). And when running some extra stats, I just noticed that 2753 has completed 2 regionals but only has OPR data for 1 regional... hmm... that's the first thing to fix! The second thing is to refactor the gui and omi into two separate threadpools so it doesn't lock up when you push the 'print' button. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Regardless of what it is sorting by this category results in 3 of the top 5 being regional winners and 5 of the top 7. Here are the top 25 by PMR: Code:
01. Team 0071 W:7 L:0 OPR:63.55 DPR:13.69 PMR:49.86 |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
The lack of correlation between OPR, DPR, and winning a regional is at first surprising. But if you step back and look at how several regionals have been won so far this year, teamwork and strategy seem to be the common theme.
I believe that in Lunacy, the strength of an alliance is not defined strictly by the sum of its parts. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
CCWM = Caclulated Contribution to Winning Margin aka PlusMinus Rating, i.e. different calculations to arrive at the same solution. I think you want a high OPR for a first round pick, then a high CCWM for the second round... that is, if you want a high-octane, excitingly offensive alliance (which is my preference). |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
It ends up with a 2N x 2N matrix (for a regional with N teams) sum[team's scores] = weighted sum of OPRs of alliance members minus weighted sum of DPRs of opponents. At first I thought that it would be unsolvable (each equation has 6 unknowns, and you'd end up with 2N unknowns and only N equations), until today I had the fairly-obvious brainwave that each match would give you two equations (one OPRred - DPRblue = scorered for red, one OPRblue - DPRred = scoreblue for blue). This approach seems like it would be more predictive of robot performance than simply doing OPR and DPR separately*. I'm going to try to implement it tonight, but if someone wants to try it themselves and report back, that'd be great. *The problem with the current approach to OPR and DPR, especially in a game like lunacy, is that they assume that a alliance's score comes ENTIRELY from its teams' offensive powers, or ENTIRELY from its opponent's lack of mobility. This proposed new equation seems like it would balance the two, and hopefully give more accurate results. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
If we look at the system of equations to calculate OPR, it is A * OPR = B(opr) and the system of equations to calculate DPR is A * DPR = B(dpr) The way I solve for CCWM is A * CCWM = B(wm) = B(opr)-B(dpr) A is the same matrix for all 3 systems of equations. I put the winning margin into vector B which is the same as vector B for OPR minus vector B for DPR. Hence the results of CCWM and +/- (PMR) should be identical. Thanks for confirming it Jesse. I never tried it myself. Regards, Ed Law |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
I referenced your work in my white paper. I didn't realize you are mentoring Team 2702 now. I still associated you with Team 1281 in my presentation. I will update it. I really like your insight/explanation how to interpret these rating numbers. I want to discuss with you about correlation between OPR and CCWM/PMR. I think we both agreed that it changes from year to year depending on the game. One way, as you suggest in your post, is to see whether the teams that were alliance captain or got picked and went to the elimination round have higher OPR rankings or higher CCWM/PMR rankings. This will tell us whether teams value pure offensive power or contribution to winning margin when they select teams. Perhaps we should exclude the alliance captains when we do this comparison. Another way to look at correlation is how "predictive" the two different ratings are to outcome of elimination round matches. I did a study of the prediction of match results using OPR and CCWM. Through the first two weeks including those events that have complete data published, in the elimination round, the prediction using CCWM is 59.5% and using OPR is slightly better at 63.6%. One reason the correlation is not that good is because there were a lot of close matches that could have gone either way. We should be careful not to draw conclusions from just one regional. Each of the two ratings correlate better for some regionals but not for others. Regards, Ed Law |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Some simulation data to come tonight; I have an idea for a quick and dirty Match Prediction method. <edit> Quick match prediction using the formula above for the DC Quarterfinals: Code:
blueScore = blueOPR - redDPR: |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
I think the general consensus in the CD community agrees that OPR should be calculated with qualifying matches only. The extra matches by some teams who made it to elimination round will bias the results if they are used. Ed |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Hey y'all...
Can anyone run the program for the NYC regional and post the results? I reformatted and haven't gotten a chance to install VMWare Fusion on my mac again. Thanks a bunch! Dandon |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Here's the NYC results sorted by +/-
Code:
New York City |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
1 Attachment(s)
Quote:
Anyway, here are my results for the NY Regional: OPR: Code:
1 1155 32.277(and note that now this is how many points on average your presence on an alliance takes points away from the opponent - a negative number indicates you're likely to increase your opponent's score) Code:
1 1862 19.379(just occurred me to calculate that, haven't given it much thought but I don't think it indicates anything) Code:
1 694 58.169 |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Two equations: 1. (Xioblue + Xjoblue + Xkoblue) - (Xldred + Xmdred + Xndred) = Scoreblue 2. (Xlored + Xmored + Xnored) - (Xidblue + Xjdblue + Xkdblue) = Scorered Where ... ............X ..............io (Team i - OPR) ................blue (Alliance) and likewise, id would represent Team i - DPR. You would have to solve for both the OPR and DPR for each team. For the DC regional, which had 65 teams, it would be a 130x130 matrix * {x} = Bio or Bid, which would allow you to then solve for the separate OPR and DPR values. I don't have a good way to parse this, much less see if the results actually mean anything, but the concept came from a friend of mine - Kenneth Massey, who developed one of the BCS algorithms (www.masseyratings.com) so I think it has merit. For the DC regional, I did the following simple calculation to try and get a similar estimated value for how tough the match was: AVG[((TotalMatchPoints/TotalAlliancePoints)*TeamOffensivePoints) + (TeamOffensivePoints – TeamDefensivePoints)] MATCH_ID ALLIANCE_ID TEAM_ID OFF_POINTS DEF_POINTS .....1................1................1.......... ...20...............10 .....1................1................2.......... ...10...............10 .....1................1................3.......... ...15................5 .....1................2................4.......... ....0................10 .....1................2................5.......... ...10...............20 .....1................2................6.......... ...20...............20 Example: Total Match Points = SUM(OFF_POINTS), GROUP BY MATCH_ID Total Alliance Points = SUM(OFF_POINTS), GROUP BY MATCH_ID, ALLIANCE_ID Team 1 ((75/45)*20 + (20 – 10)) = 43.33 Team 2 16.66 Team 3 35 Team 4 ((75/30)*0 + (0 – 10)) = -10 Team 5 15 Team 6 50 Alliance 1 43.33 + 16.66 + 35 = 95 Alliance 2 (-10) + 15 + 50 = 55 Alliance 1/Alliance 2 = 1.72 – Alliance 1 72% stronger |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
I'll try again to implement this new matrix tonight, and I'll plug it into my prediction code to see if it is any better than the more basic OPR/DPR stats. We need to come up with a name for this more-complex stat: how about OPR+ and DPR+? |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Steve |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
This is starting to get seriously cool guys...the Sabremetrician in me is very happy.
How about a VORR stat (Value over replacement robot)? DISS (Defense independent scoring statistics)? Pythagorean W-L expectations? Win shares? The possibilities are endless... |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Steve |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
As for implementation of OPR+/DPR+, how I arranged my matrix was: Odd Rows (for row i): "Team i/2's total score is equal to the weighted sum of the team i/2's alliance OPRs minus the weighted sum of team i/2's opponents' DPRs"
Even Rows (for row i): "Team i's opponents' score is equal to the weighted sum of the opponents' alliance OPRs minus the weighted sum of team i's alliance's DPRs"
For verification, I'm pretty sure that the sum of the absolute values of each row should equal the number of matches that team played times 6. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
I would love to see how you finally implement this, since it is questionable that I will be able to put in my database between now and next weekend, especially since I am using a datawarehouse and a Business Intelligence tool to create the reports. The data interface is still lagging! The methodology you described is exactly what I was looking doing as well, and I believe it has merit! Good luck with getting it debugged! Good luck at your competitions! If anyone else is working on these concepts, and will be at the Chesapeake Regional next week, I would love to chat with you there! Steve |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Steve |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
Steve |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
With v6, I was not able to get predictions for the Los Angeles regional (CA). Am I doing something wrong, or did is something on FIRST's side screwy?
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
1 Attachment(s)
Quote:
Edit: v7 now up. The only external improvement (I think) is that predictions are fixed and now work mid-way through a regional. Edit2: Fixed a parsing issue with single-digit teams. |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
I m looking into giving it a run offline option (-o) in case there is no internet publically available at the Philly regional. I am thinking about saving all the html results files in a local directory structure (instead of the temp file). That way on Sat I can update the html file by hand and keep re running the calc. I am not sure if I will have time to get this working or not Thanks, Brian |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
1 Attachment(s)
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
1 Attachment(s)
Quote:
Usage: cmd line: perl scouteval.pl {qualmatch}.txt ---- which will create a file called results.txt, and where {qualmatch} is the file created from the usfirst match results page, copied into a text file. Then use whatever software you use to solve the matrix for the team OPR+ and DPR+ values. The OPR+ and DPR+ values (sorted by OPR+), as calculated for the DC regional, is as follows: Code:
Team Number OPR+ DPR+We are working to automate the process. Let me know what you think! Steve |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
I get this error when I run Oprnet on some regionals. (BAE for one) I know Peachtree and SanDiego work, but haven't found others that do yet.
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
|
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
Quote:
The format for a line will be something like REG_CODE,MATCH_NUM,RED_1,RED_2,RED_3,BLUE_1,BLUE_2 ,BLUE_3,R_SCORE,B_SCORE Where REG_CODE is the usfirst.org regional code. There will be 1 line for every match at every regional (roughly 48*76 = 3648 lines). Once the matches are verified I'm also going to put in a new 'feature' that writes the parsed lines directly into the Java source code for the next time the code is compiled (which is often for me since I use a similar program to do my Fantasy FIRST picks). The order it will check for valid data is source code --> local parsed file --> local html file --> usfirst.org --> tba.net ... and it will go until it finds valid data. Buckeye data still isn't up though, so I wonder what we'll have to do to get those scores :confused: Then, eventually I'll put a scouting layer on top of that so you can input data into it at a regional. Then, I'll make a simple version of this input, so someone can input it via PDA, iPhone, or whatever other touchpad technology comes available. This part won't happen publicly till the offseason though. I've been away from it for a few days since I was at the FL regional, but now it's back to work to have it done in time for Atlanta. -- edit -- Ooh and a w00t to Greg Marra and crew for simplifying the tba.net urls for each regional and year! |
Re: Easy to use Offensive Power Rankings (OPR) program for mid-regional scouting
1 Attachment(s)
I ran through all the regionals that worked (three didn't) and put each one on a spreadsheet. I also combined tham all into one sheet (master). hope this is useful to teams.
|
| All times are GMT -5. The time now is 00:38. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi