Great British Bake-Off Visualizations

For the last couple of years of The Great British Bake Off, I’ve been playing Fantasy Bake Off with colleagues and friends. It’s a fun and silly thing to do: each week you pick who you think will be star baker, who’ll come top of the technical challenge, and so on. The problem with this is that it’s quite hard to get any points at all, and this got me thinking about how to assess how well the contestants were doing over the course of the competition.

Collecting Data

The problem with this is that there’s not many quantitative measures available from the GBBO. However, I wasn’t going to let this stop me – as is probably clear from other entries in this blog, I feel that making spreadsheets about TV shows as you watch them is a perfectly respectable pastime, and since this is just for fun, I didn’t really care if there was a subjective element to the numbers I was putting into the spreadsheet.

The obvious measure to use of how contestants are doing is their position in the technical challenge each week, so I included that (12 points for first, 11 points for second, etc.) As well as that, after seeing what Paul and Mary/Prue said about the signature and show-stopper challenges, I’d try to give each bake a score from 1 (best) to 5 (worst) and scaled them so that each round had roughly the same weight. I also gave the star baker a few extra points.

The data that in retrospect I really should have included, but didn’t, were the bakers whom the judges described as being also in the running for star baker and elimination each week. That’s probably quite a strong signal, and it’s even helpfully recorded in Wikipedia’s helpful results summary table.

“Predicting” Results

This is the point at which I have to admit to some geek shame: at this point I clearly should have used some of the techniques I learned this year from Andrew Ng’s Machine Learning course on Coursera, to learn which combinations of features would best predict the star baker, technical winner and baker to be eliminated each week, but frankly I didn’t think of that until a point where I was already anxious to be finished with this whole silly project. (Also, given I only have data for 2016 and 2017 and the results seem pretty random, I’m not sure how well that would work anyway.) Maybe that’s a project for 2018, though.

I did combine these scores into an ad-hoc overall score, however, evaluating how well each contestant had done cumulatively (with some decay applied to earlier weeks) and picked my winners for Fantasy Bake Off from that. It’s hard to say how well this worked: for example, it didn’t work as well last year as the method of one of my colleagues, which was “ask their grandmother who would win each week”. Also this year I was beaten by a colleague who was many weeks behind in actually watching the show, but guessing each week anyway, and who amazingly managed to pick all three finalists in the first week. Nonetheless, my method was probably better than me just guessing based on my vague impressions of who was doing well at each point.

Visualization: bumps / horserace charts

I’d been really impressed by Anna Powell-Smith‘s visualization of the progress of the premier league over a season as a “bumps chart” or “horserace”, and wondered what my GBBO scores would look like if you plotted them in a similar way. My cumulative scorings up to and including each week could be considered a bit like points in a league, week-by-week. Would you be able to see the “character arc” of each contestant from this view of the data? I asked Anna if she would let me use her code to try this, and she kindly said yes, allowing me to make this:

Click on the image to go to a larger, interactive version

Getting that to work took a day or so, even with Anna’s source code, since it meant me learning more about D3, but I found that rather good fun.

However, coincidentally, Anna had recently started working at Flourish (a data visualization service that’s grown out of Kiln, whose work you will probably recognize) and she suggested that I try using their service to produce a similar visualization, using their “horserace” graph type. This turned out to be pleasingly easy to do: the preloaded example shows you what rows and columns are expected in your uploaded CSV file in an obvious way, and the results are very nice, I think. (Although there’s the odd thing I couldn’t see how to do, like adding an indication on the lines of any point where someone got star baker.) For example, here’s the 2017 competition using my “subjective” measure:

Click on the image to go to a larger, interactive version

There are some nice things that jump out at you from this visualization – obviously I’m picking things that accord with my view of the competition, so you may well disagree!

  • Steven’s incredible start to the competition
  • Sophie’s very consistent excellence later in the competition
  • Kate being extraordinarily lucky not to have been eliminated week after week towards the end
  • Liam being eliminated was very harsh given his record in the weeks up to his elimination
  • Julia’s rise and fall was pretty dramatic
  • Peter did well enough in the first round (particularly in the technical) that even though he was eliminated my scoring put him above Chris, Flo and Tom (the next three to be eliminated)

For comparison, here is what the race looks like if you just consider the bakers’ placing in the technical challenge:

Click on the image to go to a larger, interactive version

I like that slightly different things jump out here: Steven doing relatively less well in the technical challenges, and the impressive performances of Sophie, Julia and James in the technical challenges.

I had similar data from 2016, so it might be worth talking a bit about that too. Here’s the graph that includes my subjective assessments for 2016:

Click on the image to go to a larger, interactive version

… and here’s the corresponding graph just based on technical challenge placings:

Click on the image to go to a larger, interactive version

The big things that I think jump out at me from these are:

  • Benjamina being eliminated in week 8 was really tough! She’d been so consistently good up to that point. I know it’s all about what happens in a given week (except for tie-breaking) but still…
  • Candice won, of course, but my subjective measures suggested Andrew had done very slightly better cumulatively over the competition. (Again, I know what happens in the final week is what really matters, and Candice was a worthy winner :))
  • Candice did consistently very well in the technical challenges

(I’ve put those four graphs into a Flourish “story”, which is perhaps a nicer way to go through them.)


  • For something that was meant to be a quick and silly hack, this ended up taking quite a lot of time.
  • I maintain that quantifying TV programmes with dubious methods in spreadsheets is fun and worthwhile :)
  • Flourish is really nice to use – I’m excited to see how that platform develops, and grateful that they gave me a beta account to try it out.
  • The Great British Bake Off is one of the greatest TV shows ever (but that probably should be the subject of a different post).
  • D3 is excellent, and I hope I’ll come up with some excuses to use it more in future.
  • Predicting results of the GBBO is difficult, and obviously futile in one way (you’re trying to predict something that’s already happened) but that doesn’t stop Fantasy Bake Off being entertaining. I recommend it for your workplace too.






One response to “Great British Bake-Off Visualizations”

  1. Mary Avatar

    Hi there. :) I’ve got a tab open for my own starter spreadsheet of the bake-off breakdown. I want to include “events” such as the bakers saying “but I haven’t got time” or “this is the week I’ve been looking forward to” as precursors to their demise. I meant to build the algorithm a year ago, and now, a day before the new season arrives on Netflix, I’m wondering if you maintained your spreadsheet and would care to collaborate.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.