Maillard Profiles Phase 2
-
- Posts: 20
- Joined: Thu 25 May, 2023 8:10 am
- x 2
Maillard Profiles Phase 2
In phase 1 I convinced myself I could efficiently explore a 2 dimensional space (Maillard % and Roast Level) and via a small subset of the possible roasts (20%) identify the likely optimal combination of those two variables.
Now based on some good feedback I have expanded to a third variable (time to FC) which was fixed at 6:00 in my first tests.
This test is a 3-dimensional space 5x5x5. The hope is that with only 7 roasts (5.6%) I can narrow in on the optimal roast for a given bean.
Variables:
Maillard %: 30%, 35%, 40%, 45%, 50%* (I dropped the 25% and added the 50%)
Roast Level: 1 (216.5), 2 (218.0), 3 (219.5), 4 (222.0), 5 (224.0)
FC Time: 4:00, 5:00, 6:00, 7:00, 8:00
*The 50% Maillard profiles at 4:00 pushed the limits of the pre-heat levels. I have lower air as I find this allows the heat to transfer more efficiently.
I created 25 roast profiles for each Maillard % and FC Time, with the naming convention M%.FC (e.g., M35.4 for 35% maillard with 4:00 FC time)
This results in all of these roast profiles: The profiles with higher maillard % start on the left together (and the low maillard % on the right) then diverge to the 5 FC times (4-8 min). All hit a 20% DTR at roast level 3.
In order to search this space efficiently I identified a set of 7 different roasts equidistant from one another in the 5x5x5 search space (there is a mirror combination of these that can be used as well):
M40.6 @ Roast Level 3 (center of 5x5x5 space)
M50.5 @ Roast Level 4
M30.7 @ Roast Level 2
M45.8 @ Roast Level 2
M35.4 @ Roast Level 4
M35.7 @ Roast Level 5
M45.5 @ Roast Level 1
It's not easy to visualize this in 3D and I'm still working out the logic/math for calculating the "optimal" combination and will share when I complete the first set.
I'm having my son randomize the order and input the roasts so my daily evaluations are more objective, I will match the roast log info with the evaluations afterward.
I attached the 25 MX.Y roasts here:
Now based on some good feedback I have expanded to a third variable (time to FC) which was fixed at 6:00 in my first tests.
This test is a 3-dimensional space 5x5x5. The hope is that with only 7 roasts (5.6%) I can narrow in on the optimal roast for a given bean.
Variables:
Maillard %: 30%, 35%, 40%, 45%, 50%* (I dropped the 25% and added the 50%)
Roast Level: 1 (216.5), 2 (218.0), 3 (219.5), 4 (222.0), 5 (224.0)
FC Time: 4:00, 5:00, 6:00, 7:00, 8:00
*The 50% Maillard profiles at 4:00 pushed the limits of the pre-heat levels. I have lower air as I find this allows the heat to transfer more efficiently.
I created 25 roast profiles for each Maillard % and FC Time, with the naming convention M%.FC (e.g., M35.4 for 35% maillard with 4:00 FC time)
This results in all of these roast profiles: The profiles with higher maillard % start on the left together (and the low maillard % on the right) then diverge to the 5 FC times (4-8 min). All hit a 20% DTR at roast level 3.
In order to search this space efficiently I identified a set of 7 different roasts equidistant from one another in the 5x5x5 search space (there is a mirror combination of these that can be used as well):
M40.6 @ Roast Level 3 (center of 5x5x5 space)
M50.5 @ Roast Level 4
M30.7 @ Roast Level 2
M45.8 @ Roast Level 2
M35.4 @ Roast Level 4
M35.7 @ Roast Level 5
M45.5 @ Roast Level 1
It's not easy to visualize this in 3D and I'm still working out the logic/math for calculating the "optimal" combination and will share when I complete the first set.
I'm having my son randomize the order and input the roasts so my daily evaluations are more objective, I will match the roast log info with the evaluations afterward.
I attached the 25 MX.Y roasts here:
-
- Posts: 20
- Joined: Thu 25 May, 2023 8:10 am
- x 2
Re: Maillard Profiles Phase 2
This is how those 7 test profiles look, you can see how they cover most of the space:
-
- Posts: 20
- Joined: Thu 25 May, 2023 8:10 am
- x 2
Re: Maillard Profiles Phase 2
Also, warning - I'm still getting the fast (4-5 min FC) high maillard (50%) roasts to work well. The heat requiurementss is too much butt I think I've been able to fix the curves and will upload at the end.
-
- Posts: 20
- Joined: Thu 25 May, 2023 8:10 am
- x 2
Re: Maillard Profiles Phase 2
RESULTS: Ethiopia Dry Process Mansur Aba Hikam
Not what I expected, but maybe that keeps me honest
I rated Fruit, Chocolate, Sweetness, and Overall on 10.0 point scales as my objective variables I then compared the input variables (Maillard %, Roast Level, Time to FC) to the objectives
Fruit: I didn't get significant fruit out of this Ethiopian at any profile
The only thing that seemed to matter was shorter time to FC (4:00) was more fruity
Chocolate Most important variable was Maillard % and preferred longer time to FC (about 6:30)
Sweetneess Sweetness was improved with more dev time (Roast=5.0) and maximized at Maillard 40%
Overall As with the last experiment, the most important variable by far was the time spent in the Maillard phase. However, this with this bean (and testing to 50% Maillard) the optimal level was not the maximal level. The overall flavor for this bean was best near 40% Maillard.
I tried the calculated "optimal" roast this morning, and while not a blind test like others I'm confidnt it was the best for this bean, although I still rated it a 7.0 / 10.0
Optimal
FC: 6:24
Maillard: 41%
Roast Level: 3
Notes:
I used a 2nd order polynomial linear regression to calculate the "optimal" roast. Not perfect for many reasons but good enough for this test.
For my next test I want to test Dry Time, Maillard Time, Dev Time and Drop Temp independently as these seem to be the basic "ingredients" of a roast profile. I will discuss in next post.
Not what I expected, but maybe that keeps me honest
I rated Fruit, Chocolate, Sweetness, and Overall on 10.0 point scales as my objective variables I then compared the input variables (Maillard %, Roast Level, Time to FC) to the objectives
Fruit: I didn't get significant fruit out of this Ethiopian at any profile
The only thing that seemed to matter was shorter time to FC (4:00) was more fruity
Chocolate Most important variable was Maillard % and preferred longer time to FC (about 6:30)
Sweetneess Sweetness was improved with more dev time (Roast=5.0) and maximized at Maillard 40%
Overall As with the last experiment, the most important variable by far was the time spent in the Maillard phase. However, this with this bean (and testing to 50% Maillard) the optimal level was not the maximal level. The overall flavor for this bean was best near 40% Maillard.
I tried the calculated "optimal" roast this morning, and while not a blind test like others I'm confidnt it was the best for this bean, although I still rated it a 7.0 / 10.0
Optimal
FC: 6:24
Maillard: 41%
Roast Level: 3
Notes:
I used a 2nd order polynomial linear regression to calculate the "optimal" roast. Not perfect for many reasons but good enough for this test.
For my next test I want to test Dry Time, Maillard Time, Dev Time and Drop Temp independently as these seem to be the basic "ingredients" of a roast profile. I will discuss in next post.
-
- Posts: 20
- Joined: Thu 25 May, 2023 8:10 am
- x 2
Re: Maillard Profiles Phase 2
A few notes on methodology:
1. Although some input variables are obvious to detect in the coffee (e.g., lighter vs. darker roasts). The variables were randomized enough that having someone else enter the roast was enough that I didn't find myself trying to identify the input variables while evaluating.
2. You might notice most of the samples were not very good. This is expected and in some sense intended. The goal is to sample a large variable space. And to ensure the optimal is within that space the variables should be extended beyond the range one might expect for the optimum. In other words, the tests should include bad coffee. On my previous test the optimal Maillard appeared to fall outside the tested range (so the test failed to identify the optimal).
3. You might also think my evaluation criteria were very subjective. This is also by design. This process will optimize for whatever objective variable you give it. This means you should evaluate on whatever you want to be optimized. In this case, I want (myself) to enjoy the coffee I make in the morning, so that was what I chose for my objective variable. Does it matter whether I actually enjoyed it or just convinced myself I did? not really. Choosing a "subjective" objective limits the value of the results of this specific test for others, however, it does not compromise the value of the testing methodology - as others (or my future self) could apply a more objective cupping evaluation to the same test methodology.
1. Although some input variables are obvious to detect in the coffee (e.g., lighter vs. darker roasts). The variables were randomized enough that having someone else enter the roast was enough that I didn't find myself trying to identify the input variables while evaluating.
2. You might notice most of the samples were not very good. This is expected and in some sense intended. The goal is to sample a large variable space. And to ensure the optimal is within that space the variables should be extended beyond the range one might expect for the optimum. In other words, the tests should include bad coffee. On my previous test the optimal Maillard appeared to fall outside the tested range (so the test failed to identify the optimal).
3. You might also think my evaluation criteria were very subjective. This is also by design. This process will optimize for whatever objective variable you give it. This means you should evaluate on whatever you want to be optimized. In this case, I want (myself) to enjoy the coffee I make in the morning, so that was what I chose for my objective variable. Does it matter whether I actually enjoyed it or just convinced myself I did? not really. Choosing a "subjective" objective limits the value of the results of this specific test for others, however, it does not compromise the value of the testing methodology - as others (or my future self) could apply a more objective cupping evaluation to the same test methodology.

-
- Posts: 20
- Joined: Thu 25 May, 2023 8:10 am
- x 2
Re: Maillard Profiles Phase 2
After a few of these phases, hopefully the methodology with be somewhat stable and mature - then I plan to share a step by step guide, with test profiles and google spreadsheet to calculate your own optimum.
-
- Posts: 20
- Joined: Thu 25 May, 2023 8:10 am
- x 2
Re: Maillard Profiles Phase 2
Also interesting, should have included the correlations between the objective variables:
Fruit being minimal correlated with overall very low (9% r^2)
Chocolate correlated more (48% r^2)
But "sweetness" correlated the most (77% r^2)
Fruit being minimal correlated with overall very low (9% r^2)
Chocolate correlated more (48% r^2)
But "sweetness" correlated the most (77% r^2)
Re: Maillard Profiles Phase 2
Hiaaronbeach wrote: ↑Tue 13 Jun, 2023 4:39 am After a few of these phases, hopefully the methodology with be somewhat stable and mature - then I plan to share a step by step guide, with test profiles and google spreadsheet to calculate your own optimum.
Hopefully I will understand a bit more with your eventual guide.
Cheers
G
-
- Posts: 20
- Joined: Thu 25 May, 2023 8:10 am
- x 2
Re: Maillard Profiles Phase 2
Probably two more sets of tests, Phase 3 will generalize the process to absolute times and temps for Dry, Maillard, and Development. Phase 4 will probably tighten up the search space (to avoid wasting time on variables sure not to work).
The goal is to have a small set of test profiles (7) that can be run and scored. And when you input the scores into a spreadsheet it tells you the likely optimal roast curve, from which you can explore more efficiently. Hopefully, it quickly identifies things one might not have tested among the thousands/millions of possible variations one could try.
The goal is to have a small set of test profiles (7) that can be run and scored. And when you input the scores into a spreadsheet it tells you the likely optimal roast curve, from which you can explore more efficiently. Hopefully, it quickly identifies things one might not have tested among the thousands/millions of possible variations one could try.