pic: Michigan Team Growth 2009-2016



EDIT: fixed image (with correct years) farther down

Inspired by the recent thread with a map of Michigan teams by county, I thought it’d be interesting to look a bit farther back to see the growth across the state. I looked at each year since they switched to districts, with teams mapped by zip code (I wasn’t able to easily get data for counties).

Disclaimer: I’m not entirely sure how accurate this data is, although I think it should be fairly close. For teams in cities with multiple zip codes, I’m not sure which one they ended up getting mapped at.

This is awesome thanks for sharing! It’s always cool to see how FIRST spreads and impacts others.

Here’s the same map (but without the team count) as a gif:

Very cool graphic.

A similar graphic showing events over time would be neat to see too. This past year, I helped support 6 District events, and they were all within about a 1 hour drive from home… (Southfield, Kettering 2, Centerline, Marysville, Troy, Ann Arbor). This is really quite crazy when you think about it from a growth and coverage standpoint. Even crazier, there were still several other events within an hour from home (Kettering 1, Howell, Waterford…).

This really shows how FiM hasn’t just increased school participation in the southeast side of the state, where the majority of Michigan teams used to exist. But how the west side of the state has developed into pretty much its own district. Also the northern part of the LP and the UP itself has grown a ton.

Awesome visual!

I hate to be “that” guy, but the maps for 14-16 are labeled 10-12.

I never realized how huge some of the zip codes in the UP are.

I can’t believe I didn’t notice that…

I’m not sure if I can edit the original image, but here’s a fixed version of it. Thanks for pointing that out and sorry about that.

I haven’t figured out how to overlay these two maps, but here’s a gif of events over time:

(sorry, I can’t figure out how to shrink this and still have it move)

Also, I think the zip code for the DCMP location in 2015-16 is off. It says it’s 48544 but that’s somewhere in Svydova according to google. I used 49544 (from DeltaPlex Arena’s address). I’m not sure if this affected other districts, but if you notice something else is wrong let me know and I’ll manually change the zip code.

You must spread some Reputation around before giving it to Rachel Lim again.

Actually, though, if you started a blog dedicated to FRC data analysis, I would love it!

What did you use to create these graphs and the gif? I recently used Google sheets and the map marker for Texas, but didn’t find it to be too user friendly.

This is really cool. What did you use to make it?

I’m trying to come up with something focused on CA competitions (specifically norcal since I’m not sure how much time I’ll have), but I may expand it later on. Look out for something (hopefully) soon! :slight_smile:

Tableau for the graphs and Excel storing/formatting the data. I found it to be the most intuitive way to deal with any sort of location-type data. I haven’t found a way to tell it which state cities are in though, so I have to link city data to zip codes and map that. Once that’s done though, I really like it because I can give it a list of locations per year and create either multiple columns of maps, or pages that it can loop through (the gifs are screenshots of that).

If you’d like more details or have any other questions let me know–I’m happy to go into more specifics if you’d like.

Where did you get the data from?

Team lists: the “what events and teams are in my area?” searches (e.g. this is Michigan for 2016)
https://my.usfirst.org/myarea/index.lasso?page=searchresults&programs=FRC&reports=teams&sort_teams=number&results_size=250&omit_searchform=1&season_FRC=2016&area=mi-usa or http://frclinks.frclinks.com/t/mi-usa/2016

Event lists: TBA API, district events request

Zip codes: combined the two below
https://www.unitedstateszipcodes.org/mi/
http://www.zipcodestogo.com/Michigan/

I think there are ways to automate this further (certainly actually using the API as opposed to copy/pasting data out would help), but I’ve found this to be enough for what I need it for.