Now that my California thread is resolved, it’s time to look at the FRCFIRST Robotics Competition landscape more broadly. While this isn’t strictly a regionals vs. districts thread, I think the data are helpful.
“There are so many numbers, just tell me what I should know”
-@KennySandon, probably
Some of you don’t like reading. That’s cool, it’s the holiday season. Here are the points I’llLimelight, an integrated vision coprocessor make below:
- District teams need to travel an average of 28 miles to their closest event while regional teams need to travel 140 miles to their closest event.
- If you exclude outliers (teams from countries with no events), we’re talking 28 miles vs. 83 miles. Still a huge difference!
- Do the same math for teams’ five closest events, and we’re talking about 67 miles on average for district teams and 532 miles for regional teams (or 384 miles if you exclude those international outliers).
- Only 44% of teams have an event within 15 miles of them. 73% have an event within 50 miles, 85% have an event within 100 miles, and 96% have an event within 500 miles.
- 4% of teams (152 total) don’t have an event within 500 miles, including 44 teams from Brazil.
Methodology
Geocoding teams and events
Unfortunately, The Blue Alliance no longer geocodes teams returns an empty lat
and lng
in the API responses. Time to find a new tool!
I was going to geocode the addresses using the Google Maps API, but there are aggressive rate limit/daily quotas even with an enterprise account, and I didn’t feel like waiting. Also, the responses were slower than I had hoped.
So, I used the geocode.maps.co API which is free and has a rate limit of one request per second, which I could deal with. The API utilizes OpenStreetMap which is slightly less accurate than Google Maps, but still quite accurate overall.
Using the API, I geocoded all teams currently registered for an event in 2024. As of the time of running the numbers, that’s 3,566 teams!
Using the same API, I geocoded all events, excluding the FIRST Championship and individual district championships. So, all Regional events and District events are included.
It’s worth noting that for teams, all we have is city, state/province, country, and postal code. I used those points to geocode, so generated latitude and longitude is approximate to the nearest city and there might be a few errors.
Some events have full addresses and other just have a city and state/province. If the full address was available, I used it, and if not, the city/state was a fallback.
Calculating distance
I ruled out the Google Maps driving distance API (which I used for the California analysis) for two reasons. First, the aforementioned rate limits apply to this API, too. Second, I wanted to calculate distances even when driving isn’t possible (for example, calculating all but the closest events for Hawaiian teams means calculating distance as the crow flies).
I then looked at the Open Source Routing Machine which is a super cool tool, also based on OpenStreetMap data, but it’s mostly focused on driving/biking/walking distance and was also a bit overengineered for this project.
I then realized (for which I’m sure the geologists in the crowd are going to say “duh!”) that I can use latitude, longitude, and math I barely understand to do the calculations. Yay!
The formula, to do this math in a spreadsheet (don’t forget to convert the radians!) is:
=ACOS((SIN(RADIANS({Lat1})) * SIN(RADIANSP{Lat2}))) + (COS(RADIANS({Lat1})) * COS(RADIANS({Lat2}))) * (COS(RADIANS({Lng2}) - RADIANS({Lng2})))) * 6371*0.621371
That formula calculates distance between two pairs of coordinates in miles.
I performed that calculation for each event-team pair. 162 events * 3,566 teams = 577,692 calculations! My computer had a lot to say about that, but ultimately did what it was told.
Calculating stats
I looked at the results of the above calculation and filtered values above or below certain thresholds and did some basic average calculations.
Caveats
- Address data is best guess as described above.
- No effort was made to determine teams’ eligibility to attend events (e.g. if a team in California is close to a PNW district event, they’llLimelight, an integrated vision coprocessor be counted as close to that event, even though they can’t compete).
On to the data…
Data Points
I’llLimelight, an integrated vision coprocessor use the following data points in the rest of my post:
Data Point | Definition |
---|---|
Events <15 mi | Number of events less than 15 miles (24 km) from the team |
Events <50 mi | Number of events less than 50 miles (80 km) from the team |
Events <100 mi | Number of events less than 100 miles (160 km) from the team |
Events <500 mi | Number of events less than 15 miles (805 km) from the team |
Avg closest 5 events | Mean distance of the closest five (5) events to the team |
Differences in the Regional and District model, and between districts
Minimum distance to closest event
District | Avg minimum distance to an event | Avg minimum distance to an event (excluding countries with no events) |
---|---|---|
FMA | 14 mi. | 14 mi. |
FIM | 18 mi. | 18 mi. |
CHS | 19 mi. | 19 mi. |
NE | 21 mi. | 21 mi. |
FIN | 31 mi. | 31 mi. |
ONT | 33 mi. | 33 mi. |
PNW | 33 mi. | 33 mi. |
FNC | 33 mi. | 33 mi. |
ISR | 35 mi. | 35 mi. |
PCH | 35 mi. | 35 mi. |
FIT | 60 mi. | 60 mi. |
Regional | 140 mi. | 83 mi. |
There is a huge disparity between regional teams and district teams when it comes to the minimum distance required to get to one’s closest event. On average, district teams have just 28 miles
to their closest event while regional teams have an average of 140 miles
.
In fairness, there are some very isolated regional teams in remote areas. To give the greatest benefit of the doubt, I added a column for regional teams if I exclude any countries without a regional event. This excludes Azerbaijan, Barbados, Belize, Bulgaria, China, Colombia, Croatia, Czech Republic, Dominican Republic, Ecuador, France, Gambia, India, Japan, Lesotho, Netherlands, Pakistan, Panama, Philippines, Poland, Romania, Singapore, South Africa, Sweden, Switzerland, Taiwan, United Kingdom and Vietnam.
When we do that, that, the average minimum distance for regional teams drops to 83 miles
which is still way more than the district average of 28 miles
.
Interestingly, most districts have a number of <=35 miles
, with FIRST In Texas
being the only exception. This can be attributed to both Texas’ geography and the fact that FIT has teams from both Texas and New Mexico (which, unlike the other multi-state districts, spans pretty wide geography).
Minimum distance to five closest events
Now, all the same data, but using the five closest events to teams instead of just one:
District | Average of Avg closest 5 events | Average of Avg closest 5 events (excluding countries with no events) |
---|---|---|
FMA | 28 mi. | 28 mi. |
FIM | 39 mi. | 39 mi. |
NE | 48 mi. | 48 mi. |
ONT | 58 mi. | 58 mi. |
CHS | 63 mi. | 63 mi. |
PNW | 71 mi. | 71 mi. |
FIN | 82 mi. | 82 mi. |
FNC | 85 mi. | 85 mi. |
PCH | 116 mi. | 116 mi. |
FIT | 122 mi. | 122 mi. |
ISR | 171 mi. | 171 mi. |
Regional | 532 mi. | 384 mi. |
Here we start to see more of a discrepancy between districts (FMA
, FIM
, NE
all have 5+
events in “driving distance” while in PCH
, FIT
, ISR
, this number is over 100 miles
). Not all districts are created equally.
When we compare to regionals, the discrepancies get even greater with this number being either ~400
or ~500 miles
depending on how you slice the numbers.
Obviously, in neither model are most teams attending five events, but this negates the “you have so many events out there” argument and teams don’t have very many choices where they go. If you look at the California thread, you’llLimelight, an integrated vision coprocessor see an example of how some events are over-subscribed and others under-subscribed.
Events with a certain distance - by district
District | Average # of Events <15 mi | Average # of Events <50 mi | Average # of Events <100 mi | Average # of Events <500 mi |
---|---|---|---|---|
CHS | 1 | 2 | 4 | 66 |
FIM | 2 | 7 | 14 | 62 |
FIN | 0 | 1 | 4 | 60 |
FIT | 1 | 2 | 3 | 15 |
FMA | 1 | 7 | 12 | 59 |
FNC | 0 | 1 | 3 | 40 |
ISR | 1 | 3 | 4 | 4 |
NE | 1 | 3 | 8 | 40 |
ONT | 1 | 4 | 7 | 72 |
PCH | 0 | 1 | 2 | 25 |
PNW | 1 | 3 | 4 | 11 |
Regional | 1 | 1 | 3 | 23 |
This chart doesn’t show a ton of helpful data, but there are some interesting tidbits (like how ISR
is really an island of a district and how PCH
, FIN
, and FNC
have events >15 mi
on average…showing their relative size and geographic differences, etc.)
More details on events within a certain distance next…
Events within a certain distance - Overall
Events <15 mi
Most teams (56%
) do not have an event within 15 miles
. On average, teams have 0.7 events
within 15 miles
of them. There are two (2) teams
who have a whopping seven (7) event
s within 15 miles
of them! Both of those teams are located in Southfield, Michigan, USA
.
Events <50 mi
This is probably around what most consider “reasonable driving distance” to an event. Of course, there are places where this equates to multiple hours of traffic, but on the average, this is roughly the commuting vs. overnight breaking point. Most teams (73%
) have at least one event within 50 miles
. On average, teams have 2.6 events
within 50 miles
of them. There are 22 teams
who have a whopping 15 event
s within 50 miles
of them, and they’re all somewhere in Michigan, USA
!
Events <100 mi
We’re starting to get out of daily commuting distance, but are still in what most would consider “local.” Even more teams (85%
) have at least one event within 100 miles
. On average, teams have 5.1 events
within 100 miles
of them. This is cool, because teams who want to stay close-ish should, in theory, be able to do that. There are two (2) teams
who have a whopping 24 events
within 100 miles
of them and you guessed it…they’re both from Michigan, USA
.
Events <500 mi
Most teams will max out well before reaching this threshold (except maybe for the FIRST Championship), so these data points are less helpful practically, but still interesting. Nearly all teams (96%
) have at least one event within 500 miles
. That still means there are 152 teams
with no events in that range! Of these 152 teams
, 44 teams
are from Brazil
, 16 teams
are from China
, another 16 teams
are from Mexico
, 12 teams
are from Taiwan
, and the rest are scattered in over two dozen additional countries. Most of these teams are one of, or the only, team in their local area. I didn’t realize how spread out Brazil is until I embarked on this project. I’d love to hear about the geography as it relates to FRCFIRST Robotics Competition from someone who knows the landscape better.
On average, teams have 34 events
within 500 miles
of them. There are five (5) teams
who have a whopping 83 events
within 500 miles
of them. Curveball! They’re all from Pennsylvania, USA
which seems to be the sweet spot to be kind-of-close-ish to many districts.