← Work06 / 07

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.

Price, stepping down as volume steps up.

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.

75%
Demand-prediction accuracy
15%
AOV lift targeted by volume pricing (scoped)

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.

NextCounterparty Credit Risk Systems →