@1stinline4model3.lha Thanks for the great questions. I’m happy to share the details since this is just a personal project for my micro-roastery.
1.) & 4.) Back-testing & The Ethiopian Bias You’re right—my current analysis is heavily biased toward Ethiopian Naturals (mostly because I love them too much!).
There are two reasons I haven’t done extensive back-testing on other datasets yet. First, exporting and cleaning hundreds of historical logs from RoasTime into a format my script can digest is a bit of a manual nightmare! Second, the current threshold (AR(1) >= 0.35) is definitely overfitted to the explosive moisture-loss behavior of high-density Ethiopians.
The logical next step for optimization would be Dynamic Thresholding: analyzing the early drying phase to classify bean density and auto-adjusting the CSD threshold.
2.) FC Definition & Thermal Proxy To eliminate human reaction-time noise and keep the data consistent, I marked “FC” in these 31 profiles using a strict thermal proxy: when the physical BT probe hits ~190°C.
This “190°C rule” worked mainly because I was roasting almost the same types of Ethiopian beans with consistent thermal properties. Interestingly, the CSD signal (AR(1) spike) appears roughly a minute and a half before the probe hits that mark. It seems the algorithm is detecting the internal thermodynamic phase transition well before the sensors capture the macroscopic result.
3.) The Algorithm It runs a Kalman filter on live BT data to clean noise, then monitors the rolling variance and lag-1 autocorrelation (AR(1)) of the “innovations.” Full disclosure: I relied on Claude Code for the Python implementation. I understand the surface-level physics of CSD, but let the AI handle the complex math and coding, haha!
5.) The Use Case Currently, it’s a reliable safety net for beans with similar profiles to my Ethiopians. The goal is to eventually use it as a co-pilot for profiling unknown origins, providing a “second opinion” ~60–90 seconds early.
6.) Inspiration I simply asked Claude: “Is there a way to predict phase transitions using only my existing temperature logs, without adding new sensors?” It suggested the CSD approach (common in ecology and medicine) as it’s computationally light and doesn’t require massive training data so give it a shot!
Hope this clarifies things, and good luck with your Bullet! 