Cocktails are more than high-end spirits, fresh juices and exotic ingredients — time and opportunity cost matters too.
In previous blog posts, I’ve discussed the process of automating some of our daily workflows at Jupiter Disco , specifically parsing our daily sales reports and product mix reports to Google Sheets. I’ve since added an integration in Google Apps Scripts that loads the data into a MySQL database living in a Google CloudSQL instance and is replicated in BigQuery via Stitch . While the data pipeline and architecture are still a work in progress, there’s enough there at this point that I can actually dig in and start mining for some insights using SQL, Python and statistics.
I want to state upfront that bars are magical and essential. They are one of the last bastions of unscripted life, and my intention with this ongoing project is to help my bar and others thrive in the digital age. Technology is as transformative as it is disruptive — if we can apply a tiny fraction of the technical bandwidth that Netflix and Fortnite consume to our small brick and mortar spaces maybe we’ll have a fighting chance against these behemoths of late-stage capitalism, at least until we’re all just trying to get into the Black Sun .
“Why serve cocktails when I can sell ten vodka sodas in the same amount of time at a higher margin” — Annoying Bar Owner
Annoying Bar Owner is technically right of course, in the same sense that most economists are technically right about the machinations of the economy. But bars, like the economies they exist within, are built, operated and consumed by people, and people, in all their unpredictable, creative, and eccentric glory don’t always want vodka sodas, and sometimes they don’t know what they want, and a lot of times what they’re drinking doesn’t actually matter, but they do appreciate the option of a finely crafted cocktail served on a big chunk of ice. Just not too sweet.
And cocktails rule. The truly great cocktail bars offer menus that are at once whimsical, gonzo, retro, innovative, and timeless - a physical, consumable manifestation of what Dune (2020) would look like if Yorgos Lanthimos had been tapped to direct it and DJ Bus Replacement Service was in charge of music supervision. I don’t believe any cocktails have broken through into the realm of “real art” yet, but some have at least achieved Dune (1984) status, which isn’t nothing. So let’s dive into this data and tease out some “actionable insights”.
This is Jupiter Disco’s product mix for the YTD period — this first chart is based on sales:
So at a high level, 40.8% of Jupiter Disco’s sales YTD are in the liquor category, which represents highballs (the aforementioned vodka sodas, gin & tonics, whiskey gingers, etc), shots, and straight pours. Another 26.8% are cocktails, both classics and house, and 25.2% of our sales have been beers, both draft and in cans.
The product mix looks a bit different based on quantities sold — note that cocktails went from 26.8% as a percentage of dollar revenue to 17.8% as a percentage of quantity sold.
We sell a lot of $5 Narragansetts. And not quite as many cocktails for $13, but enough that overall our cocktail revenue is slightly higher than our beer revenue.
Before we move on: Bars come in a lot of different forms and formats. Jupiter Disco is a 1,000 square foot cocktail bar / dance club that routinely hits its limited standing-allowed capacity on weekends. It’s an entirely different format from the seated-only cocktail bar, which is itself an entirely different format from the “neighborhood bar that does really good cocktails” format. We’re all different, so your mileage may vary here.
So what is the impact of running a cocktail bar wrapped in a night club? Well for one, we have to spend a lot more money maintaining our sound system:
But the other is that we’re offering proper cocktails in a high volume setting, and those cocktails take time to make. Can we quantify the cost of that time?
My DataFrame after querying our database and doing a little clean-up looks like this:
So each row represents quantity and total sales per product per day. This dataset has 12,341 rows (essentially 2019 YTD) that I can aggregate and flip to percentages using the
.apply() methods, add a column with the day of the week, consolidate into “Cocktails” and “Non-Cocktails”, and filter the DataFrame down to weekends only:
At this point, I’ll merge this with a DataFrame containing daily net sales and have a complete DataFrame ready to explore, containing 84 total rows (every Friday & Saturday night in 2019).
To set the stage for this next step of the analysis, let’s look at the mean, standard deviation, range and quartiles for cocktails percentage of total by quantity over the year:
So on weekends, our mean cocktails percentage is 16.0%, which you’ll note is slightly lower than overall (inclusive of all days) of 17.8%.
Let’s look at the correlation between cocktail and non-cocktail percentages with net sales:
So that’s interesting. It looks like our cocktails percentage is negatively correlated with net sales, with a correlation coefficient of -0.38. One interpretation of this is that when we sell a higher ratio of cocktails to non-cocktails on a weekend, our sales are lower. And while correlation does not imply causation, the fact that we objectively know a cocktail takes longer to make than pulling a canned beer, we can wonder if the price premium for a cocktail isn’t quite capturing the opportunity cost of the time it takes to make one.
Our Saturdays are busier than Fridays and the relationship is even stronger then:
Let’s plot weekends:
-0.38 isn’t a strong correlation, but it’s fair-to-moderate, and the pattern is discernible on the above scatterplot. We can also look at the relationship over the year:
I’m obviously obscuring the left Y-Axis because the intention of this post is not to blast Jupiter Disco’s sales all over the Internet, hopefully, y’all understand.
To try to quantify the impact, I broke this dataset into two sample sets: (1) Low Cocktails Percentage, representing the 50% of the data below the median cocktail percentage of 15.9%, and (2) High Cocktails Percentage, representing the 50% of the data above.
Looking at the statistics for each sample set, the Low Cocktails Percentage group had mean sales 5.3% higher than the overall mean, and the High Cocktails Percentage Group had mean sales 5.3% lower than the overall mean, which feels like a fairly large swing in either direction based on what percentage of cocktails we sell.
Is it statistically significant?
Before we run the test, let’s frame the question properly. Our Null Hypothesis is that a high percentage of cocktails does not have a negative impact on sales. Our Alternative Hypothesis is that a high percentage of cocktails does have a negative impact on sales. Let’s set our significance level to 0.05 and run a t-test to evaluate whether we can reject or fail to reject our Null Hypothesis.
So, with a p-value of 0.01, it does look like the difference between these two means is statistically significant, and we can reject the Null Hypothesis.
Quantifying the cost of running a cocktail program is difficult. There is undoubtedly a lot noise in the data. The crowds change, the total amount of people over the course of a night varies over time, and there will be staff turnover. The cocktails themselves will change.
But it does look like there’s a bit of signal in this data, implying that the cocktail price premium isn’t quite capturing the opportunity cost of the time it takes to produce them (the opportunity cost here is the time bartenders could be selling vodka sodas). And if we don’t want to raise prices (which we don’t), it means we’ll have to revisit the builds and processes for making cocktails to see if we can shave some seconds off and get them out faster.
On a high-level, I hope this post helps you understand one of the reasons why cocktails are more expensive than a highball. It’s not just the ingredients in the glass. Every minute spent stirring a cocktail is a minute not spent slinging beers and shots, and on busy nights that time can add up. And that’s before we start accounting for the research & development cost for each cocktail, the training time, and all the other factors that go into their real cost, explicitly stated or not.
Hope you enjoyed.