The Brewing Control Chart

I’ve watched a lot of YouTube videos on dialing in espresso. Most of them follow the same basic approach: You choose your dose based on the portafilter basket you’re using, then you adjust your grind setting so that you’re hitting a brew ratio of 1:2 in 25 to 30 seconds.

For me, it always felt like this left a lot unexplained. I had a sense of how to adjust the flavour of my espresso by adjusting the grind setting, but what I really wanted was a map of the landscape I was navigating.

That’s when I found Matt Perger’s video on espresso recipes.

Matt takes a different approach: He starts with the map, and then describes what tools we have to navigate within the map. The map Matt describes is the basis of a brewing control chart, and it looks like this:

The vertical axis is the strength of the coffee. At the bottom, we have weaker coffee, and at the top we have stronger coffee. Stronger coffee has a more concentrated taste and a thicker mouthfeel. Weaker coffee has a more dilute taste and a more watery texture.

The horizontal axis is the extraction level. On the left we have less extracted coffee, and on the right we have more extracted coffee.

As we pass water through coffee, the first compounds to come out are the most soluble. These compounds taste salty or sour. As the extraction continues, these initial flavours are exhausted, and they’re replaced with compounds that taste sweet. Finally, in the late stages of extraction, both the sour and sweet compounds are gone and the least soluble compounds become dominant. These taste bitter and astringent.

So when we talk about the extraction level of coffee, we’re really talking about which flavours are dominant in the cup.

I have identified a single point in the chart above. This point indicates a fairly weak shot, but also one which is quite well extracted. This might have a light mouthfeel, with some bitterness and astringency in the taste.

Matt describes two ways we can move within this landscape.

First, we can change our grind setting while holding the brew ratio constant. By holding brew ratio constant, we ensure that:

    \[\begin{aligned}\frac{ \text{Mass of solution} }{ \text{Mass of dry coffee} } &= \text{Constant} \Rightarrow \\\frac{ \text{EY} }{ \text{TDS} } &= \text{Constant} \Rightarrow \\\text{Slope} &= \text{Constant}\end{aligned} \]

When we hold brew ratio constant, the slope in the brewing control chart must remain constant, so changing the grind setting while holding the brew ratio constant will move us along radial lines, as shown below.

The second way of moving in the brewing control chart is to hold everything else constant and let the shot run shorter or longer. Matt illustrates this as a family of circular curves:

But if we do the math on this one it doesn’t quite work out. Circular paths in the brewing control chart would imply:

    \[\begin{aligned}\text{Radius} &= \text{Constant} \Rightarrow \\(\text{EY})^2 +  (\text{TDS})^2 &= \text{Constant}\end{aligned}\]

No matter how much I manipulated the left-hand side of this equation, I couldn’t find a meaningful expression. Matt’s circular curves convey the general idea very well, but if we want to quantify what happens when we allow a shot to run shorter or longer, I think we will need to turn to a numerical model.

But before we do that, let’s take a moment to appreciate two things Matt demonstrates in this video.

First, he gives us a sort of map of strength and taste. Any given shot of espresso has a unique position on this map. We can use the TDS measurements I talked about in my last post to measure exactly where a shot lies on this map, but as Matt explains, the map can also be understood qualitatively using taste and mouthfeel.

Second, he describes how we can move on this map by adjusting grind setting and shot time. This is a bit like navigating the streets of a city.

We can’t drive directly toward our destination, but if we know how the streets are laid out, then we can see that driving one block north and then two blocks west will get us there.

Next, what I’d like to do is to quantify the movements Matt describes in this video. The radial lines are easy, but we’re going to need a numerical model to describe the trajectory a shot follows when we allow it to run shorter or longer.

In the next post, we’ll replicate the 1-D model of Moroney at al., 2019, as a Jupyter Notebook. We’ll validate our implementation by comparing our results against those in the paper, and then we can tweak the parameters of the model to explore trajectories in the brewing control chart, as well as details of extraction.


  1. Dear Michael,

    great article! thank you!
    I’m curious if it’s possible to provide more insight in the metrics to show intense, mouthfeel, fruitiness, softness. Personally I never found a proper objective explanation and I personally convinced it’s not effective to try it as it would lead to a work you can fill books with.


    1. Sure thing!

      Looking at extraction yield (EY) first, objectively this is measuring what percentage of the dry coffee has been extracted into the beverage. One explanation that’s commonly given is that more acidic compounds extract faster, so if we extract less from the dry coffee (i.e., lower EY, further left in the plot), then we’ll see more of these fast-extracting compounds. However, most research I’ve seen indicates that the soluble compounds in coffee extract at about the same rate, at least as far as espresso is concerned (for longer extractions like immersion brewing, we do start to see differences). So I think a more likely explanation is that there is a different amount of each soluble compound in the dry coffee. So, as the extraction progresses, some of these become depleted, and we see a different balance of soluble compounds in the beverage. Qualitatively, what we see is that EY is a good predictor for the flavour of the beverage.

      Jonathan Gagné points out that what we’re really talking about here is *average* extraction yield. Some of the particles in the dry coffee will extract faster, and some slower, so we actually see a mix of extraction levels. The distribution of particle sizes is related to the beans themselves and the grinder/burrs, so even if the average EY is the same, we might, e.g., taste one cup which we describe as clean or sharp–often an indicator that most of the particles are the same size, so the EY distribution is narrow–and another which is rounded or complex–possibly an indicator that the EY distribution is wider.

      Looking at total dissolved solids (TDS), this is a measure of what percentage of the weight of the beverage is made up of soluble coffee. A high TDS will usually lead to a dense, thick mouthfeel, and more intensity, whereas a lower TDS will lead to a lighter tasting beverage. This is easy to see, e.g., in the difference between an espresso and a pour over. We might get the same EY (say, 20%) in both, but the TDS for the espresso might be 10%, whereas the TDS for the filter coffee might be 1.5%. In theory, the flavour profile of the two beverages should be similar, but the espresso will feel a lot thicker and more intense.

      You can use this to figure out where you want to go in the brewing control chart. If you measure what you’re drinking now, and you get 20% EY and 10% TDS, and you want more mouthfeel, then you should aim for a higher TDS. You could achieve this either by keeping the same brew ratio and going to a finder grind, which pushes you out radially in the plot (i.e., higher TDS but also higher EY), or you could reduce the brew ratio, e.g., by going to a ristretto, which essentially rotates your point counter-clockwise in the plot, trading a lower EY for a higher TDS.

      You’ll also find there’s a limit to how much you can push EY by grinding finer. Eventually, either the puck becomes unstable and you get channeling, or, even with perfect puck preparation, you reach the limit of how much you can extract from that coffee using your particular technique.

      Does that help?

Comments are closed.