Edit: I forgot that you were looking for sklearn solution, but I think that simple weighted moving average could be good start. I usually try to start with something simple and only if that does not give me desired results go to more complicated stuff.
There are fancier approaches, but a simple one is to use weighted moving average, where you give more weight to most recent observations. For example:
import numpy as np
hits = np.array([100, 500, 300, 800, 900])
def predict(hits, weights):
return np.average(hits[-len(weights) :], weights=weights)
Result:
>>> predict(hits, [0.2, 0.3, 0.5])
750.0
>>> 900 * 0.5 + 800 * 0.3 + 300 * 0.2
750.0