Theoretical: Extraction proportion, relative to segments of grind size distribution.

What proportion of your extraction comes from fines, or boulders? OK, that’s the last time in this post I’m going to use the arbitrary terms like “fines”, or “boulders”…it was just click bait, sorry about that! ūüôā

If we sift coffee grinds using ASTM/ISO sieves we end up with a proportion of the total grind weight at somewhat predictable size intervals. For many grinders, a standard deviation in the grind weight is around 1.4 times/divided by the average grind size. So a 500um average grind will have 2% close to 250um, 16% close to 350um, 50% at 500um, 84% close to 700um, 96% close to 1000um.

We’ll stick with this because the numbers break down nicely in an intuitive way, but a tight distribution could have a standard deviation of little less than a factor of 1.4, a distribution up to a factor 1.5 would still be typical for a well engineered grinder, a Porlex, or similar might have a factor of 1.7.

Kruve sieves tend to make for wider standard deviations at the smaller sieve sizes, so we are not discussing those with respect to this post. I’m not saying that the Kruve sifter has no utility, just that the sieves don’t correlate to ‘microns/um’ in common parlance & that the Kruve standard deviations are less linear in nature, in the smaller particle range. Basically, you can’t mix and match Kruve and ASTM/ISO results.

We are also assuming, as is commonly done, that our particles average out as spherical in shape & extractable volume.

The graphic above illustrates, ‘back of a napkin’ style, what percentage of the total extraction each standard deviation may account for, assuming a similar average penetration & extraction depth across the whole, cumulative grind distribution. For example 75um extraction depth, or 95um extraction depth, or whatever…but a common average depth across the ground sample.

We’ll assume that a 50g dose of coffee was used and it extracted to 20% extraction yield. This then gives us 10g of dissolved coffee, extracted from the 50g dose and makes each 1% proportion of the total extraction, equal to 0.1g of dissolved coffee.

0 to <250um particles – These make up around 2% of the ground weight (this could be more with finer grinds like fine espresso, but sifting is problematic with very fine grinds). Even if these grinds extract to 30%, they only account for 3.4% (0.34g) of the total 10g of extracted coffee. If penetration depth is 100um and maximum extraction for these particles is subsequently 26% extracted, that’s 3% (0.3g) of the total coffee extracted.

>250 to <350um particles – These make up around 14% of the ground weight and likely contribute 17-18% (1.7-1.8g) of the total coffee extracted.

>350 to <500um particles – These make up 34% of the ground weight and likely contribute the second largest proportion of the extraction at 39% (3.9g) of total.

500um particles – It seems likely that the average grind size extracts to pretty much the same extent as the overall extraction yield, around 20% in this scenario.

>500 to <700um – Another 34% of the ground weight & the second largest contribution to the total yield at 28-29% (2.8-2.9g) of the coffee extracted. Therefore, >350 to <700um (+/- 1 standard deviation from the average) provides around 70% (7g) of the total extraction, in this scenario.

>700 to <1000um particles – The larger particles are harder to extract, their contribution thus dropping to around 9% (0.9g) of the total extraction.

>1000um particles – These are likely only half extracted, being about 2% of the ground weight, might only be contributing 1% (0.1g) of our 10g of extracted coffee.

Experiments in extraction (such as Zanoni, Pagliarini & Peri, 1992) suggest that smaller particles are extracted to a lesser depth than the larger particles. Which, if anything, implies that I am over-estimating the contributions of the smaller particles and under-estimating the contribution of the larger particles here?

Maximising Enjoyment by Identifying Your Coffee Preferences.

It might be startlingly obvious to everyone but myself, but I rarely see discussions on how selecting your coffee by origin is critical in how much you enjoy the final results in the cup. If you buy an origin that you have a low preference for, it is unlikely to make you a great cup, no matter how much you tweak flow rate/EY/grind distribution. So maybe start with a raw ingredient that you are more likely to greatly enjoy.

I have been pretty confident for a good while that I typically enjoy Kenyan coffee more than many other origins, on the whole. But it was only when I looked at my own notes (initially for a different purpose) that I discovered that Rwandan & Colombian coffees are origins that I typically rank very favourably too.

Of course, I very much enjoy some coffees from all origins, but when I broke down the average scores by origin, it appeared that average scores were not high for some origins. I’m not saying that lower scoring origins are ‘worse’, just that given my preference, others are a better fit for me.

This is something anyone can do, simply give each cup from a specific origin a preference score (I use the widely used 9 point hedonic scale, because I’m used to it and it gives an option for a neutral score at 5). Then after a few bags determine the average score and compare.

I would also suggest that you also compare like-for-like with respect to brew method/brewer/specific recipe, as some may accentuate/attenuate acidity for a given coffee (which might also give you the opportunity to have a second bite of the cherry and see if you can tune a mediocre result into something more to your liking, by changing brewer/method).

There didn’t seem to be a strong correlation for preference relative to each origin’s average EY…

The above data example relates to 188 brews, various grinders and brewers, so not a tightly controlled sample, but I have found similar results in more tightly controlled and much larger samples. In some circumstances, the ranking order of origin preference can be different depending on brew method.

Data for the 188 brews can be seen here, tab 2, “Data 1mug gooseneck kettle”, all coffees were specialty grade, roasted for filter/omni roast…

Efficient dosing for brewed coffee. Coffee-nerd pedantry level: 4/5 :-)

I guess like many people, I switch roasters frequently & tend to buy bags on the smaller side, to maximise the variety of coffee I brew. However, roasters sell coffee in differing bag sizes & brew guides tend towards dosing that may not dovetail with certain bag sizes. Therefore, I thought I’d have a look at the most commonly available bag weights (in my region) to see if I could reduce those 3/4 or 1/2 doses left over at the end of a bag. (Really I have no qualms about combining the tail end of one bag, with a dose from the new bag, or with making a cezve with the leftovers, but I thought, ‘Why not start out with efficiency in mind?’)

First, there are a few points worth bearing in mind:

  1. Bag weights should denote the minimum weight of the product, so don’t be surprised if a 250g bag contains 254g, for instance.
  2. If you are dosing with 0.1g resolution scales, it might be worth checking that the measured weights do vary by 0.1g increments. Many scales that read to 0.1g actually change reading with every addition of 0.3g, or 0.4g. I tend to use 0.01g resolution scales for dosing, which may seem excessive/pedantic (hands up…I can’t deny you’ve got me there!), but it gives repeatability nearer to 0.1g and as they react faster than 0.1g scales, it makes dosing a little quicker too.
  3. When discussing “dose” in this post, I am talking about the whole bean dose fed into the grinder, rather than the measured dose out of the grinder. This assumes that your grinder has low retention, good dose consistency & your effective dose may be around 0.2g less than whole bean (not enough to throw off extractions, or affect brew water poured).

So bags frequently available to me are 200g, 227g, 250g and 350g. Long story short, 12.5g doses & 25g doses divide nicely between all these sizes. All but 227g bags also divide nicely by 50g doses. As doses get larger, consistent dosing gets a little trickier across common bag sizes.

25g per cup is a bit hefty for me, if I want 3-4 cups per day (my daily consumption is around 460mg to 700mg of caffeine, estimate based on 14g doses of roasted Arabica typically containing 1.1%-1.3% caffeine).

Conversely, 12.5g is a little small for me and 1cup/mug brews. So let’s see where else we can find portable doses, with small variations that won’t interfere with extractions, nor significantly affect brew water weight…

13.9g to 14.2g: 13.9g gives 18 doses from 250g, 14.0g gives 16.2 doses from 227g & 25 doses from 350g. 14.2g gives 16 doses from 227g and 14.1 doses from 200g.

15.1g to 15.4g – 15.1g gives 13.2 doses from 200g, 15 doses from 227g, 23.2g doses from 350g. 15.2g gives 23 doses from 350g. 15.4g gives a tidy 13 doses from 200g and 16.2 doses from 250g. So really, 15.1g & 15.4g should suffice for most.

16.2g to 16.6g – 16.2g gives 14 doses from 227g. 16.4g gives 3.2g excess total from 200g & 250g, I think we can live with that :-). However, 16.6g gives 12 doses from 200g, 15.1 doses from 250g and 21.1 doses from 350g.

17.4g to 18.1g – 17.4g gives 13 doses from 227g and 20.1 doses from 350g. 17.8g gives 11.2 doses from 200g and 14 doses from 250g. You could leave it there, but if you wanted to scavenge that last 3.6g from a 200g bag, then you could go 18.1g.

20.0g to 20.6g – 20.0g gives 10 doses from 200g. 20.6g gives 11 doses from 227g, 12.1 doses from 250g and 17 doses from 350g.

21.9g to 22.6g – 21.9g gives 9.1 doses from 200g & 16 doses from 350g. 22.2g gives a clean 9 doses from 200g and 10.2 doses from 227g. 22.6g gives 10 doses from 227g and 11.1 doses from 250g. So really, 21.9g & 22.6g should suffice for most.

31.2g to 32.6g – 31.2g gives 8 doses from 250g. 31.9g gives 7.1 doses from 227g and 11 doses from 350g. 32.6g gives 6.1 doses from 200g.

50g – As covered earlier, divides nicely by 200g (4 doses), 250g (5 doses) and 350g (7 doses). Not so useful for 227g bags, but fine for 400g, 454g, 500g and 1kg bags. If 50g plus is your most frequent dose size, then the larger bags are starting to make more sense.

56.7g – Gives 4x doses from 227g and 6.2 doses from 350g…so at this point it seems logical to choose a certain bag size based on either 50g, or 56.7g doses?

Doses over 60g make consistent dosing across smaller bag sizes tricky: 62.5g gives 4 doses from 250g. 66.6g gives 3 doses from 200g. 70g gives 5 doses from 350g. 75g gives 3 doses from 227g.

Workings can be seen here:

Quick Clever Dripper brew.

Grind 20.0g of coffee, coarser side of manual drip, 29 on Wilfa flat burr grinder in this case. 

8% smaller than 400Kruve, 8% larger than 1600Kruve.

23% smaller than 600um, 11% larger than 1180um ASTM/ISO sieves.

Boil 225g +/- 5g brew water. A kettle that can boil the full amount of brew water at minimum capacity, safely, makes life easier. Allow 4g excess for evaporation. Pour water, straight off boil, into the brewer (using oversized paper also helps prevent overflow of the filter).

Add dose & start timer…

0:00 Gently combine coffee & water at surface.

0:45 Sink crust.

1:00 Draw down.

Cup & beverage together weighed 360g, minus the cup at 189g gave 171g beverage in this instance (1:8.5 to 9.0 cup ratio). Aim for a TDS between 1.30% and 1.60%. Gives a quick, tasty cup with low bitterness, if a little simple in profile. The low extraction means a high dose is advised, to bolster strength.

A basic guide to pour-over grind distribution.



Kruve 4 sieve flat conic budget #1The non-cumulative chart above shows Kruve analysis of 6 grinders:

2x Mahlkonig EK-43s

2x conical, hand grinders with bearing support (Kinu M47 v1 with general purpose burss, MBK Feldgrind v1) and…

2x budget grinders, in this case Porlex tall (a conical grinder, self-centering ceramic burrs) and a Swan SF16020N (a whirly blade grinder with a fixed mesh to limit oversize particles – not recommended unless you really like a challenge and are prepared to accept a lot of retention of coffee, that remains stuck under the blade).

Kruve 4 sieve flat conic budget #2


The first thing to note, from the cumulative distribution above, is that using only 400 & 800 Kruve sieves gives us absolutely no insight, whatsoever, as to the relative characteristics of any of the grinders. At these settings they all produce 11-13%¬† at 400 Kruve (essentially the same, given the inherent error in this sifting protocol) and between 20-30% at 800 Kruve. The difference between the 2x EK-43s overlaps all the others except the Kinu M47. The Kinu produces the least at 800 Kruve, but having a wider distribution around the mean than the EK-43s, it’s a case of ‘swings & roundabouts’, as the Kinu and the Feldgrind produce more particles around 1200 Kruve compared the large, flat burrs.

From 800 to 1200 Kruve we see that the Feldgrind and Kinu capture about 10% less than the EK-43s. The Porlex & Swan capture the least, about half that of the EK-43s.

1200 Kruve is where the relative differences begin to really stand out – both EK-43s capture 93% at this point. The Kinu & Feldgrind 77-79%, the Swan & Porlex capture 62% & 63% respectively. So while the EK-43s have nearly captured the entire grind between 0-1200, the budget grinders are just past the halfway mark.

1600 Kruve and the EK-43s, Kinu & Feldgrind are all within a 2% span. Ultimately, a very similar span of total distribution from zero, but the conical grinders are biased towards the larger end in terms of the average grind size & the production of oversize particles (relative to the mean).

The Swan & Porlex still have ~20% of their ground mass outside of 0-1600 Kruve.

The upshot of these differences is, at the same brew size, the burr grinders with bearing support are effectively finer & can present more resistance to the weight of brew water, at these settings. This means the brew water can be poured in larger pulses and a higher pour rate (grams per second).

The Porlex & Swan can require a slower pour rate to achieve a similar extraction. The Swan cannot be adjusted, but the Porlex could be taken maybe a click finer to correct this. A possible downside of setting finer/extending the brew with smaller and more frequent pulses, is the subsequent increased agitation and washing out of silt into the cup. So a balance may need to be struck in mitigating silty cups and accepting a very slight drop in extraction, of perhaps 1%EY average (over multiple brews and origins).

For example, my brews utilising 200-230g brew water would take the form of a bloom (with quick stir), then 6 pours of 30-35g every 20s (each pour taking ~10s) for the Feldgrind (or similar grinder).

For the Porlex & Swan I slow down the pour rate by pouring 20g of water every 20s (each pour taking 8-10s). A discreet bloom stage may not be necessary with these grinders, due to the overall coarser grind size & easier wetting of the dose. This method can also be used for brews with coarser grinds from the burr grinders with bearing support.

As an illustration: using the Feldgrind 10x brews, each with a different origin, 13.5g:225 (30s bloom then pouring 35g/20s) resulted in an average 20.5%EY, +/-0.7%. Average brew time of 2:54, +/-10s. Using the Swan 10x brews of 14g:220g (pouring 20g/20s) resulted in an average 19.4%EY, +/-0.5%. Average brew time of 3:49, +/-12s.

In both scenarios I start off pouring in spirals, but once significant standing liquid is visible above the bed, I move to a centre pour to reduce agitation. This typically happens for the last 2 pours with either method. As ever, the water must drip straight down from the kettle spout, without an obvious arc. Try to pour the water ‘on to’ the coffee bed, rather than shove the bed around with jets of water.


Thanks to Can Gencer for the Kruve data for the Kinu M47 and the EK-43s.




I love coffee, but…


I love well sourced, sensitively roasted coffee. I love its sweetness with a harmonious balance of juicy acidity. I love clean, clear flavours. I love its diversity. I love complexity, but equally love one-trick-ponies if the trick is really that good.

I don’t love having to receive all deliveries from roasters direct to my place of work. I’d rather choose what I do & don’t share with my work colleagues & I feel a bit of a curmudgeon if I don’t share a new & interesting delivery with them.

I don’t love frequent trips to the post office, sorting office. I could stop off at 2 supermarkets on the way & buy I coffee I can at least drink (and ranges are expanding all the time), even if not quite as enjoyable. These supermarkets will also deliver to my home at a time of my choosing, along with my regular groceries.

I don’t love 250g deliveries of beans dictating that I have to get up early & personally receive a ‘by hand’ delivery from the postman on my days off/weekends, because it won’t fit through a standard UK letterbox (40mm¬†x 195mm).

I’m prepared to pay a higher price for good coffee. I’m prepared to hand grind every dose. I’m prepared to learn how to brew the coffee consistently. I’m prepared to forego convenience & time savings to enjoy a preferable product. I’m prepared to put in work & diligence for a good result. All I ask is that you (UK roasters except Has Bean, Union, Workshop, Dear Green, Foundry, Craft House & Denmark’s April) get the product over my threshold without me having to be in to receive it.

Imagine that the candidates on the Apprentice are charged with setting up a mail order delivery service for small items. Sir Alan inspects the final product in the boardroom, “Do you notice something about your 80mm tall packaging, compared to a UK letterbox? Do you expect all your customers to have cat flaps, or stable doors?”





Kruve – follow up.


Following on from

My sieves in the larger sizes (1200/1400/1600) arrived. Initially, I tried 500 & 1400, but the 1400 only separated out a few % at the larger end of my usual settings (not enough to make a difference should I choose to remove it). The 500 tended to leave me with a cut-off around 20%+ at the smaller end. Whilst useful if I wanted to discard the smaller particles, dropping this to a slightly smaller sieve would give me better feedback on characteristics when sifting.

Since I rarely remove the smallest particles, I figured I’d go back to 400 as the smallest sieve¬†& also dropped the largest sieve to 1200. This x3 interval in mesh size¬†equates to a standard deviation of¬†the average size multiplied/divided by¬†1.73, when 68% of the ground weight falls between them. This seems realistic with respect to the hand grinders I typically use. It also sits very well with my settings for 1 mug, manual¬†drip brews.

Also, 400 as the smallest sieve will help when it comes to sharing grind settings as everyone who has a Kruve has the 400 sieve.

I also thought I’d tweak the way I record results, I figured a straight line graph would be simplest. When comparing two grinders at an equivalent setting, the closer to vertical the plot, the less of the ground weight falls outside of the sieves & the tighter distribution.

The three grinders shown¬†below all hit mid-box extractions, with the same recipe [see, “Hario V60 Recipe for 1 mug, light/medium filter¬†roasts.”] at the settings shown.

The Feldgrind & the Lido E are so close as to be basically the same distribution as far as this method can detect (standard deviation of average x1.7). The Porlex Tall has a slightly wider distribution (standard deviation extrapolated to be the average x~1.9), but not so wide as to make it significantly worse. Indeed, if I set the other 2 grinders coarser & stretch out the pour, I can still hit tasty, mid-box extractions at a coarser grind and a standard deviation of the average />2.0.

Setting a Lido E, or Feldgrind so that 11-12% passes through the 400 sieve (2 minutes of shaking) should result in essentially the same grind setting as shown below. Typically, no part of the distribution is removed in my daily brews. However, removing just the portion over 1200 & correcting the dose weight back to 13.5g can allow a sweeter & higher extraction, without upsetting other aspects of the recipe.

Kruve vector Porex LidoE Feld

You can¬†save¬†your own template from this Google form: [Link removed – see below…]

Enter sieve mesh size, grinder details & weights captured, as required in the yellow shaded cells (all others self populate). Don’t delete all the info (name & weights) for any one grinder as you might then lose a plot & the legend colours won’t tie up any more.

EDIT: Standard deviations quoted only apply to grounds sifted with the Kruve sifter, these are not transferable to wire mesh sieve analysis.

EDIT #2: Still fiddling with a more intuitive way to present data, this is my latest iteration…

Here is a version with a Google forms template

Kruve 111 Normal LidoE Porlex Feld

Chemex with colander as shower screen.

At home I generally prefer to make small¬†drip brews (by the cup/mug), but in the office my work colleagues prefer quick, hot¬†coffee at the start of the day, rather than putting up with long brew times, my perceived obsession with ‘perfection’¬†& increased faffing for incremental gains in cup quality. Experience suggests that three mug (~600g output) drip brews¬†appear to be the quickest & most consistent way to achieve this, whilst¬†still catering¬†for my fuss-pot tendencies¬†when making ‘a hot brown drink’ ūüôā

The off-putting thing, for me personally, is that I tend to find more undissolved solids making their way into the beverage as manual drip brews get bigger. Even at ball-park extractions the brews can be less sweet. I found that simply grinding coarser, after a point, made it hard to achieve good extractions, no matter how much you stretched out the brew. In fact, this could have an undesirable effect in that increased agitation of the bed made matters worse, cups could be under-extracted and silty.

So, following on from using an Aeropress to disperse the water for Kalita Wave 185 brews, I happened accross a collapsable colander that just so happened to fit snugly into my 3-6 cup Chemex when used with Hario 03 filter papers.



Unlike the Kalita & Aeropress combo, blooming can be done via the colander/screen. Brews have been 38-40g dose to 660g, or 675g brew water.

Blooming pour (10-13% of brew water weight) is a spiral to cover the whole bed, then a quick shake of the brewer. Remaining filling pours (12-15 for most coffees, maybe just 6-8 for a very soluble Kenyan, for example) are at 30 second intervals (each pour taking 10-15 seconds) & go straight in the middle of the colander.

As with the Kalita & Aeropress, expect to see crystal clear brew water sitting atop the bed at draw down. Resulting brews are noticeably cleaner in the cup.


Kruve – what can it tell us?

Kruve Lido 0.5 0.63 0.75

As well as allowing us to ‘top & tail’, or ‘top or tail’ our grind distributions, sieves can also tell us something about our grind distributions.

I decided to dedicate one of my grinders (Lido 1)¬†to optimising via my Kruve, but still allowing for use without sifting, for days when I just didn’t fancy the additional effort.¬†Immediately it was obvious that 400 & 800 size sieves excluded a huge amount of my grind distribution with my Lido 1. Also a grind centred between these sizes was too fine for my regular drip brewing method. Therefore, I fitted the largest size I had (1100) in the top section and a reasonably fine sieve (350)¬†in the lower section. This gave me…

Kruve Lido 0.75 between sieves

At setting 0.50 from marked zero I landed 69% of the ground weight between 350 & 1100 sieves. This suggests my standard deviation for this grinder is less than 1.773, calculated as SQRT(1100/350). As an aside, I found that 400 & 1100 sieves gave me 68% between them and a standard deviation of 1.658 for this grinder, in this range. (SCAA & ECBC drip grind recommendations echo E.E.¬†Lockhart’s 1950’s analysis,¬†aiming for a standard deviation of 1.414, but this does not seem to be absolutely necessary for smaller brews).

Setting 0.63 also landed a healthy 66% between these sizes, with an even balance between sub 350 (16%) & larger than 1100 (18%) particles. Note that there is typically a bias towards the smaller end with most usable grinds, so this shows I am already coarser at 0.63 than will leave me with the average grind setting targeted by these sieves (620 Kruves). This would be an ideal place to stop, however, this was still slightly on the fine side for what I wanted, with my 1-mug V60 brews averaging 21.5%EY without sifting & removing any portion. I would be happier with a 20.5%EY average for a complete grind distribution, though I can exceed this happily when removing the largest 15-20% of ground weight.

Setting 0.75 gave 62% between the 350 & 1100 sieves. This is not a sign that the distribution is getting worse, but simply that I am now so coarse that I won’t fit the distribution within these sizes to +/- one standard deviation. Again, note that the¬†sub 350 particles¬†are now a much lower % than those larger than 1100.

Another way to view these results might be like this, with cumulative & diminishing weights at each interval, for each setting…Kruve Lido 0.75 cumulative &amp; declining fullCool, eh? Kind of ‘X-ey’ ūüôā But probably a little hard to grasp until you blank out the area above 50%…

Kruve lido 0.75 cumulative &amp; declining 50%

This now gives us a more intuitive hump/peak type diagram. The farther left the apex of the¬†trace, the finer the grind. The farther right the apex of the trace, the coarser the grind. The more acute the angle between the cumulative & diminishing traces for the same setting, the tighter the distribution. The more obtuse the angle, the wider the distribution. Look at how the black ‘0.75’ trace almost touches the red 0.63 trace at 350. Blue (0.50) & red (0.63)¬†traces are very similar & virtually parallel between 350 & 1100.

For now, I have settled on setting 0.69 with 500 & 1100 sieves. I get a maximum of ~20% under 500. This allows me to save a little time by being a coarser than I need to remove the bottom 15%, or so, for immersion brews. The 500 is also quicker & easier to clean.

This setting also retains ~20% on top of the 1100, which I discard for drip brews. Kruve have just announced availability of larger sieves, so I intend to replace the 1100 with a 1200, to allow me to sift out either the bottom 15% or the top 15% at will, depending on brew method.

Kruve Lido 0.69 between sieves