Machine learning mode retraining after getting new data
Once you trained your model, you have a measure of accuracy.

You should retrain your model when the accuracy drops below a certain threshold.

Another approach is to use a Bayesian model, in which you update your model with each new observation.

I would suggest looking into pymc3's examples