I want to generate daily sales based on week distribution and monthly sum, and I want it to look smooth, without jumps from month to month, and another condition is not to change monthly sum. The idea of how it should looks like is below, kinda looks like normal distribution:
(blue line - current sales distribution, red - approximately what I would like to get)
My own method was about decreasing/increasing (increasing if monthly sales in the next month are higher than in current) sales in the month begginning and increasing in the end. I generated list of values and then multiply sales by that list. But that doesn't really work because in some cases decreasing sales in the begging can be too much when monthly sales in the next month are much higher than in current month.
Different time-series smoothing technics will change monthly sales, and even bringing the monthly sales to desired values by adding error (abs(new_sales_after_smooth - desired_monthly_sales))/30) to every day in month, will not change the situation and there will also be sharp ups and downs from month to month.
And sales from month to month not only can be increasing, also decreasing.
Saving weekly seasonability is also important
I would be grateful for any ideas on how to solve this problem. Example data is below. Numbers in propotrion column is part of monthly sales.
| weekday | proportion |
|---|---|
| Monday | 0.040088 |
| Tuesday | 0.028345 |
| Wednesday | 0.027814 |
| Thursday | 0.034188 |
| Friday | 0.035997 |
| Saturday | 0.031616 |
| Sunday | 0.032600 |
| month | sales |
|---|---|
| July | 16263212 |
| August | 17422652 |
| September | 18028792 |
| October | 20588807 |
| November | 26466756 |
| December | 40903354 |

