Building AI elasticity models for FMCG assortment and price optimization
Price elasticity models have existed in FMCG for decades, but most are too slow and too coarse to drive real decisions across thousands of SKUs, channels, and retail partners. This playbook walks through how to build AI-powered elasticity models that actually connect to category planning and trade negotiation.
Neo NeumannAI Practice LeadSeptember 13, 2026Listen to the podcast
5 min
Chapters
Key takeaways
- Pool data across similar products and stores so slow-moving SKUs inherit patterns instead of producing noise.
- Move elasticity refreshes from every 13 weeks to weekly so numbers survive contact with a live trade negotiation.
- Clean your point of sale feeds so a price cut can be separated from a display promotion sitting on top of it.
- Model the post-promotion dip explicitly and validate against holdout stores where you deliberately skip the price change.
- Treat a wide confidence range as the model admitting it does not know, and override it with human judgment.
The problem is not that FMCG companies lack pricing data. A major European grocery retailer generates tens of millions of point-of-sale transactions per week. The problem is that traditional elasticity estimation, typically ordinary least squares run on aggregated weekly shipment data, collapses everything into a single coefficient per brand. That coefficient says nothing about whether Carrefour's 1.5-litre SKU of a fabric softener is more elastic than its 750ml sibling in a hard-discount format in southern France, which is exactly the question a category manager needs answered before a range review.
The gap has widened since 2024 because retailers now expect manufacturers to arrive at Joint Business Planning sessions with their own demand models, not just syndicated Nielsen or Circana data. AI elasticity models close that gap, but only if they are built with FMCG's data realities in mind: irregular promotions, in-and-out listings, cannibalization across pack sizes, and the constant noise of competitor activity that never appears in your own ERPERPA single integrated software backbone that runs core operations: finance, procurement, supply chain, HR and manufacturing on shared data.View full definition →.
How do you build an AI elasticity model for FMCG?
Step 1: Define the pricing or assortment decision first
Before any data engineering, write down the exact decision the model will feed: assortment rationalization for a retail channel review, a list price change ahead of a contract renewal, or a promotional depth recommendation for a trade co-investment. Each requires a different output granularity. An assortment decision needs store-cluster-level cross-elasticities between your SKUs and the category. A list price decision needs aggregate brand-level elasticity by account. Conflating these produces a model that answers neither question well.
Step 2: Assemble two years of weekly sell-out features
The minimum viable dataset for an FMCG elasticity model spans at least two years of weekly sell-out (not sell-in) by SKU and store cluster, matched to: shelf price, promoted price, display and feature flags, competitor price index from retailer data or third-party panels, distribution points, and any external drivers such as seasonal demand indices or private-label penetration by category. Unilever's category teams, for instance, layer in weather data for seasonal categories and mobility indices for convenience-channel SKUs. That contextual depth is what separates a model that predicts from one that merely fits.
Step 3: Match model architecture to your SKU count
For a manufacturer managing fewer than 500 active SKUs across a handful of accounts, a Bayesian hierarchical model is often the right call: it pools information across similar SKUs to stabilize estimates where data is thin, and it produces credible intervals rather than point estimates, which matter enormously when you are defending a price increase to a buying team at Tesco or Walmart. For portfolios above 1,000 SKUs with irregular promotional calendars, gradient-boosted trees (XGBoost, LightGBM) trained on a rich feature set tend to outperform on predictive accuracy, though they need explicit cross-price features engineered in rather than inferred. Neural approaches are worth piloting for the largest portfolios, but the interpretability cost is real: a model you cannot explain in a range review will not be used.
Step 4: Estimate cross-elasticities and cannibalization between packs
Own-price elasticityprice elasticityHow sensitive demand is to a price change. High elasticity means customers react strongly to price increases.View full definition → tells you how volume changes when you move your price. Cross-price elasticity tells you which of your SKUs cannibalizes which, and which competitor SKUs benefit. For assortment decisions this is more important. If removing a 400g pack of a pasta sauce increases sales of your 500g pack by 70% of the volume lost, the delisting looks different on the P&L than if that volume migrates to a private-label competitor. Build a SKU-level substitution matrix, even a partial one. You can dodemand forecasting for fast-moving SKUs across channels at the same time, since the underlying feature engineering overlaps substantially.
Step 5: Push outputs into category planning workflows
A static dashboard kills adoption. The output of an elasticity model should feed directly into the tools category managers already use: Circana Unify+, NielsenIQ's Assortment Advisor, or an internal category planning template. At minimum, the model should generate a ranked list of SKU-level price sensitivity scores alongside scenario outputs for defined price moves, formatted for export into the retailer's range review template. If the model requires a data scientist to interpret it before a category manager can act on it, the process will not survive the first quarterly planning cycle.
Pitfalls that break FMCG elasticity models in production
The single most common failure is training on sell-in rather than sell-out data. Shipment volumes reflect retailer ordering behavior and promotional forward-buying, not consumer demand. A promotion that shifts 10,000 cases in week one and zero cases in weeks two through four looks like a demand spike to a sell-in model and looks like demand stationarity to a sell-out model. Use POS data wherever you have it, and be explicit about the lag structure when you do not.
The second failure is ignoring distribution change. A product that went from 60% to 80% weighted distribution during the observation window did not just experience demand growth; it gained shelf space. Models that omit distribution points as a control variable attribute that growth to price or promotion and produce elasticities that are wrong in both direction and magnitude.
Third: promotional endogeneity. Prices are not set randomly; they go down when volume is soft and up when categories are hot. A naive regression will underestimate elasticity because it conflates supply-side pricing decisions with demand response. Instrument for price using cost-side variables (commodity indices, exchange rates, packaging costs) or use a two-stage approach.
Finally, treat the model's outputs as inputs to judgment, not as answers. Category managers negotiating with a Lidl buying team are working with relationship context, ranging commitments, and competitor intelligence that no model sees. The playbook onpre-deployment checks for pricing and promotion AI covers the governance steps required before outputs influence live decisions.
Four moves to start on POS data this week
- Pull two years of weekly POS sell-out for your top 20 SKUs in one account and run a simple price-volume scatter by promotion flag. The pattern will tell you whether your current pricing assumptions are grounded.
- MapMapUsing software to automate repetitive marketing tasks and campaigns, enabling personalisation at scale across channels like email, web, and social.View full definition → which of your SKUs share a consumer occasion and build a draft substitution hypothesis before the model tells you one: the model should confirm or challenge your category logic, not replace it.
- Check whether your trade team's JBP templates have a field for elasticity-informed volume scenarios. If not, build a one-page format now, because the model output needs a home.
- Identify one commodity index (palm oil, wheat, PET resin) that drives your input costs and test it as a price instrument in your first regression.
The elasticity model is only as good as the decision process it feeds. Get the workflow right before scaling the model.
The full course on this sector:AI in FMCG (Consumer packaged goods).
Frequently asked questions
Why use sell-out data instead of sell-in for elasticity models?
Sell-in shipment volumes reflect retailer ordering and promotional forward-buying, not consumer demand. A promotion that ships 10,000 cases in week one and nothing for the next three weeks reads as a demand spike in a sell-in model and as stationary demand in a sell-out model. Use POS data where available, and state the lag structure explicitly where it is not.
What data do you need to estimate FMCG price elasticity properly?
At minimum, two years of weekly sell-out by SKU and store cluster, matched to shelf price, promoted price, display and feature flags, a competitor price index, distribution points, and external drivers such as seasonality or private-label penetration. Unilever's category teams add weather data for seasonal categories and mobility indices for convenience-channel SKUs.
What is promotional endogeneity and how do you correct for it?
Promotional endogeneity is the fact that prices are not set randomly: they drop when volume is soft and rise when the category is hot, so a naive regression underestimates elasticity by mixing supply-side pricing decisions with demand response. Correct it by instrumenting price with cost-side variables such as commodity indices, exchange rates or packaging costs, or by using a two-stage approach.
Which model should you use, Bayesian hierarchical or gradient boosting?
Below roughly 500 active SKUs, a Bayesian hierarchical model works well: it pools information across similar SKUs and gives credible intervals, useful when defending a price increase to a Tesco or Walmart buying team. Above 1,000 SKUs with irregular promotional calendars, XGBoost or LightGBM usually predict better, provided cross-price features are engineered in rather than inferred.
Go deeper
The lessons that take this article further, free to read.
- 1Forecasting demand for fast-moving SKUs across channelsAI in FMCG
- 2Pre-deployment checks for pricing, promotion and supply-chain AIAI in FMCG
- 3Marketing mix modeling for trade and media spendAI in FMCG
- 4Reading and shaping category dynamicsFMCG (Consumer packaged goods): how the sector works
- 5The four model risks that break FMCG AI systems in productionAI in FMCG
Sources
- GPT-6 Astra pilots a surveillance drone and runs a business on its own
- Kimi-maker Moonshot AI targets $2B in annual revenue
- ChatGPT-using lawyer punished for citing fake testimony from made-up witnesses
- The Interfaces Are Arriving
- Claude users found ways around safeguards for bioweapons research
- Rapidly scaling online storage to serve over 1 billion ChatGPT users
- Anthropic reveals rogue AI agents hate CAPTCHAs, just like you
- A Candid Abacus AI Review: The All-in-One AI Platform for Professionals & Enterprises
- How a researcher uses Codex and ChatGPT to search for new antimicrobial molecules
- 3 ways to prep for your next big race with Search
- Now everyone can put data to work
- Generative AI in the Real World: Local Voice AI with Pete Warden
- Can the US battery market untangle from China?
- Introducing ChatGPT for Financial Services
Finished reading?
Validate your read to earn XP and feed your radar.