I'm trying to model some year-on-year data, as seen in the picture, each line represents a different year. From 52 to 0 (x-axis) are the weeks leading up to the last point on the left. I have been trying XGBoost regression, based on individual data points. The columns I have are :
- Year
- Week Number (0-52)
- Revenue (target, y-axis)
My main challenge is that I need to be able to model the "jumps" as you can see from the picture, one around week 29 and one around week 25. I know from domain knowledge that these are special events. I can get these "changepoint" weeks by differencing the numbers by year and setting a threshold for the differenced values.
How can I model these jumps in a way such that I can manually inject the jumps ahead of time for future prediction? Say for next year's data, I know the jump will occur at week 20, how can I manually tell the model to predict with this in mind? I have been getting very bad MAPE values thus far, in the hundreds.