I am attempting to forecast percentage of churn. However, I am running into issues. The churn is fairly stable except at each year anniversary point.
For example, data looks like this for the first year
Month 9: 1.013770726
Month 10: 1.013770726
Month 11: 1.015761766
Month 12: 0.72113357 #big drop in first year
The next year looks fairly stable except the 2nd anniversary point:
Month 21: 0.7765050878
Month 22: 0.7844692491
Month 23: 0.7884513297
Month 24: 0.4732490503
I thought about simple exponential smoothing model or a simple weighted average. That will help me with normal months but not the expected large drop each year point.
I also tried an arima. That helped with the seasonal drop but well under-forecasted all the other months.
Is there an another option that is obvious that I am not considering?
Here is the completed data set
month churn
2016-09-01 0.9854712144
2016-10-01 1.000828964
2016-11-01 1.000828964
2016-12-01 1.000828964
2017-01-01 1.004811044
2017-02-01 1.006802085
2017-03-01 1.006802085
2017-04-01 1.009788645
2017-05-01 1.009788645
2017-06-01 1.013770726
2017-07-01 1.013770726
2017-08-01 1.015761766
2017-09-01 0.72113357
2017-10-01 0.7300932514
2017-11-01 0.7346932411
2017-12-01 0.7406663621
2018-01-01 0.7565946846
2018-02-01 0.7585857249
2018-03-01 0.7625678056
2018-04-01 0.7685409265
2018-05-01 0.7725230072
2018-06-01 0.7765050878
2018-07-01 0.7844692491
2018-08-01 0.7884513297
2018-09-01 0.4732490503
2018-10-01 0.4890469254
ets()
in theforecast
package for R? It might make sense to work on logged data, given that your data are percentages, i.e., multiplicative. It would be good if you could post a complete time series you want to forecast, not just a few months. $\endgroup$