
"My assay has a few percent of error - won't that throw off the model?"
Errors and reproducibility are one of the most common concerns we hear about data-driven optimization.
However, Bayesian optimization is often built on Gaussian process models, and these don’t assume your measurements are exact. They treat every result as a signal wrapped in noise and estimate both at once: the underlying trend, and how much scatter sits around it. So a single low reading doesn't send the model chasing after it - it's weighed against everything nearby and read as noise, not as a new optimum.
This is why BO stays stable where simple curve-fitting would not. It isn't trying to pass through every point; it's trying to find the surface those points are scattered around.
Of course, there is a limit to this tolerance. A GP handles random noise - run-to-run variation from sampling, injection, or integration; it cannot fix systematic error. A miscalibrated instrument or a drifting internal standard won’t average out. They bias the data in one direction, and the model learns the bias along with the chemistry.
The models also have a measure of uncertainty and can suggest sensible replicates to mitigate where, for example, there are two very different yield measurements with very similar inputs.
Where prior data exists, there's a further safeguard. Our transfer learning engine, MemoryBO, warm-starts a campaign from related historic data - so a noisy early dataset isn't read in isolation, and the model is less easily pulled around by the scatter in a handful of new runs.
None of this removes the need for good experimental practice, but it does ensure that teams can get the maximum value out of slightly noisy data.