Which Machine Learning Technique to use for Demand Forecasting? I have a dataset with 2 discrete predictors and I need to forecast demand of workforce required. The features basically describe applicant behaviour(stage of application e.g. online assessment, pending invite, interview round 1, under review etc). There's another predictor variable that states time frame but in categories e.g. been in a certain stage of application for >1 and <10 days, > 10 days.
As seen above, the discrete predictors are not binary(e.g. Male/Female) and could be divided within multiple categories. I have data back from 2019-Now.
I need to forecast for anywhere upto 6 months. I'm not sure if this holds any importance but the data will be analysed on a weekly basis.
Since this is a demand forecasting problem, I thought an ARIMA/Holt-Winters approach would work but I'm unsure if the size of the dataset is large enough(roughly 2 and a half years). Since I have discreet features as well, I thought a random forest model might work better?
The data is quite seasonal as well, and that could serve as a key deciding factor as well.
I would appreciate any suggestions one could give me in terms of which model I should look into? If anyone has more suggestions than random forest or arima and holt winters then that would be of great usage as well!
 A: Your best bet, as bdeonovic notes, is likely linear regression. The total number of people hired would be your dependent variable. Time-lagged values of the numbers of applicants in the various stages would be the independent variables. You may need to forecast these predictors out themselved, especially for longer-term forecasts.
If your predictors themselves are already seasonal, then your model may not require additional "seasonality treatment". However, since your predictors will need to be forecasted themselves, you will in this case likely need seasonality models here. ARIMA and H-W have major problems with "long" seasonalities, i.e., more than about 12 periods per cycle. Weekly data with yearly seasonality have about 52 periods per cycle. Take a look at this, and note that this framework can also include explanatory variables. It's essentially regression with ARIMA errors. So you will need to plug various models together to forecast your predictors and feed them into the final model, adding a seasonal treatment where appropriate.
Once you use (potentially multiple) lags of your predictors, your models will likely be over-parameterized. Look into ways of regularizing them, like the Elastic Net, Ridge Regression or the Lasso. There are various R packages that can help you with this.
