Coffee Data Science

Correlating Coffee Bean Temperature to Other Roast Parameters

Single Roast Parameters

Robert McKeon Aloe


With the Roest, there is all this data for each coffee roast. I wanted to better understand on a single roast how each parameter relates to each other. The most important is bean temperature. I looked at two roasts of the same coffee at 100g and 150g batch size. I used correlation to understand how different variables relate.

Correlation is a metric between -1 and 1, and I plot this metric as a percent because that is easier to read for me:

  • -1 means the two variables are inversely correlated
  • 1 means the two variables are correlated
  • 0 means the two variables are not correlated

Correlation is not causation necessarily.

Roast Profile

I used Scott Rao’s roast profile on the Roest that uses bean temperature as turning points for inlet temperature. This is my baseline profile.

100g Roast

I started with looking at parameters for a 100g roast. This is the example roast I went with.

At first, I used a 1 minute moving window to calculate correlation. This means I took 60 samples of the bean temperature and determined the correlation metric for the other temperature measurements. Then I slide this window across the roast data to generate this metric multiple times.

Because of the initial bean temperature drop, it takes awhile for the four temperature metrics to have a direct correlation to bean temperature. This changes around the first crack except for drum temperature.

I then did the same, but I applied only a 30 second moving window. Things get a bit weird at the end probably because during the first crack, hot gases are being released from the beans which affect the measurement.

If I then us Rate of Rise (RoR) instead of bean temperature, there is quite a bit of variation in how well it correlates to the other temperature readings and if it is positive or negative in correlation.

150g Roast

I looked at a slightly larger roast on the suggestion of a few others who said that the bean temperature probe is not as reliable at batch sizes less than 120g. So I looked at 150g.

These metrics were similar with some weirdness around the first crack. However, drum temperature was nearly perfectly correlated to bean temperature 150 seconds.

Rate of Rise had much more variations than the 100g batch. I’m not sure what to make of it.

These are curious metrics to compare because it is possible to compute this correlation on the fly and use it to affect the roast profile. It may also be possible that these metrics could give insight into the roasting process itself.

My aim is to view roasting data from another angle, and maybe we will see something new. Maybe not; it is a fun journey.

If you like, follow me on Twitter, YouTube, and Instagram where I post videos of espresso shots on different machines and espresso related stuff. You can also find me on LinkedIn. You can also follow me on Medium and Subscribe.

Further readings of mine:

My Second Book: Advanced Espresso

My First Book: Engineering Better Espresso

My Links

Collection of Espresso Articles

A Collection of Work and School Stories



Robert McKeon Aloe

I’m in love with my Wife, my Kids, Espresso, Data Science, tomatoes, cooking, engineering, talking, family, Paris, and Italy, not necessarily in that order.