We therefore demonstrate that the algorithm is efficient as the majority of samples are titrated without overshoot and these samples typically required between only two to four iterations on our pH robot. This is on par if not more efficient and generally applicable than the method presented in (13) despite working with a more complex titration as we are using citric acid (a weak, polyprotic titrant) and do not feed the method any information about the system being adjusted. This validates the developments made to our titration algorithm, such as modelling the GP with a linear and monotonically increasing mean function. As expected, the distribution for the overshot samples lies to the right of those that do not overshoot. Here, the mode number of iterations to reach the target pH is five. This is quite reasonable considering the complexity of adjusting a system with a citrate buffer. Additionally, we see the overall distribution is positively skewed with some particularly difficult samples. These were samples which themselves contained ingredients with a buffering agent. Overall, though, the algorithm works efficiently and the rate limiting step for the overall pH adjustment is the mixing time after acid or base addition. As mentioned above, we have optimised this through implementing dynamic control of the mixing time; we only stir the formulations for as long as it takes their pH to reach steady state (measured via continuous logging of the pH meter). Therefore, the titration process is as efficient as it can be.