A data scientist’s History of Buggy

I was very kindly invited to give a talk at Carnegie Mellon during the Buggy Showcase (aka Design Comp) portion of Spring Carnival.  For the uninitiated, ‘Buggy’ is a race held annually among CMU students since 1920.  It’s part soap box derby or street luge, and part relay race.  It involved finding the smallest girl you can on campus, building an unpowered carbon fiber vehicle for her, and then pushing her as quickly as possible around a park.  Sometimes a video helps explain.

It’s probably 2 orders of magnitude more niche than the stuff I’ve done with CrossFit, so I’m mostly just posting it here for posterity.  Here are the slides

And here are a selection of plots from the presentation.

The total number of teams participating peaked in 1990 once women’s teams were fully introduced and before the decline of fraternities on campus.


The men’s race has been similarly competitive over the last 45 years.  The top 5 finishers averaged a 5 second deficit to the winner quite regularly.  The women’s field got deeper from 1985 until the mid-2000s, but has been reversing for the last 10 years.

New course records happen when the engineering, athletic, and environment come together exceptionally well.  Sequences of new records or long stretches between them probably reveal periods of systematic change in the race across teams.  I was particularly interested to see the 3 different kinds of record setting periods in the men’s race:

  • Constant post-war improvement in the 1950’s
  • 20 years of occasional record setting from ’67 – ’87
  • big new records in both genders after a 20 year drought in 2008 and 2009


Data and code available here on github, a front end which makes it easier to explore historic times here on cmubuggy.org

Posted in Posts Tagged with: ,

WOD Data: CrossFit Open 15.5

After five ‘suspenseful’ Thursday announcements, and five times laid out on the mat, we’ve got the 5th breakdown for the stats crowd.

I’ve got plans for at least one more post about the Open, so please, post any requests for analyses here in the comments or in this reddit thread.

Participation and Scaling

In the end, 55% of the 262,037 athletes who registered posted a score all 5 weeks, and 25% completed all 5 WODs at Rx.  Congrats if you’re in either of those groups. 15.3 (muscle ups) definitely took the crown for most scaled, while the 20 or 30 lb discount was not enough to convince many to do scaled for the finale.


Observant regular readers might notice that this chart shows more attrition than the plots I made in previous weeks. It turns out that’s because I scraped the leaderboard on Monday night for 15.1 and 15.2 and later in the week for 3 through 5.  Since coaches have until Wednesday to validate scores, I had undercounted the participation in weeks 1 and 2.  The complete downloadable data is now updated for each wod on my site. 

15.5 Rx

27-21-15-9 reps for time of:
Row (calories)
Thrusters (95/65)

Only the second “for time” Open workout ever after last year’s 14.5 and once again we get a beauty of a distribution. We can see a lot of men who were motivated to get sub-10 minute times and big notches for the women at sub-15 and sub-16.


Can we quantify how much people want a “sub-something” time?  There’s no explanation for spikes in the distribution in this WOD around switching movements or equipment since everyone finished after the same 72nd thruster.  And yet, we see that Rx athletes were 18% more likely to finish in the last 10 seconds of a minute than the first 10 seconds.  Finishing at something:30 is the most common, and men and women are doing just about the same thing on this front.


The median man finished about 80 seconds ahead of the median woman and that gap was actually pretty constant all the way to the top of the leaderboard with Fraser and Paquette finishing 67 seconds faster than Colleen Fotsch.


15.5 Scaled

27-21-15-9 reps for time of:
Row (calories)
Thrusters (65/45)

The scaled WOD this week was only different by weight, so the patterns in outcomes look super similar.

crossfit_15.5sc_hist_gender crossfit_15.5sc_percentile_gender


Ah, to be 25 again.

Height & Weight

I heard opposite predictions on height for 15.3 since the lanky folks get those mile-long pulls on the rower, but have to push most of the way to the ceiling on the thrusters.  How did it play out?  I’m going to say the tall women benefitted slightly more than the men.  You can see in the last plot that no matter how tall a guy was, there was a sweet spot on weight, where as almost all of the women over 5’9″ were well above the median.

crossfit_15.5_height crossfit_15.5_weight crossfit_15.5_height_weight

I’m planning to do at least one more post about the Open with regional, gym, and multi-year analyses.  In the mean time, this has been a blast.  Post analysis requests here in the comments or on Reddit, or download the data and do your own exploring.

– Sam Swift.  I’m a data-scientist at Betterment, and 3 years into CrossFit, now at CrossFit Prospect Heights (previously CrossFit Carrboro).  I’ve got more posts in the works, follow me @swiftsam. All 2012-2015 data available for download here. Scraping and visualization code available here on github.

Posted in Posts Tagged with: ,

WOD Data: Crossfit Open 15.4

15.4! Hand stand pushups and (pretty) heavy cleans.  Did you have em?  More people showed up this week with HSPUs than had muscle ups last week, but it was still a workout that pushed a lot of athlete’s limits.  Somewhat surprisingly, we’re seeing almost no attrition since the first week.  I think you could argue at this point that having the scaled division is keeping people in the game while allowing for more challenging Rx programming.

I’ve added 15.4 to my public collection of Open data, so feel free to download and see what you can add.


15.4 Rx

8 minute AMRAP of
3, 6, 9, 12, 15, 18 handstand push-ups
alternating with
3, 3, 3, 6, 6, 6, 9 cleans (185/125)

5,975 athletes chose Rx but didn’t have the cleans and took their 3 reps to the top Rx club on the leaderboard.

Congrats to the 4,643 athletes (~3k men, 1.5k women) who got scores of at least 4 even though the clean & jerk PR on their profile was less than 185/125.  You either rose to the Open occasion and rocked it or you’re bad at updating your profile.

Many more athletes ran out of time during HSPUs than cleans (controlling for the difference in total reps).  That means people were knocking out the cleans faster which is surprising to me as one of the people in that big 3-rep, no cleans spike.


No huge jumps in the percentile plot this WOD, aside from the first clean for Women.  In general each rep mattered just about as much as the last.


15.4 Scaled

8 minutes AMRAP of:
10 push presses (95/65)
10 cleans (115/75)

Because there was no big difference in the difficulty of the movements, we get a nice normalish distribution in the Scaled division.  The exceptions are the big spikes at the end of each movement.  That’s presumably part psychological, but also reflects the time it takes to load and unload the bar.


Again, remarkably smooth percentile plot which means it was more about your “engine” than strategizing around specific numbers. Slight exception were 81 and 101 reps which were worth a few percentile points in a single rep.  I bet the first 50 reps felt like more of an accomplishment than just getting out of the bottom 10%, but that’s what happens when everyone can do them.



Have you ever heard that strength peaks in the mid-20s, but endurance athletes peak in their 30s? Have you ever seen a graph that illustrated it so clearly?


Height & Weight

If you have to invert yourself and push (Rx), you don’t want to be too tall or heavy.  If it’s a question of high reps on a fixed, relatively light weight (Scaled), you want to be bigger than the weight.  By as much as possible.


New plot! In previous weeks, people have asked about whether it’s really about height or weight since they are obviously correlated. The answer is interesting.  For Rx, being on the short side was an advantage, but there was a sweet spot of weight.

For Scaled, heavier athletes did better at all heights, BMI be damned!  115/75 cleans are doable for most but for those who weigh more than twice that, it probably came down to how fast you could change your weights.  Men over 240lb averaged 100 reps and 70th percentile ranks. crossfit_15.4_height_weight

– Sam Swift.  I’m a data-scientist at Betterment, and 3 years into CrossFit, now at CrossFit Prospect Heights (previously CrossFit Carrboro).  I’ve got more posts in the works, follow me @swiftsam. All 2012-2015 data available for download here. Scraping and visualization code available here on github.

Posted in Posts Tagged with: ,

WOD Data: Crossfit Open 15.3

I was so tired from those muscle ups it took me an extra couple of days to get this post up.  In the mean time, we’ve had a new player enter the scene: CrossFit HQ themselves! I’m psyched that the measurement-oriented sport of CrossFit is finally bringing the data to the games front page. See if you notice any resemblance in their analysis approach.

Now that we’ve hit the mainstream, it’s time to take it to another level.  I’ve posted all of the profile and leaderboard data from 2012-2015.3 online so that nobody else has to go through the trouble of scraping it all to contribute an interesting analysis or graphic.  Separate post for all of that over here. Dig in and let me know if you do or find something interesting.

The Muscle Up

15.3 was significant almost entirely because the Rx version started with muscle ups.  I won’t rehash the pages of social media debating whether that’s good programming for the Open, but I was wondering whether it would discourage people out of the Open entirely.  Happily, that’s not the story.  We saw overall participation hold steady from 15.2 while droves of athletes took advantage of the new Scaled option.  After 15.3,  61% of Men and just 26% of Women have completed all 3 workouts at Rx.


15.3 Rx

14 minute AMRAP:
7 muscle-ups
50 wall-ball shots
100 double-unders

As you expected, the muscle ups were the big factor, but it wasn’t just the ability to get one done.  Even for athletes who finished in the 3rd round and got more than 15 muscle ups, each rep was time consuming enough that most did not finish the set of 7.  Double unders and wallballs didn’t stop too many, but you can see lots of fun spikes at round numbers.


I often mention how some reps in a WoD have much higher impact on your ranking than others. If everyone is stopping at the end of the round, getting 1 rep into the next is very differentiating.  To illustrate that, I’ve added a new type of plot comparing the percentile associated with each score.  The slope of the line indicates how many people you’re passing on the leaderboard for each additional rep. Each muscle up moved an athlete up 1.6% in the rankings on average, compared to 0.1% for each wall ball or double under, meaning that each muscle up was equivalent to completing 13 wall ball or double unders.


15.3 Scaled

Since over half of athletes competed in the Scaled version of 15.3, lets make sure we discuss it fully as well (looking at you HQ).

14 minute AMRAP:
50 wall-ball shots
200 single-unders

Those first 500 reps felt like they meant something, but you didn’t get much credit for them as 7 out of 8 athletes made it into the 3rd round.  The most popular stopping points for men and women were at rep 550 and 750 where it’s likely athletes pushed hard to finish the movement and then came up short on gas or time to start back into the other movement. I like the little spikes at 400 and 650 and how these histograms are so nice and symmetric.  If you take out the spikes and squish the middle together, you can imagine a nice normal distribution like we saw in 14.5.

We can repeat our analysis of slopes here and see how much more valuable wall balls were than single unders.  For the scaled workout, each wall ball rep moved you up in the rankings as much as 3.7 single unders.crossfit_15.3sc_percentile_gender


This week I’m using percentile on the y-axis to look at patterns by age, height, and weight because it is less influenced by outlier scores which is important for our very small sample of Rx women.  I’ve also broken things out by Rx and Scaled since the balance between muscle unders and wall balls selects for different attributes.


The under 25 men crushed 15.3 Rx and the drop-off with age was much steeper than we saw last week. We don’t se nearly as dramatic of an effect in Scaled or Rx Women which makes me think those young guys can really knock out the muscle ups.



If you were doing muscle ups and wall balls (Rx), it was best to be of average height, but for the Scaled division, the tall folks ran away with it.  Keep in mind the scaled wall ball for men was only to 9 feet meaning the 6’3″ guys could pretty much put the ball over the line without letting go. Now a moment of silence for the poor < 5′ women.



Nothing too surprising on weight. The ideal weights for 15.3 Rx look very similar to 15.2. The distributions are shifted about 10 pounds heavier for the Scaled division, probably due pretty much entirely to the correlation with height.


If you’re just finding my site with this post, check out the others I’ve done on CrossFit and we’ll be back next week for 15.4.  Comments or analysis requests welcome.

– Sam Swift.  I’m a data-scientist at Betterment, and 3 years into CrossFit, now at CrossFit Prospect Heights (previously CrossFit Carrboro).  I’ve got more posts in the works, follow me @swiftsam.  Scraping and visualization code available here on github.  Data available here on Google Drive.

Posted in Posts Tagged with: ,

CrossFit Games Data 2012-2015

CrossFit Open Data 2012-2015

 Mission part 1: Bring CrossFit data mainstream.  Success!

Part 1 in my mission to bring more data to the CrossFit Open is now a success.  I always wondered why CrossFit HQ didn’t do more to bring the story of the Open to the fans and participants through its data.  Now they have.  The 4 x “M” team of Mike Macpherson and Megan Mitchell brought us the first ever analytical piece from HQ breaking down performances on 15.3.  It bears a striking resemblance to the analytical approach I’ve taken here in analyses of 2014, 15.1, and 15.2, and I’m happy to have made an impression.  This is CrossFit, you can’t get out to a lead and expect that nobody will catch up.  It’s better if they do.

Mission part 2: Take CrossFit data to the next level.

I’m definitely not the only one playing with this data.  I’ve linked to some of the other interesting projects this year:

I think we’ve got a lot more skills out there but the overhead of scraping all the data is somewhat prohibitive, especially in the case of athlete profile data. I’d be thrilled if more people could contribute interesting analyses, so I thought I’d share everything I’ve collected and see where it takes us.  CrossFit has an appreciation for the quantitative approach in its genes.  Lets see if we can make it an example for other amateur sports of what’s possible.

Please let me know if you’re working on something interesting, and I’d be interested to collaborate if I have time.  If you use the data I’ve collected for something public, please just reference this post, thanks!

What are we working with

All data posted in .csv, zipped .csvs (.zip), and R binary (.RData) for your convenience.

  • Leaderboard scores, ranks, athlete_ids, and scaled designations.  2012, 2013, 2014, and 2015 to date.  2015 will be added as available.
    • fields refer to the URL parameters used by the games.crossfit site
      • division: 1= male, 2=female
      • stage: 0 = roster (all athletes who signed up), 1 = WoD 1 of that year, etc
      • score: expressed in reps or seconds
      • scaled: 0 = Rx, scaled = 1.  all NA before 2015
    • I refer to 15.1A as 15.1.1 so that the database field can be numeric
    • the scraping process is not 100% successful, so there may be a small number of missing records.  Not a problem if you’re summarizing trends.  Might be a problem if you’re doing reporting for individuals.
  • Athlete profiles: everything on the athlete profile pages (age, weight, affiliate, team, lift PRs, workout PRs, background, training and diet descriptives).
    • athlete profiles can change at any time.  73% of records have a retrieved_datetime field to make this less ambiguous.  The rest were scraped before I thought to do that, but were scraped in March 2015.
    • some of the profile fields are very sparse and are optionally self-reported. amateur statisticians beware.
    • some (~20%) user profile pages do not exist.  these are mostly athletes who only participated in the earlier years, but there’s no real rhyme or reason to it as far as I can tell.
  • Code (written in R) to scrape, compile, and analyze as a starting point


Screen Shot 2015-03-18 at 11.52.01 PM


Posted in Posts Tagged with: ,

WOD data: CrossFit Open 15.2

Last week’s post about 15.1 was a hit, so I’m back with 15.2 and it’s bigger and better.  First off, we’ve got a treasure trove of new data. I collected all of the profile stats from 245,000 2015 Open athletes.  Others have done interesting things with the leaderboard stats, but I don’t think anyone other than crossfit.com has all the profiles. I’ll weave that in with the WOD reports, but for starters, it gets it own post :

What’s normal (or top 5%) for a CrossFit athlete?

follow me @swiftsam for weekly updates as the Open continues.

Workout 15.2

For as long as possible:
From 0:00-3:00
2 rounds of:
10 overhead squats (95 / 65 lb.)
10 chest-to-bar pull-ups
each set of 2 completed rounds, add 3 minutes and increase reps by 2


Overall, we see a strikingly similar plot to last year’s 14.2.  Once again, chest-to-bar pullups were a show stopper for lots of Rx athletes, nearly 10,000 in all (17% of women and 1% of men).  The most popular stopping points after that were at 1.5 and 2.5 rounds even though I tried to coach folks to get 1 extra rep to break ties and get that leaderboard boost.

422 men took a score of 1 to stay on the leaderboard despite what was presumably an injury or absence.  A much less popular move with the ladies.

The big holdup at chest-to-bar pullups is an example of the kind of boring-for-many WoD that we were thinking the Scaled division might solve.  27% of athletes opted for the scaled version of 15.1, and you might think the opportunity to avoid chest-to-bars would have driven more demand, but it was pretty constant: 27% overall, 18% of men, 39% of women.


Problem was, apparently, that regular pull-ups aren’t that much easier than chest-to-bar pull-ups, so many athletes opted for the scaled workout, and then got only 6 reps instead of 10.  Is this scaled division doing what it’s supposed to do?

One of the most interesting things about 15.2 is that it’s a replay of 14.2 which means we can compare year-over-year performance among returning athletes. The year of experience and maybe some insights on how to game the WOD did make things more competitive than last year.  We saw the number of reps required to hit key percentiles increase considerably.


The previous plot shows how scores improved overall from 14.2 to 15.2, but that includes any changes in the population of athletes participating.  It makes sense that as CrossFit gets bigger it attracts more elite athletes, but isn’t it all really about personal improvement? The next plot show scores on 14.2 and 15.2 for the 71,854 athletes who completed both WODs at Rx.  You can see that most of the points are above the diagonal which means that individual got a higher score this year than last.  The topographic-esque lines show how dense (common) certain regions are.  The rectangles are caused by the spans of reps in which very few people finish because they just got 3 more minutes.


Overall, returning athletes completed 24 more reps than last year.  The plot below shows that that is split roughly evenly between people who pushed a little further into the same round (the left hump) and champions who earned 3 more minutes and got ~50 more reps (the right hump).  Nice work, 81% of people who improved! (sorry other 19%, everybody has bad days.)


And finally, ready to have some numbers for all those people at your gym who said that WOD was designed to torture [old/tall/heavy/short/young/light] people like them?  I’ve got you covered.  I merged profile data with scores for all athletes that had provided their stats and completed 15.2 at Rx.

Men peaked in their early 20s while women are pretty solid from 17-27.


The chest-to-bars definitely put a price on carrying non-functional weight, but in both genders we see that being below average weight was not an advantage overall.

The shorter folks notched a decisive victory in 15.2. For each inch that an athlete was taller than 5’3″, they averaged about 1.75 fewer reps.  All of those tall people who ran out of time a couple of reps before the next round may have had a point!



– Sam Swift.  I’m a data-scientist at Betterment, and 3 years into CrossFit, now at CrossFit Prospect Heights (previously CrossFit Carrboro).  I’ve got more posts in the works, follow me @swiftsam.  Scraping and visualization code available here on github. Data available here on Google Drive.

Posted in Posts Tagged with: ,

What’s normal (or top 5%) for a CrossFit athlete?

Ever see a 32 year old 5’10” 185lb guy walking down the street with a 32 year old 5’5″ 135lb lady and say, “Now those are some CrossFit people!”?  Well you should, because those are the most typical ages and proportions for athletes registered for the 2015 Crossfit Open.

I pulled together the data from the profiles of 245,000 CrossFit athletes participating in the 2015 Open.  Having all of these stats in one place is valuable as a reference for comparison, and interesting to see how Open athletes fill out their profiles.

One important thing to remember is that these stats are all optional and self-reported.  We’ll see some places where that results in curious patterns, but the big issue is that people likely don’t report numbers they’re not proud of.  For example, only 7% of women reported their max pull-ups, but among those who did, the average was 19.  That’s nowhere near representative, so check the number of profiles included in each stat and consider what that means about the distribution.

You’ll probably also be interested in my other CrossFit posts.



Men are a hair older, but its remarkably even actually. 54% of athletes registered for the Open are between 25 and 35. These data do not include the Masters > 55 or Teen < 16 athletes.  That’s not because I hate kids or old people, they’re just on their own leaderboard, so I need to pull them next.  This is the only required field in user profiles, so this is our only complete observation of the population.

 Age # profiles Average 5th percentile 25th 50th 75th 95th
Female 102538 32 21 26 31 37 47
Male 142485 32 21 27 31 37 46



Here’s where it gets fun. So guys, how many of you are actually 5’11” but thought it wouldn’t hurt anybody if you rounded up to 6’0″?  My estimate … somewhere around 7,000 or 5% of all men.  See that big blue spike at 6′ which sticks out of the normal distribution?  Any time you see a single value sticking out way above the shaded distribution, that’s evidence of something interesting going on.  In this case, I think it’s that being 6 feet tall is an All-American-Man’s right and sometimes he’ll take it even if the tape measure says 5’11”.  Reminds me of this article from OKCupid about dating profiles.

Women actually have a curious spot too: at 5′.  That seems harder to explain as it looks like it pulls from 4’11” and 5’1″. Everybody likes a round number I guess?

Height # profiles Average 5th percentile 25th 50th 75th 95th
Female 38694 65 60 63 65 67 69
Male 77343 70 66 69 70 72 75


<a href="http://swift best site.pw/wp-content/uploads/2015/03/weight.png”>weight

The ladies like to hit 135#, and the men are happy to say 185#, both exceeding their expected frequency in the distribution.  This could be because of rounding in the self-reports or because people actually try to maintain those target weights.  Interesting that in weights, people like the numbers that end in 5s: 135, 165, 175, 185, 195, and 205 are all more popular than their round number neighbors.

 Weight # profiles Average 5th percentile 25th 50th 75th 95th
Female 69075 142 114 128 138 151 180
Male 118332 188 150 170 185 201 235

Clean & Jerk


Clean & Jerk # profiles Average 5th percentile 25th 50th 75th 95th
Female 24990 134 85 115 135 155 185
Male 51568 224 154 195 225 255 300



The 400lb deadlift is the biggest statistical aberration on this page. It’s extremely motivating as most people’s biggest PR, but it’s in reach for a substantial number of Open athletes.  Women are more split amongst 200, 225, and 300.

Deadlift # profiles Average 5th percentile 25th 50th 75th 95th
Female 26960 241 155 205 240 275 325
Male 55979 394 275 345 400 441 515



Snatch # profiles Average 5th percentile 25th 50th 75th 95th
Female 22212 102 65 85 100 118 150
Male 47772 172 115 145 170 200 242

Back Squat


Back Squat # profiles Average 5th percentile 25th 50th 75th 95th
Female 25945 194 125 165 195 225 270
Male 54347 321 215 275 315 365 435



How do you crazy people do Fran so fast? It’s interesting there that we see clusters just under the salient minutes (e.g. the sub-4:00 club) but that it’s not all in one of the 10 second bins.  People strive for being sub-X minute, but then often end up with a 3:35 instead of the 3:59 we might expect after seeing the other WoDs.

Remember with Fran and the other time-based WoDs below, lower scores are better, so the 5th percentile is better than the 95th.

Fran # profiles Average 5th percentile 25th 50th 75th 95th
Female 9543 6:13 3:03 4:30 5:52 7:32 10:22
Male 31566 4:56 2:28 3:18 4:26 6:00 9:12



 Helen # profiles Average 5th percentile 25th 50th 75th 95th
Female 5320 11:33 8:26 9:52 11:12 12:50 15:49
Male 16883 9:59 7:27 8:30 9:33 11:00 14:00



Grace appears to be the most gender-equivalent of the stats included in the Crossfit Open profiles, but it is also scarcely reported (8% of women, 16% of men).

Grace # profiles Average 5th percentile 25th 50th 75th 95th
Female 7786 4:02 2:00 2:51 3:40 4:48 7:23
Male 23051 3:26 1:42 2:19 3:00 4:01 6:32

Filthy 50

 Filthy 50 # profiles Average 5th percentile 25th 50th 75th 95th
Female 3661 28:08 19:15 23:40 27:33 31:45 39:25
Male 10546 25:57 17:20 21:10 25:00 29:27 37:53

Fight Gone Bad


Cool to see in FGB that 300 is a huge goal that works for men and women.  We also saw men and women congregating at the same score in Grace (sub 3:00), but here it’s a much bigger stretch for the ladies.

 FGB # profiles Average 5th percentile 25th 50th 75th 95th
Female 6132 240 0 214 263 306 371
Male 15597 2038 0 256 306 350 421



This graph makes me think that pull ups aren’t entirely about strength, they’re about will and caring enough to try to set new PRs. There are no plates to load here so there’s reason people only attempt multiples of 5. If 5% of men can do 50 pullups, I bet 4.9% can do 51, but only 1% bothered to notch the extra rep.  Why not? Are you the kind of person who would push to 51 once you finally hit 50?

Women (and actually guys too), remember, pull-ups are not an exotic movement.  Everyone knows what their PR is.  More than 4 out of 5 athletes chose to leave it blank, so you’re doing better than all those … chickens.

Pull Ups # profiles Average 5th percentile 25th 50th 75th 95th
Female 7819 19 3 10 18 26 40
Male 25416 33 10 22 32 42 60

400m Run



94% of people were like, “We say at our gym that it’s 400m if you run out the door, past the dumpster and turn around at 3rd street light. That’s probably not legit.  I better leave that blank.”

400m # profiles Average 5th percentile 25th 50th 75th 95th
Female 3516 1:28 1:01 1:15 1:24 1:37 2:03
Male 12282 1:12 0:53 1:00 1:08 1:18 1:43

5k Run


“But my Turkey Trot 2011 time, yeah, I’ll put that in there.”

 5k # profiles Average 5th percentile 25th 50th 75th 95th
Female 6939 26:19 20:15 23:07 25:37 28:33 35:00
Male 19476 22:54 18:04 20:10 22:06 24:42 30:00

Whew.  Did you make it to the bottom?  You would definitely like my other CrossFit posts.

– Sam Swift.  I’m a data-scientist at Betterment, and 3 years into CrossFit, now at CrossFit Prospect Heights (previously CrossFit Carrboro).  I’ve got more posts in the works, follow me @swiftsam.  Scraping and visualization code available here on github. Data available here on Google Drive.

Posted in Posts Tagged with: ,

WOD data: CrossFit Open 15.1

note: some readers noticed that I had fewer athletes in my data than CrossFit was reporting.  I originally collected the scores after score submissions closed on March 2, but apparently they need more time to settle, so I scraped again on March 6 and got about 40k more athletes.  The numbers and plots have been updated.  The biggest difference was that the Open has grown 27% since last year (previously I reported 7%).

15.1 is in the books which means everyone is done with their toes-to-bar, but I’m just getting started with my scraping and plotting.  Just like last year, I’ve collected scores to make it easier to see what’s really going on.  I’ve got my act together this year (2.5 million data points to work with already), so expect a post after each wod (follow me, @swiftsam for updates).

First, how big is the Open these days?  As of March 6, there were 261,832 athletes listed on the leaderboard under Individual Men and Individual Women.  I stuck to those categories since they are the majority of the story, and most consistent across years.  That 261k is 27% larger than last year but 4.1rx as big as the 2012 Open which had 63k athletes.  Pretty awesome, but plenty of room to grow.


We do have some slackers who ponied up the $20, but couldn’t get out of bed this weekend.  About 15% of all registered athletes were no-shows on the big day, slightly more so for men (17%) than women (14%). 41.5% of athletes this year are women, up from 38.6% last year and 36.1% in 2012.crossfit_15.1_rx_scaled

One of the new features of the 2015 Open is the officially scored Scaled division. It could make the whole event less intimidating and increase signups, but given 27% growth is similar to previous years, it doesn’t seem like it had a huge effect.  More likely it will address the awkward part of the Open where significant portions of people who can’t yet do a chest to bar pull up or muscle up end up standing around bored.  On 15.1 we saw 27% of athletes opt for the scaled version, but there was a huge gender difference: 46% of women vs 19% of men.  CrossFit ladies, I’d love to hear how you decided between scaled and Rx.

And finally, to the workouts.  Wait, the workouts? Yep, we’ve got 15.1 and 15.1A.  They happened back to back, but it appears they’re being scored as if they were totally independent.  Don’t ask me, I just handle the numbers.

Workout 15.1

9-minute AMRAP:
15 toes-to-bars
10 deadlifts
5 snatches
(M 115 lb. / F 75 lb.)


Well, it looks like everybody agrees that banging out 10 deadlifts at a snatch weight isn’t the time to take a break and run out of time.  Both genders saw the end of round 4 as a fine accomplishment and 6715 athletes stopped at exactly 120 reps. Similar peaks at 150 and 180 continue the round-rounds fetish.  The Rx weights were scaled remarkably well across genders, with peaks and distributions almost exactly the same in the pink and blue.  The exception was the cluster of 750 women who got stuck on the first snatch. Tough skill to pick up on the spot.

Workout 15.1a

1-rep-max clean and jerk
6-minute time cap


A 1RM WOD doesn’t leave much room for behavioral quirks in the scores, both genders have pretty nice normal distributions. If I were coaching (and there are plenty of reasons I’m not), I might suggest that people throw some 1lb plates on with each lift.  The Open is scored by the sum of ranks, meaning that men who got 185 overhead accumulated an average of 81150 (bad) rank points, but with just two more pounds, they move ahead of the huge tie, and get only 74683 rank points on average (rank for each score varied by body weight).  6466 points for lifting an extra 2 pounds 1 time is probably the best deal you’re going to get in this Open.

“Full Effort Expected”

That was the guideline announced by CrossFit on Sunday night after it became apparent that some athletes (especially those working for a team score) may have “sandbagged” 15.1 to save energy for  big 1RM on 15.1A.


This plot shows each athlete’s score on 15.1 across the bottom, and 15.1A on the y-axis.  The cloud of athletes clusters from the bottom left  to top right because, for the most part, the stronger people are stronger.  If the ‘sandbagging’ problem was widespread, we would see a cluster in the upper left: people who completed few reps on 15.1, but then threw up a monster clean and jerk.  Of course, it’s also possible that someone towards that corner is just a beast who trains to go heavy and can’t lift his or her tree trunk legs up to the bar.  It doesn’t look like a big problem to me, but there are more men drifting off the top left edge than women. Don’t hate the player, hate the gameable scoring system.

Note that CrossFit presumably removed the scores of the ~20 athletes who were judged to be in violation of this spirit-of-the-rules situation, so those are not included here.

I plan to do something like this for each of the Open WODs as well as some breakdowns using height, weight, and PRs in the profiles.  Leave a comment or a tweet with any ideas for interesting things to look into.  Until then, rest up. For all we know, 15.2 might have three workouts.

– Sam Swift.  I’m a data-scientist at Betterment, and 3 years into CrossFit, now at CrossFit Prospect Heights (previously CrossFit Carrboro).  I’ve got more posts in the works, follow me @swiftsam.  Scraping and visualization code available here on github. Data available here on Google Drive.

Posted in Posts Tagged with: ,

Where did you really stack up in the 2014 CrossFit Open WODs?

If you’re like me, you know your scores on the  CrossFit Open WODs, and you looked up what ranks those scores got you.  But what does 71,786th out of 153,305 mean?   Not much. The games website lets you drill down some, but I need to see it all.  I collected all 802,164 scores from over 150,000 athletes in this year’s games and took a look.


To refresh you memory …
10 minute AMRAP
30 double unders
15 power snatches (55/75)


(click on any of the graphs to zoom into a full res version)

The first thing you see are huge spikes at the end of each set.  The weight didn’t go up in 14.1, so these aren’t lifts people got stuck on.  There are probably two main reasons people end up at these very popular scores.  Some people run out of time as they’re trying to switch from the rope to the bar or back. The bigger reason is probably that people push to finish round numbers and complete sets.  It feels good to finish that last snatch and collapse on the floor with a 225, but squeezing in even one double under could set an athlete apart from that 2,943-way tie.  Also, it looks like 424 people spent their 10 minutes and succeeded in getting (probably) their first double under.  Congrats!


3 minutes to complete 2 rounds of:
10 overhead squats
10 chest-to-bar pull-ups
each set of 2 completed rounds, add 3 minutes and increase reps by 2

The women’s results are dominated by the ability to do a chest to bar pull up which stymied 9,179 women, or nearly 20% of the entire field making for a very short 10 rep WOD.  The men’s results reflect lots of “just lemme finish this set” pushes we see in the spikes at the right edge of each band.  The exceptions are reps 40, 88, 144, and 208.  180 athletes stopped at one of those scores even though they had just earned 3 more minutes to keep working.  Some days enough is enough.


 as many reps as possible in 8 minutes of:
10 deadlifts (95/135)
15 box jumps
15 deadlifts (
15 box jumps
…. increasing deadlift weight and reps(by 5) each round


14.3 was the only WOD of the Open with increasing weights and the results reflect it.  The first 90 reps didn’t slow too many people down, but things got heavy in the 4th and 5th sets and the crowd fell off quickly. The elite athletes stack up nicely in a smooth curve depending on how much time they had left to hit those 205/315’s.


14 minute AMRAP
60-calorie row
50 toes-to-bars
40 wall-ball shots, 14/20 lb. to 9/10-foot target
30 cleans, 95/135 lb.
20 muscle-ups


So, can you do a muscle-up?   22,052 (17%) athletes made it through the cleans but couldn’t get up on the rings, making it by far the biggest factor for both genders.  Toes-to-bar also proved problematic for 6% of women meaning 14.4 was just a quick spin on the rower.  You can see goal setting pretty clearly in the men’s cleans at 160 and 170.


21-18-15-12-9-6-3 reps for time of:
Thrusters (65/95)


note that lower scores are better on 14.5.

Finally, a nice clean distribution.  A WOD for time is a totally different animal. The median man finished in 18:36, just a minute ahead of the median woman at 19:28 meaning that 65/95 are pretty fair weights to compare the genders on thrusters.  We do see some spikes on round numbers, especially at the 30 minute mark.  87 athletes finished at exactly 30:00, but only 19 finished at 30:01.  That’s probably a combination of meeting a goal and wishful thinking when they scraped themselves off the mat and looked at the clock after that last burpee.

I got into this out of curiosity, but I hope this kind of analysis plays into the Open WOD programming from HQ.  Most of this years workouts probably did a good job differentiating between the regionals-caliber athletes because the tail at top end is generally nice and smooth.  The huge spikes in the meat of each distribution mean that a lot of the average athletes are getting lumped together or stuck on movements they can’t do with time to kill.

Let me know if you would like to take a look at the data or have suggestions for the next analysis.  Good luck to those athletes going to regionals, we can really see how many hurdles you cleared to get there.

– Sam Swift.  I’m a post-doc in the business school at Duke, a data-scientist, and 2 years into CrossFit at CrossFit Carrboro.  I’ve got more posts in the works, follow me @swiftsam.  Scraping and visualization code here on github.

Posted in Posts Tagged with: ,