I Shoved My Entire Beer Drinking History Into ElasticSearch

M. Bouchard
15 min readDec 30, 2020

In this article, I’m gonna talk about beer.

It’s no secret among my friends and my family that I happily partake into the local crafted brews, and I never refuse an offer to sample the newest arrivals on the taps. Fear not, I am no snob in the domain, my beard is kept short, and I do not wear my hair in a man-bun. I do not have enough hair to do that anyway.

All this to say, I like beer. Small problem: I have the memory of a goldfish. It was not that much of a problem during the first chapters of the modern craft beer explosion up in my neck of the woods, but eventually, I found myself purchasing a terrible beer a second time quite simply because I had forgotten I disliked it.

Keeping notes could have been a solution, but let’s be honest here: somebody whipping out a pencil and a notepad in a pub looks awkward as all hell. The pencil and notepad immediately marks him as ‘that guy’. He will tell you that whichever thing you are drinking is nothing but yellow water and then go on about how his single-batch single-malt single-hop free-range organic ten thousand IBU IPA is what everyone and their children should be drinking.

(Whip out a pencil and notepad in a whisky bar, however, and that is socially acceptable. Go figure.)

Either way, I needed a memory outside of my memory.

Untappd

Fortunately, this is where Untappd comes to my aid. An eternally evolving database of breweries and beers that I can quickly and quietly rate, while making everyone believe that I am just answering a text message. I get to choose a rating from one to five stars, I can put down a couple words to help myself remember what the beer tasted like, and from now on, I have information that does not need to be stored inside of my terrible memory.

Making Sense of It All

I had the app installed since 2013, and it has served me well. Lately, the service has put out its Year In Beer feature, as it does during the December month, and it has left me… wanting. It told me of which beers and which styles I drank most frequently, but it was not doing much to dive beneath the surface and analyze my second-degree behaviors.

Let me put it this way. My third and fourth most frequently drank beers are Newcastle Brown Ale and Stella Artois. Do I like them? Yes, kinda, sorta, I mean, they are not offensive beverages and I will be happy to drink those. The plain truth is that I did not drink them because I chose them, but because it was all there was at the pub.

If I attempt to sort my beers by the rating I gave them, I find the list polluted by one-hit wonders. Sure, I gave this one five stars, but I only had it once. Talk about quitting while you are ahead. Nothing to help my issue of trying to figure out what I truly liked best.

Credit: Elastic.co

Then, I had an idea. I downloaded my entire check-in history, downloaded ElasticSearch to put that history into, and downloaded Kibana to view that history in a fashion that would hopefully let the data reveal its secrets.

Credit: elastic.co

Parenthesis for people who are not in the know. ElasticSearch is a software in which I can dump data. It is like a big library, organized and sorted with index cards. Kibana is an accompanying software that allows me to view the data, especially in an aggregate fashion. How many of these things? What is the maximum and the minimum? What is the sum? What if I apply a filter?

Disclaimer: I am not a formally trained statistician or data analyst. The only reason I know of ElasticSearch is because I have been using it in my day job to make simple groupings and aggregations. Trying to make sense out of my less-than-conscious beer drinking habits required knowledge that was outside of my tool box.

Fortunately, my Google skills are still sharp, and I found out that what I am looking to do is a Bayesian analysis. The basic story of Bayesian is that everyone starts in the middle of the graph, and the more ratings something gets, the more it will move towards its final destination. In other words, if I rate a beer perfectly and only drink it once, it will only move up the chart a little. If I drink it many times, it will move much higher.

Therefore, I expect that my favorite beers of all time will be those that I drank many times, and consistently rated favorably. That consistency is a key here, because some breweries have the ability to make an excellent beer whenever they do not screw it up three out of four times. Some breweries make amazing brews just as often as they create undrinkable abominations, and some beer styles are quite volatile in terms of my personal appreciation.

If Kibana is capable of doing a Bayesian analysis, I do not know where to find it. It’s the holidays, I don’t want to bang my head against the wall too hard, so I leaned in favor of the good old method of fooling around in a spreadsheet.

To Work

My Untappd data showed all the beers I checked in, what kind of beer it was, which brewery made it, where that brewery was from, what rating I gave the beer, what rating the rest of the world gave that beer, and when that check-in happened.

Within my personal world, a 3 out of 5 is the baseline, and it makes up the overwhelming majority of my check-ins. Some great beers earned a 4, and a few rare jewels got themselves a 5. Conversely, a few earned a 2 or even a 1 — and if a beer was absolutely undrinkable or showcased an obvious defect, it got the lowest rating that Untapped would allow me to give: 0.25. At the end of the day, the question I was seeking to answer was: how much would I like to drink this beer again in the future?

Step one: regroup beer styles into more broad-reaching families. There are countless variations on India Pale Ales alone, and Untapped does not maintain a hierarchy of those styles, so I put together my own classification, quick and dirty. This way, all IPA styles belonged to the IPA family, the trappist ales went into the Belgian family, and so on and so forth.

Step two: regroup my check-ins into another sheet where each beer is listed only once. If I’ve had a beer multiple times, I average out the ratings I gave it.

Step three: apply the Bayesian formula and repeat the process on a per-brewery, country, style, and family basis.

Step four: export all of these into files, shove them into ElasticSearch, and create a set of graphs that are far more pleasing to the eye than a bunch of raw spreadsheets.

First of all, the big numbers: my first check-in was on August 14, 2013. The last one in my data set is dated December 24, 2020, after spanning a little over seven years’ worth of data. I made 5971 check-ins, which correspond to 4485 unique beers from 593 breweries, located in 29 countries. I drank beers of 177 different styles, which I grouped up into 72 overarching families.

To Be Fair

Before getting into the thick of it, I wish to make a few things clear:

  • From this point onward, I refer as “the world” whoever drank the same beers I drank. Some beers have been consumed by the world thousands of times, while others were only sampled a few dozen times. I like to believe that the weighted average score supplied by Untappd takes this into consideration to keep things fair.
  • Untappd supplies a weighted average score for every beer. Strangely enough, they also supply the unweighted average. However, I do not know how Untappd gets its weighted values. Either way, I use the weighted score whenever I speak of what the world thought of a beer.
  • Several beers are split up into vintages, which means that they appear multiple times in my results even though I made a list of “unique” beers — and Untappd does not supply a link to the parent beer in its export file. Chances are fairly high that this can alter the results in favor of particular breweries.
  • My preferences in terms of style and brewery depend on the availability of their products. There are some breweries that I hold in high regard because the products I tasted had been curated to the benefit of a special event or a private import, where the choice of beverage is dictated by its ability to catch the interest of a beer enthusiast — therefore anything except a basic everyday pale ale. Needless to say, I would’ve had a much more nuanced opinion of a brewery had I sampled their entire portfolio from their simple everyday brews to their special-occasion products.
  • A check-in can be as small as a sample, or as large as a pint. This can play in favor of some beers that showed up as several minor variants of one another, drank as a flight.

Deep Dive

My Favorite Styles

What unnerving repetition

The Untappd style problem rears its ugly head first and foremost: stouts grab the whole podium all to themselves. Let’s be real: these days, a beer can be labled an Imperial Stout, a Russian Imperial Stout, or an Imperial Porter depending on the time of the day and the brewer’s mood, right or wrong.

Although, this confirms something I’d suspected for a while: I heavily dislike the traditional British-style IPA.

Very well then, let’s start the exercise over, but this time, I will examine the overarching families I had prepared earlier:

That’s much better! Looks like the stout family takes my personal crown, confirmed by me having tasted 538 different brews of it. Actually a little surprising, as I was expecting Wee Heavies to grab the top spot, but it appears that my less-than-conscious behavior revealed otherwise. Either way, the stouts I drank must’ve been of high quality, since the world also elected that family as its best one. That said, I’m quite surprised that the Old Ale family took third place. Looks like the 36 beers I drank left a great impression. Same for the 6 malt liquors, which I all distinctly remember as top-shelf luxury products far from the plastic bottles of Colt 45 on supermarket shelves.

Now for the IPA situation. What I drank is well appreciated by the world, and thus forcibly has some merit of quality. Yet, that family is near the bottom of my personal ranking, and I drank 600 of those IPAs to prove it. One’s got to ask why I drank so many of them, if I dislike them so much!

I drew a line to show where my average weighted score is for the IPA family. Seems that the party pooper is the American IPA style, for which I rated nearly 200 different brews. That was enough to take the score down for everyone despite the recent arrival of the New England IPA, for which I entertain a much better opinion. Although my memory is hazy on this one, I believe that I spent a long while trying several IPAs in the hope of finding one I would enjoy — and sometimes, I walked into a pub that just happened to serve IPAs and nothing else, with the most abundant offering being the American IPA style.

While we’re on the subject, what of raw quantity? What did I drink on an everyday basis?

Truly, stouts have my favor, closely followed by IPA despite my apparent disdain for them. The explanation for this love-hate relationship lies in availability: this family simply occupies a large portion of shelf space in my local beer stores… and is definitely more thirst-quenching than a stout on a hot summer day!

Let’s move on to the core question, and find out what I liked the most, backed up by my data.

The Great Winners

Breweries

Credit: Les Trois Mousquetaires

3rd: Les Trois Mousquetaires

It’s no surprise to see LTM take a podium finish, what with its great selection of fancy beers and their consistent quality. Their mastery of barrel-aged styles is undeniable, and the brewery has been a rising star on the world scene. Small anecdote: a friend of mine went on a trip to Portugal and walked into the first pub she saw after dropping her luggage off at the hotel. What did she witness in the pub’s imported beer fridge? That’s right: bottles of Trois Mousquetaires beer.

2nd: Kasteel Brouwerij Vanhonsebrouck

I got to acquaint myself with this brewery thanks to their magnificent Donker, which I revisited several times since. As the years went by, I got to try some of their other products without paying much attention to them, and yet, little by little, they made enough of a mark to push the brewery up to second place like it was nothing.

1st: Birrifico Agricolo Baladin

As the creators of the incredible Xyauyù series of barrel-aged beers, Baladin left a profound impression within my mind — especially as the culmination to a day well-spent in an international beer festival, or as a luxury sample during a special event at the Saint-Bock. Their barrel-aged beers are insane, decadent, and never go unnoticed.

Beers: Most Drank

3rd: John Smith’s — Newcastle Brown Ale (20 check-ins)

It is a choice of circumstance, I shall admit, but as far as mass-market beers are concerned, this one got my favor at the end of the day — especially during the 2018–2019 years, which saw me take on work in a district without any microbrewery pub within reasonable distance. This beer sits in my memory right next to chicken wings, nachos, and questionable jests among colleagues as we vent after the occasional stressful day.

Credit: Bedondaine & Bedons Ronds

2nd: Bedondaine & Bedons Ronds — La Reyne Descosse (25 check-ins)

I have often praised this beer as loudly and as publicly as I could. I consider its barrel-aged version (which doesn’t have its own entry on Untappd) a must-drink on sight. I’ve spent many an evening savoring every little variant of this fine beverage, from the one left in the barrel a mere ten months, to the one conveniently ‘forgotten’ for well over three years. With its wholesome taste and powerful mouthfeel, it perfectly satisfies my craving for a “candy” scotch ale without falling into sugary excess.

1st: Vox Populi — Double Fruit Punch IPA (27 check-ins)

If there were to be a single IPA in the whole world, I would want it to be this one. The Double Fruit Punch won my heart at the first sip with its gushing taste of citrus and its ability to quench a thirst despite packing a whopping 8% ABV. It was a far, far cry from the heavy, greasy, resinous IPAs that I’d had the misfortune of tasting up until that point, and it also served as my bridge beer towards the NEIPA style that showed up a few years later. Thus, it’s no surprise that it also takes first place as my favorite beer in the IPA family, and even its weighted score left all of its rivals in the dust.

Beers: The Best of The Best

Credit: JustBeer

5th: Le Castor — Wee Heavy Bourbon

This beer came in at a time when I was desperately seeking a good scotch ale in stores, and couldn’t find anything memorable. Le Castor made its appearance with a bang, and as everyone pushed and shoved to nab the brewery’s now famous Yakima IPA, I instead went for their scotch ale again and again. I even kept one of the brew’s screen-printed bottles as a memento!

Credit: beertourism.com

4th: Kasteel Brouwerij Vanhonsebrouck — Donker

This wonderful little jewel’s claim to fame is that it earned the first perfect rating I ever gave on Untappd. I discovered this one at dinnertime at Bières & Compagnie, ordered on a lark to accompany a spice-crusted bison steak. I had to pause midway just to exclaim, “Wow. This beer is really, really good.” I feel a little pang of bliss whenever I see this decadent quadrupel on the menu, and I associate it with some of my earliest and fondest beer memories.

Credit: Bedondaine & Bedons Ronds

3rd: Bedondaine & Bedons Ronds — Le Collier de Vénus

Now, here’s a proof that Quebec can take the big boys on their own playground. Although it ties with the above Donker in my personal ratings, it took third spot as it was better appreciated by the world. It’s a beautiful and delicious quadrupel, and the best part is that it’s made in my neck of the woods. A pure delight to savor while appreciating the pub’s museum-like decoration.

Credit: Canadian Beer News

2nd: McAuslan — St-Ambroise Russian Imperial Stout 2015

I’d once purchased a twelve-pack of this beer’s first vintage in order to share it with friends. It came out around 2010–2011, at a time when I was still wildly exploring styles and breweries, and where everything felt new and a little strange. Such an extreme style (at the time) being produced by a well-established brewery became the moment when I said, “Imperial stouts are really good.” What do you know, the beer’s many vintages occupy the top of my rankings — and for some mysterious reason, I went after the 2015 edition more than the others: I drank it nine times.

And the winner is…

Credit: iscotch.ca

Les Trois Mousquetaires — Weizenbock

I had this beer for the first time at the Repentigny Oktoberfest sometime towards the end of a wild night where all bets were off. In my infinite drunken wisdom, I chose to end the night on a good note by drinking the strongest beer I could find in my immediate line of sight. Under the given circumstances, the Weizenbock somehow accomplished the unlikely tour de force of staying in my memory well after most others of that night had dissolved into fog. I drank this beer again and again, and its ease of access only served to help things even more.

This is what, indeed, got this brew to the very top. It was excellent every single time, and I drank it more often than the others, especially to accompany a BBQ steak generously sprinkled with Montreal spice. Unlike its rivals, I don’t need to wait for a rare batch like the Wee Heavy Bourbon. I don’t need to wait for a private import like the Donker. I don’t need to go to the pub like the Collier de Vénus — let alone worry about the taxi fare on the way back. I don’t need to wait for a bottle release like the Russian Imperial Stout. No matter the time of year, I can walk into a beer store, find the Weizenbock on the shelves… and pick it up, just like that, and bring it home to taste nice and slow.

Honorable Mentions By Style

  • Brown Ale: Pit Caribou — Carter
  • Farmhouse Ale: Les Trois Mousquetaires — Saison Brett
  • Milk Stout: Vox Populi — Vox Stout Chocolate
  • Barley Wine: Simple Malt — Choc…
  • Belgian-Style Tripel: Le Trou Du Diable — La Buteuse Brassin Spécial Brandy
  • Fruit Beer: Unibroue — Éphémère Bleuets
  • Oud Bruin: Benelux — Lapsus 2017
  • NEIPA: Boréale — IPA du Nord-Est

Going Forward

I’ll be spending another few days exploring my beer-drinking habits, just to see if I can answer other questions about my behavior. Things like: is there a correlation between the rating I give to a beer, and its ABV? What are my beer choices on a per-month or a per-season basis? And if I can’t answer a question right away, at least I’ll know how to shape the data to answer it in the future. Perhaps, with some work, I could automate the process to a point where all I’d need to do is re-import my latest and greatest data from Untappd, and boom, ElasticSearch does all the work for me, recompiling statistics, keeping updated on what I enjoy. The possibility most assuredly exists!… but that’ll be a story for another time.

Until then, friends, I raise my glass to you all. Cheers! 🍺

--

--