Pricing Engine for FMCG Demand
Product Manager · Ula · 2022–2023
A demand-forecasting pricing engine for an Indonesian B2B e-commerce platform selling thin-margin goods.
The Question
For a fast-moving, low-margin product, is there a single right price, or does the right price depend entirely on how well you can predict demand?
Context
Ula is a B2B e-commerce platform selling FMCG products in Indonesia: high volume, thin margins, where a small pricing error compounds fast.
The Constraint
FMCG margins are thin enough that a wrong price isn't a rounding error. It's the difference between profit and loss on that unit.
My Hypothesis
I initially assumed a single well-researched price point per product would hold. It didn't. Demand for fast-moving goods shifts too quickly for a static price to stay right for long.
What I Tried
Built an ML model to derive selling price by predicting demand from historical data. Gathered market and competitive research to sanity-check the resulting pricing strategy against what the category could actually bear.
The Decision
Optimized for predicted demand rather than a static margin target, given how easily a fixed margin gets undercut in a category this price-sensitive.
The Build
A pricing engine that re-derives selling price from predicted demand using historical data, plus a scoped volume-based pricing model: lower price per unit for larger orders.
The Evidence
The demand-prediction model reached 75% accuracy. Building on that, I scoped a volume-based pricing model, reducing price per unit for bulk orders, with a vision, roadmap, and PRD targeting a 15% increase in average order value.
What Changed
Price became a function of predicted demand instead of a fixed number revisited occasionally, with the volume model scoped specifically to lift average order value.
What I Learned
A prediction only matters if it changes a decision. 75% accuracy was only useful because the price actually moved when the forecast did. Otherwise it would have been a number nobody acted on.