Advent of Code analysis through the years

What can we learn from the stats?
puzzles
analysis
visualisation
Author

Jesse van Elteren

Published

December 25, 2022

Update Dec 26 2022 with 2022 scores. Hade a great time again, thanks Eric and Reddit!

Comments on this post can go here

Since 2018 I’m participating in 🎅Advent of Code🎅 and enjoying it a great deal. AoC has been running since 2015, so a sizable amount of data has been generated. Let’s see what we can learn, starting with the amount of stars awarded.

In total there have now been more than 14M stars awarded! After a ‘rough’ 2016, AoC has been steadily growing with 2020 as a (Covid?) 100% boost. And 2022 is just barely finished, many people will earn stars in the days to come.

Edit: as BBQspaceflight indicated on the AoC Reddit, probably 2016 was not a rough year, but many people have been solving 2015 at a later time (e.g. they participated in 2018 and afterwards did 2015).

For a better looking plot, look at Maurits vd Schee. It’s a familiar sight: in general the times are below the hour mark, with a couple going higher. After 2020, the completion times are more compressed. 2022 most difficult puzzle’s were 16 (Proboscidea Volcanium, tunnels with valves), 19 (Not Enough Minerals, collect geodes) and 22 (oh god, it’s a cube?)

Low completion times can be a result of two factors: * The puzzles were easier * The participants where better / more competitive

One way of investigating the difficulty of a year is by analyzing the completion rate: how many people got all the stars compared to the people that got only 1 star of day 25. These people did make it to day 25, thus put a considerable amount of effort in, but couldn’t finish all puzzles.

In the above chart, each rectangle symbolizes the people that solved all puzzles during the year. The height shows the completion rate.

The completion rate was very high in 2016 and 2017 and lowest in 2018. In 2020 many people finished all puzzles, corresponding with more participants that year.

For 2022 the verdict is still out, in a couple of months people will have had time to finish so the completion rate will stabilize. The completion rate of 2022 as of Dec 25th was about 72% and has dropped by 10% in a day! To me this indicates that people doing AoC leisurely and therefore solving day 25 not in the first hours more often don’t get all stars.

Again note that 2022 is very fresh still.

We see that: * The amount of finishers (people getting all stars) peaked in 2020 * The amount of people that got points on the leaderboard is slowly increasing with 2015 also being very high. Why? * The percentage of finishers getting points is varying. Lower percentages could indicate how competitive the year was. Another indicator can be the time it took to solve a puzzle.

The fastest completion times add up to around 3 hours, which is amazing. Since nobody ever finished #1 at all puzzles, this is a theoretical minimum.

The completion times of #100 add up to a more ‘human’ amount. These times are still way below the amount of time a ‘normal’ participant spends on AoC. For example I consider myself an enthusiast, but my completion times are normally about 2-3x the #100.

2022 was very similar compared to 2021.

2022 will move more to the right given time. There does seem to be some correlation between the total time the #100 took and the amount of participants finishing all puzzles. Although I’m not sure if it’s causal, could be there are other variables playing a role.

Getting leaderboard points is special (I made it once for the first time ever this year, yay!). There are people who do it consistently. Let’s give the top 30 some extra recognition🎈

All the people on this top 30 list are amazing, but some awards to hand out: * 🏆Robert Xiao managed to get the most amount of points and overall most leaderboard placements * 🏆betaveros got on average most points & leaderboard entries (ignoring anonymous user here). betaveros also managed to get 50 entries is 2018, which was a one-time event * 🏆glguy for getting the highest score while getting points in all 8 seasons

Doing AoC once and get LB points is nice, but it’s even nicer to do it twice, thrice, etc.

Most of the people that get points manage to do it only once. The y-axis is logaritmic. Who are having so much grit to get points all 8 seasons?

user amount_seasons total_points total_lb_placements
10 glguy 8 11588 184
14 etotheipi1 8 10488 191
19 msullivan 8 9219 162
23 Kevin Yap 8 8820 154
39 (anonymous user #60233) 8 6383 128
97 Roderic Day 8 3719 75
115 lukechampine 8 3352 75

We lost Daniel Rejment and Shane Mc Cormack compared to last year. glguy topping the list. Coming back to our competitiveness discussion, how many points did they score together?

It’s varying but 2020 and 2021 and 2022 are lower. This could reflect: * increased competitiveness during the years * natural variation * legends getting older😊

All in all an amazing achievement! All in all I think there is a strong case for AoC being more competitive after 2019.

Let’s finally turn to which puzzles were easiest or hardest.

puzzle user time (seconds)
0 2022-3-1 ostwilkens 10
1 2022-4-1 max-sixty 16
2 2019-1-1 bluepichu 23
3 2018-1-1 Tris Emmy Wilson 26
4 2021-1-1 betaveros 28

Previous year we had a record of 23 second, but thanks to ChatGPT we have 2 new ‘easiest’ puzzles.

puzzle lb full (seconds)
0 2021-1-1 65
1 2022-1-1 76
2 2019-1-1 84
3 2018-1-1 92
4 2021-2-1 98

The leaderboard capped (the #100 completed the puzzle) after barely a minute in 2021 for the first star!

puzzle user time (minutes) title
399 2018-15-2 Simon Parent 36 Beverage Bandits
398 2018-17-2 Raven Black 33 Reservoir Research
395 2018-24-2 Simon Parent 28 Immune System Simulator 20XX
394 2022-22-2 mrphlip 25 Monkey Map
393 2020-20-2 xiaowuc1 25 Jurassic Jigsaw
392 2022-19-2 lukechampine 24 Not Enough Minerals
390 2021-23-2 goffrie 23 Amphipod
389 2019-18-2 glguy 22 Many-Worlds Interpretation
388 2015-22-2 Paul Hankin 21 Wizard Simulator 20XX
387 2021-19-2 ecnerwala 21 Beacon Scanner

The longest 3 solve times were all in 2018! Shoutout to Simon Parent for solving 2 out of the top 3. This list mostly has puzzles that just take a long time to code, with Beverage Bandits as perfect example.

puzzle lb full (minutes) title
399 2015-19-2 232 Medicine for Rudolph
398 2015-1-2 186 Not Quite Lisp
397 2015-22-2 183 Wizard Simulator 20XX
396 2016-11-2 164 Radioisotope Thermoelectric Generators
393 2018-15-2 143 Beverage Bandits
392 2019-22-2 123 Slam Shuffle
390 2019-18-2 117 Many-Worlds Interpretation
388 2018-23-2 100 Experimental Emergency Teleportation
387 2016-22-2 88 Grid Computing
386 2018-24-2 87 Immune System Simulator 20XX

If we look at when the leaderboard capped some different puzzles show up. I feel that this list has some more algoritmic challenges (Slam Shuffle for example, but Medicine for Rudolph as well). Also 2015 shows up in the top 3. If these puzzles would be recycled in 2021 they would have been solved faster.

Overall, I feel 2018 is a strong contender for the most difficult year, with day 15 the most difficult puzzle in the history of Advent of Code!

Hope you enjoyed this analysis and see you back next year! 🎄⭐🎅