I am looking for help on best practice to model this particular distribution. This is hourly sales volume of a particular item.

As you can see, the sales have peaks around 6:00, 9:00, 13:00. Otherwise, it has slow declines throughout the day.

What’s the best way to model this kind of behaviour?

I have tried:

a = pm.Normal(‘a’, mu=0.0, sd = 0.1, shape=2)

pm.math.exp(a[0]*hour_of_day + a[1]*hour_of_day**2)

Is there a better way of doing this?

Many thanks for suggestions.