PNW District Ranking System Website

I just put in the results for Oregon awards and they should now be accounted for. There was an issue with the upload at the event, so I had to wait until I received them in an email.

Thanks for the awesome website skunks. It takes all the work out of the district model. We quickly know right were we all stand, very convenient! :] See you in Portland (I hope).

Paul and Alex did all the coding, they deserve the thanks. I’ll see you in Portland either way :slight_smile:

Where does the alliance selection order come from?

I get it from the FTA’s at each event. (As you probably know, there is no public posting of rank order by FMS)

There was some discussion on teams opting out of doing a third district event.
I know that our team considered this before the season and made a conscious decision to try and get students and mentors to events as volunteers (primarily video crew) rather than try and get the whole team to another event.

This is the first year of districts and we felt that support of the entire system was more important than getting another “practice” in.

A secondary consideration was the possibility of taking away points from other teams that were competing in one of their districts that “counted” for them.

I think we need to take a look at that. If our team competed in a third event and we were lucky enough to do well or to win an award, the points we scored that don’t count for us are points that a team participating for the 2nd event would not be able to get.

Yes it would be a benefit to get another practice in but at the expense of allowing other teams to get points for District qualifications.

It think this issue needs to be addressed next year. I, for one, would choose to remove 3rd play teams from the elimination rounds and also not allow them to win awards at their 3rd play. I know this seems radical but I think it is the only fair way for teams to advance to district championships.

I am in NO WAY berating teams that have chosen to do a third play this year under the rules we are playing. I am only suggesting that we need to think this through next year.

For many teams that do not have a history of success, they will see the stronger teams coming in to play for a third time as taking away their chance to score points. If we are doing it for practice… then just do it for practice…

Good luck on the fields!!

A partial fix may be to exclude 3rd play teams from winning judged awards, or alternatively finding a way to eliminate the “optional” element by having 3 events per registration and have all the points count.

I make no claims as to how easy logistically or financially the second idea would be.

It is important to understand the reasoning for 3rd plays in the district model. Michigan has been developing and using the district model for over 5 years, and none of the decisions about how the district system works have been made without significant discussion and statistical analysis on impacts to how points are distributed. There is room for discussion and adjustments in the future - but we ought to start out with a common understanding of why things are the way they are.

First - 3rd plays are not for the sole benefit of teams that decide to take them at the cost of teams who happen to attend the same event, they exist for two reasons:

  1. To increase participation, rather than let vacant spots go to waste.
  2. To make district events fair by making sure all events have the same number of teams in attendance.

The fairness of 3rd plays has been brought up and discussed throughout the development of the district model, when it began as FiM. Jim Zondag was heavily involved in the development, and addressed many common questions last year in an FAQ, including this one - it is well worth a read. I’ll include Q10 for easy reference:

Q10: “Why do you allow some teams to play a third district, isn’t this an unfair advantage?”
A10: One of our primary goals is to increase FRC team participation wherever possible. In pursuit of
this goal, we feel that offering vacant slots to teams who want them serves the goals of FIRST and FiM
better than leaving them empty. While this does give additional playing time to some teams, all teams
who wish to play at an additional event are free to enroll in the annual lottery for these available slots.
All teams have equal opportunity for these lottery slots.
Also, if we left these spots empty, we would be giving additional advantage to any team attending a
partially unfilled event. Mathematically, the system is fairer overall if the events are all fully attended.
We want all events to have the same statistical significance in our system.
We add events in units of 40 slots. Growth forces us to add events each time we add 20 new teams.
Usually the number of teams/40 leaves a remainder of 15-20 spots open. We prefer to fill these for
event balancing.

Third play is also not intended to constitute a significant portion of available spots - if the right number of events are available for the teams in the district, only a few spots should remain (1-2 dozen, ideally - roughly 5%), instead of the ~16% remaining in PNW after second registration. And teams participating in 3rd play, although earning points that don’t get counted, aren’t there simply to ‘steal’ points away from other teams at that event - they are there to make sure those teams have the same opportunity at the points as if they attended any other district event.

Any district that is smaller gives all teams attending a clear unfair advantage over teams attending larger districts. Already the PNW district has strayed from the intended use by having unequal event sizes (I am not looking to place blame, just stating a fact). I do not envy the job of having to determine where and how many events to host, how many teams to have attend each, and how to make sure all events fill evenly. It is far from an easy task, especially in the first year of implementation. They were planning for growth going into 2014, but instead the team count shrunk (in both states). They adjusted by decreasing district sizes from 40 to 36, but this still didn’t end up being sufficient - as 56 spots were left after second district registration. Really, we should have had 9 districts instead of 10, so only 20 3rd play spots would have remained (or 8 districts @ 40 teams each, leaving 14 3rd plays), but who would have forecasted that a year ago when planning started. Then 3rd plays were opened to top off events, but the 18 that went for it fell far short of the 56 required to fill up all the events.

Let’s take a quick look for a case study: Mt Vernon had 28 teams, that means all but 4 automatically earned some number of alliance selection points (That’s 86%, compared to 69% at Oregon City or Auburn, or 60% at a Michigan district), in addition to getting an almost de-facto chance at additional points by playing in finals. On top of that they had a better chance at winning an award since fewer teams were in attendance. This would have been even more severe if 3rd plays weren’t allowed, as the disparity between the smallest and largest event would have been even greater. 3rd plays aren’t there to steal points, they are there to make sure no team has an unfair advantage at points by attending a smaller event.

Also we need to keep the big picture in mind. We are not an island, and long term it is important that things are equal and fair not just within our district but between districts. Inter-District play will become a reality sooner rather than later, that’s why they have already standardized the district point structure - we can’t just go making our own changes to the system. By the time Inter-district hits, it will be important that our event size is the same as FiM or MAR, so that our district doesn’t offer an unfair advantage.

I know the chat in this thread changed slightly, but I wanted to point back to the website itself. Tonight we pushed version 1.2 live, and it has some great new features. We invite you to provide you feedback through the email listed on the website, PM here on CD, or just post it in the thread. We are bring new features as quickly as we can, and your feedback goes a long way in prioritizing our work.

In Version 1.1.x we introduced:

  • Match Data updates “live” during events
  • New layout for detail pages - highlights matches based on the team being viewed
  • Fixed a bug related to match display order if replay matches happened at an event
  • Administrative page changes
  • Added profile bar available to logged-in users

In Version 1.2 we are introducing:

  • Improved Caching for faster page loading
  • Fixed a bug that was causing the alliance selection points to be correct, but text version to be backwards for round 2
  • Improved the tie breaker algorithm for teams with equal district ranking points
  • Clarified text on scoring, about us and contact pages
  • Tie breaker values are shown on each team’s detail page
  • Team names and numbers are clickable each time they appear and lead to the team detail page
  • On the district ranking page, you can hover over the calendar icon next to a score to see which event it was from. Or, click for the full details from that event

We hope you will enjoy these changes for week 4. For those attending competitions, good luck!

Wow, thanks again Alex!

Any chance we can get the qualification break down posted? A lot of people at the events have been asking the big question: “Who makes it to District Champs and World Champs?”

It’s very likely that I’m off, but this is my current understanding that I’ve been sharing:

***64 teams would qualify for the PNW District Championship. 10 district Chairman winners, 54 taken from the point system ranking.

Points accrued at the District Championship are worth (3x) as much.
PNW would then send the following (24) teams to the World Championship:
-3 Chairman’s Winners
-1 Engineering Inspiration
-1 Rookie All Star
-19 Teams based off of the District Point Ranking.***

Thanks Alex, nice work!!

Navid yes you have it correct.

Only teams that won Chairman’s, Engineering Inspiration, and Rookie All Star at a district event will compete for those awards at DCMP.

Teams that won EI or RAS at a district event earn a spot at DCMP to compete for that award but they must qualify on points to bring their robot. If they win EI or RAS at DCMP then the team moves on to CMP with their robot as you noted.

It looks like all the teams that competed in Wilsonville and Shorewood this last weekend show 0 Qualification Performance points. This is confusing to me since the official match results are available and the teams’ pages show their match wins and losses correctly. Is this calculation not done automatically as data is available?

Also, great job on this tool and site, Paul and Alex! It is awesome :smiley:


I noticed the same thing. No qualification points given for Wilsonville or Shorewood. Even when you look on the Event page it shows no points for any of the teams for qualifications.

Great job on the site by the way… it is very clear and you have several formats to look at …I like being able to look at individual events AND individual teams along with the overall rankings!!


I’m sure that they will get to it. Alex is a college student who does this on his free time that isn’t spent volunteering at an event in one capacity or another.

Thank you! Everything is up to date through week 4 now, by the way.

Thanks Alex. I was really worried about being able to see all the district points and data when it was announced that we’d be changing models. I’m so impressed by this site. Truly fantastic work!

Here are some estimates of where teams are as far as making it to the district championship.

This is by no means authoritative. In fact, it has some known flaws like assuming that anybody who hasn’t played at all yet is not very good.


in=will make it
out=won't have enought points
~in=probably will make it
~out=probably won't make it
bubble=could go either way

Best-case points to make it to district cmp: 40
Worst-case points to make it to district cmp: 100
Best estimate: 56
{'bubble': 42, 'out': 19, '~in': 33, '~out': 49, 'in': 10}
0	in	4488 - ShockWave 
1	in	2522 - Royal Robotics 
2	in	1425 - Error Code Xero 
3	in	2046 - Bear Metal 
4	in	2557 - SOTAbots 
5	in	4911 - CyberKnights 
6	in	4915 - Spartronics 
7	in	2471 - Team Mean Machine 
8	in	4077 - M*A*S*H 
9	in	1318 - Issaquah Robotics Society 
10	~in	2928 - Viking Robotics 
11	~in	360 - The Revolution 
12	~in	3070 - Team Pronto 
13	~in	4918 - The Roboctopi 
14	~in	488 - Team XBot 
15	~in	948 - NRG (Newport Robotics Group) 
16	~in	4559 - FIRST DRaFT 
17	~in	492 - Titan Robotics Club 
18	~in	2412 - Robototes 
19	~in	4125 - Confidential 
20	~in	2411 - Rebel @lliance 
21	~in	2907 - Lion Robotics 
22	~in	3674 - 4-H Clover Bots 
23	~in	1540 - Flaming Chickens 
24	~in	4061 - SciBorgs 
25	~in	2903 - NeoBots 
26	~in	2002 - Tualatin Robotics 
27	~in	4131 - Iron Patriots 
28	~in	4542 - Titanium Talons 
29	~in	3393 - Horns of Havoc 
30	~in	1294 - Top Gun 
31	~in	2635 - Lake Monsters 
32	~in	2811 - StormBots 
33	~in	3131 - Gladiators 
34	~out	2374 - Crusader Bots 
35	~out	2990 - Hotwire 
36	~out	4057 - KB Bots 
37	~out	4030 - NullPointerException 
38	~out	4726 - Robo Dynasty 
39	~in	955 - CV Robotics 
40	~out	4652 - WolfTech 
41	~out	2930 - Glacier Peak Sonic Squirrels 
42	~out	1258 - SeaBot 
43	~out	3220 - Mechanics of Mayhem 
44	~out	4089 - Stealth Robotics 
45	~in	3238 - Cyborg Ferrets 
46	~out	4681 - Murphy's law 
47	~out	2733 - Pigmice 
48	~out	4654 - Mountaineers 
49	~in	4038 - Binary Robotics 
50	~in	997 - Spartan Robotics 
51	~in	2550 - Skynet 
52	~out	2093 - Bowtie Brigade 
53	bubble	5085 - LakerBots 
54	~out	4205 - ROBOCUBS 
55	~in	956 - Eagle Cybertechnology 
56	~in	2521 - SERT 
57	bubble	4450 - Olympia Robotics Federation 
58	~in	2923 - Aggies 
59	~out	4051 - Sabin-Sharks 
60	~out	2517 - Green Wrenches 
61	~out	3636 - Generals 
62	~in	4120 - Jagwires 
63	bubble	1983 - Skunk Works Robotics 
64	out	1899 - Saints Robotics 
65	bubble	3588 - the Talon 
66	bubble	4608 - Duct Tape Warriors 
67	bubble	4513 - Circuit Breakers 
68	bubble	5198 - RoboKnight Force 
69	bubble	3237 - Bionic Braves 
70	bubble	3663 - CPR - Cedar Park Robotics 
71	out	1778 - Chill Out..! 
72	bubble	2927 - Pi Rho Techs 
73	bubble	2976 - Spartabots 
74	bubble	4772 - Optimistic Skyz 
75	bubble	2929 - JAGBOTS 
76	out	3787 - Wild Robotocats 
77	out	4060 - S.W.A.G. 
78	bubble	3219 - TREAD 
79	out	3586 - Pride in the Tribe-Caveman Robotics 
80	out	5295 - Aldernating Current 
81	bubble	4579 - RoboEagles 
82	bubble	3786 - Chargers 
83	out	4512 - BEAR Bots 
84	bubble	4980 - Canine Crusaders 
85	out	949 - Wolverine Robotics 
86	bubble	2192 - YAK Attack 
87	out	2660 - Pengbots 
88	out	3268 - Viking Robotics 
89	out	1510 - Wildcats 
90	out	4309 - 4-H Botsmiths 
91	bubble	2980 - The Whidbey Island Wild Cats 
92	bubble	2944 - Titanium Tigers 
93	bubble	3574 - HIGH-TEKERZ 
94	bubble	3789 - On Track Academy 
95	bubble	2147 - CHUCK 
96	bubble	3826 - SkyNet Robotics North West 
97	bubble	1595 - Dragons 
98	bubble	4461 - RAMbotics 
99	bubble	3693 - GearHead Pirates 
100	out	4682 - Brave Bots 
101	bubble	5111 - SaxonBots 
102	bubble	3711 - Iron Mustang 
103	out	3781 - 4-HPenneyBots 
104	out	4132 - Scotbots 
105	bubble	4127 - LoggerBots 
106	bubble	957 - SWARM 
107	bubble	2926 - Robo Sparks 
108	bubble	3684 - Electric Eagles 
109	bubble	3812 - Bits & Bots 
110	bubble	2605 - Sehome Seamonsters 
111	bubble	847 - PHRED 
112	bubble	2149 - CV Bearbots 
113	bubble	3673 - C.Y.B.O.R.G. Seagulls 
114	bubble	3221 - KM Royals 
115	bubble	3024 - My Favorite Team 
116	~out	4662 - Tribal Tech 
117	out	2542 - Go4bots 
118	bubble	3575 - Okanogan FFA 
119	~out	4457 - ACE 
120	out	4683 - Full-metal Robotics 
121	bubble	2906 - Spanaway Lake Botworx 
122	out	4692 - Metal Mallards 
123	~out	3223 - POKER Robotics 
124	~out	4043 - NerdHerd 
125	~out	2910 - Jack in the Bot 
126	~out	3218 - Panther Robotics 
127	~out	4304 - Iron Rams 
128	~out	4469 - TJ 
129	~out	4104 - Blackhawks 
130	~out	2915 - Riverdale Robotics/Pandamonium 
131	~out	4495 - Tigers 
132	~out	2148 - Mechaknights 
133	~out	2942 - Panda Machine 
134	~out	3049 - Fluffy Robotics 
135	out	3681 - Raiders FRC 
136	~out	3831 - Da Bears 
137	~out	3876 - Mabton LugNutz 
138	~out	4082 - Ranching Robots 
139	~out	2922 - RoboCon 
140	~out	3576 - Clover Park High School Warriors 
141	~out	4110 - DEEP SPACE NINERS 
142	~out	4173 - Bulldogs 
143	~out	4180 - Iron Riders 
144	~out	1432 - Mahr's Metal Beavers 
145	~out	1571 - Error404 
146	~out	3192 - Tiger Bytes 
147	~out	4105 - ChiefBotsFTS 
148	~out	753 - High Desert Droids 
149	~out	2555 - RoboRams 
150	~out	1359 - Scalawags 
151	~out	3286 - the rocket surgeons 
152	~out	3712 - RoboCats 

Very cool! Someone brought me the idea of building this sort of site for FiM, but I was (and am still) too backlogged to commit to something like this.

This is the direction FIRST needs to be heading with the district system. It’s 2014. We shouldn’t be manually updating Excel spreadsheets and uploading them to tell people where they’re ranked in their district. Very nice job!

I’m glad you enjoy the site! Certainly feel free to have your FiM Leadership folks shoot us an email or PM and we would be happy to add them. The system is built to handle as many districts as we want. We’re hoping that once other districts see it in use for a year, we can all get on board and have a unified system.

Great job Alex!
This is really helpful to the district teams
thanks for the update