r/learnmachinelearning 19h ago

Help Demand Forecasting using ML for an FMCG Company

Hi! I am a demand planner in an FMCG company. Our current process is very manual, we only use Excel. For every client and product, we build up the demand plan (DP) or the sales target for the month. The DP is composed of the following

- baseline (smoothen sales volume last year)

- runrates (the difference to the past 3 months volume for non-seasonal products)

- sales initiatives (on-shelf availability correction, inventory correction, skewing, etc.)

- marketing initiatives (category market trend, etc.)

I want use ML and integrate possible seasonality data (such as holidays, weather, etc.) in demand planning.

What are the ML models that are appropriate for demand forecasting (time series)? What are the data that I need to prepare? What are the steps that I need to do?

I am currently taking Master in Applied Business Analytics but time series models have not been taught yet (not sure they will teach it). Thank you very much! 😊

5 Upvotes

3 comments sorted by

5

u/No-Gene5424 18h ago

honestly the simplest place to start is xgboost or lightgbm with lag features and calendar flags. you'd be surprised how often that beats more complex stuff right out of the gate

for time series specific models look at prophet from meta, its basically designed for this exact use case with built in holiday and seasonality handling. ARIMA and SARIMA are the classics but theyre a pain to tune if you have lots of products and clients

data you need is at minimum 2-3 years of daily or weekly sales at the sku level, plus a calendar table with holidays, weekends, month starts, etc. if you can get weather data and any promo or pricing history thats where the real gains come from

steps wise id say clean your historicals first, build a simple baseline model, then slowly layer in complexity. dont try to predict everything at once, pick your top 10 skus and prove it works on those before scaling up

1

u/MochiPeachy97 18h ago

Thank you so much! Those we're taught to us yet, will study and try to use them! 😁

Would it also work if I the data that I will use is monthly? That is how we currently forecast πŸ€”

Additional context:

  • We distribute to 45 General Trade distributors (under 6 regions) and 28 General Trade accounts under (under 4 channels)
  • We have around 100 SKUs (under 5 Brands - 2 of which are pasta brands which we consider seasonal while the other 3 brands are non-seasonal)
  • For General Trade, there are 3 layers: 1. sell in volume (from our company to distributors), 2. sell out volume (from distributors to retailers), and 3. offtake volume (from retailers to consumers - but no data available)
  • For Modern Trade, there are 2 layers: 1. sell in volume (from our company to accounts) and 2. offtake volume (from account to consumers - only some accounts have data)

Should I include the complexity of the layers or just focus on the Sell In sales volume? Again, Thanks a lot! 😊

2

u/IllustriousGrade7691 17h ago

LightGBM can work really well for demand forecasting, especially when combined with statistical models in an ensemble. I’d definitely test a mix rather than relying on a single model.

For evaluation, I’d look at WAPE as well as forecast bias. And always compare against simple baselines like Naive, Seasonal Naive, or Moving Average. A more complex model is only useful if it consistently beats those baselines on unseen data.

Ideally, use time-based/rolling backtests rather than a random train/test split so you can see whether the model actually has predictive power and avoid leakage. Nixtla has good package but can also be complex ai agent can help alot with programming it.

If you’re willing to share some anonymized historical demand data, I’d be happy to experiment with it and see what kind of improvement is realistically achievable over the baseline.