← All work

Yum! Brands (acq. Kvantum) · Apr 2021 – May 2022 · Delhi

Setting menu prices with evidence, in three countries

Menu prices barely move, so the elasticity signal has to be reconstructed before it can be modelled. SKU-level demand models for Pizza Hut and KFC across Canada, Brazil and the UK, feeding a pricing simulator, reporting into the Chief Analytics Officer.

Role

Lead DS, pricing

Scope

2 brands · 3 markets

Stakeholder

Chief Analytics Officer

The stakes

In QSR a price change is a physical event. It goes onto menu boards in thousands of restaurants, franchisees have opinions, and you cannot quietly roll it back next Tuesday. The cost of being wrong is measured in months, so the analysis has to survive interrogation by people who have run these businesses for twenty years and do not need a model to have a hunch.

The deeper problem is that the data refuses to cooperate. A menu item sells at the same price, in every store, for months at a time - and you cannot estimate price elasticity from a price that never changes. Almost all of the real price variation is hidden one level up, inside combos, deals and limited-time offers. Before any model could exist, that variation had to be dug out and allocated down to the individual items underneath.

Three markets made it harder in an interesting way. Canada, Brazil and the UK differ in inflation regime, competitive intensity, delivery mix and promotional culture, so everything below was fitted per market - an elasticity estimated on pooled data is a number that describes nowhere.

The system, in three stages

1 · Reconstruct the price signal

allocate combo, deal and offer prices down to individual items; market-basket and co-occurrence analysis to map what sells together

2 · Fit SKU-level demand

own-price plus complement and substitute effects, inside store clusters, with macro controls - a wide neural network per SKU

3 · Simulate & aggregate

per-SKU price changes → sales impact, rolled up to category and size combos for the recommendation

The simulator was the deliverable. It is what the CAO's team actually opened.

Three decisions, and what I turned down

01

Mine the price variation out of combos and offers

Shelf prices are frozen, but every deal is a different implied price for the items inside it. I pulled deal transactions apart - by channel, day and daypart - and allocated their prices down to the component SKUs, which turned a flat price history into a usable elasticity signal. Heavy, unglamorous data engineering, and the single step everything else depended on.

Rejected: fitting on listed menu prices. The models converge happily - on noise, because the price column barely moves.

02

Model each SKU, with its complements and substitutes

Raise the price of a core item and people trade into a bundle; discount a bundle and you cannibalise the item that carried the margin. So every SKU's demand model included the prices of its complements and substitutes, found through market-basket clustering. Models were fitted at SKU level to capture size and category dynamics, inside store clusters that held demographics constant, with elasticities tracked over time rather than assumed fixed.

Rejected: category-level average elasticities. Easier to fit and to present, and they answer a question nobody asks - no one prices "pizza", they price a large pepperoni.

03

Deliver a simulator, not a report

The per-SKU networks fed a simulator: change any individual price and see the modelled sales impact, aggregated up to the category and size combos where pricing decisions actually get made. Handing over the ability to ask questions beat handing over answers, and it meant the model got stress-tested by people with more category intuition than me. That is how it earned trust.

Rejected: a quarterly deck of optimal prices. It arrives, it is admired, and it is obsolete the moment a competitor moves.

What came of it

3 markets

Pricing, promotion evaluation and LTO calendar planning for Pizza Hut and KFC in Canada, Brazil and the UK.

CAO-level

Worked directly with the Chief Analytics Officer; the simulator became the shared surface for pricing debates.

This is where I learned the habit I still use in AI work: build the thing stakeholders can poke at, and let them argue with the model.

← All work Next: Revenue forecasting platform →