The idea is that every night, new results are imported from the many systems that connect to SquashLevels and then the calibration is let loose on them such that the new player levels are worked out for those matches while ensuring level equivalence between pools and over time.
The really key part though is that this needs to be done completely automatically. With hundreds of thousands of results coming in for tens of thousands of players it simply isn’t possible to do any of this manually. Scale is the big killer for these complex algorithms - unless they are fast, efficient and automated.
This turns out to be very difficult to achieve because of the ambiguities of player behaviour, player results and the models we apply to match them. The adjustments are made a little at a time with the goal being that they all match nicely and the system becomes stable but, in reality, humans are not that straightforward and unless you get it right, you really can’t achieve stability and the levels keep changing forever.