Enterprise
~$40M impact through promotion-aware D2C forecasting
~$40Mannual business impact
Improving e-commerce demand planning for a global beauty business by connecting marketing inputs, promotion behavior, inventory decisions, and discount planning.
My role: Architect; headed a 25-person team.
Executive Context
A global beauty business was planning demand across brick-and-mortar retail and e-commerce in 5 markets: Vietnam, the Philippines, Malaysia, Singapore, and Thailand. E-commerce channels included its D2C site, Shopee, Lazada, and TikTok Shop.
The system forecast 2,058 EANs and apportioned that demand to 8,044 size-level SKUs, supporting planning at warehouse and distribution-centre level.
The brick-and-mortar business was reasonably forecastable.
The e-commerce business was not.
That created 3 operating problems.
First, inventory was unbalanced. Some products stocked out while others stayed stuck in excess inventory, creating both lost sales and capital tied up in the wrong SKUs.
Second, promotion response was difficult to predict. A discount depth or campaign type that worked for one product line could fail for another. Some promotions created growth in one category while reducing demand elsewhere. That made marketing spend harder to justify and discount planning harder to control.
Third, the demand planning team depended heavily on marketing inputs. Marketing often had an optimistic view of expected demand, but demand planners did not have a strong enough independent model to challenge or calibrate those assumptions.
The business had already tried to solve the problem internally in other geographies. Those attempts failed. Two external vendors also failed. By the time this project started, the team was skeptical, but the pain was large enough to try again.
The Actual Problem
The stated problem was forecast accuracy.
The real business problem was promotion-aware planning.
The company did not only need to know how much a product might sell.
It needed to understand how promotions, launches, discount depth, product similarity, online behavior, and historical demand interacted across product lines.
That mattered because beauty products do not move in isolation.
One product can create a halo effect for a related product line. Another can cannibalize demand from a neighboring product. A promotion can lift one SKU while pulling demand away from another.
If the forecast cannot account for that, the business overbuys in one place, underbuys in another, spends too much on weak promotions, and then relies on late discounts to clear stock.
Diagnostic Approach
- AI Necessity: D2C demand changed with promotions and cross-product effects. Demand planners needed an independent forecast to challenge optimistic marketing inputs and avoid late discounts.
- Data Sufficiency: Campaign timing, promotion type, discount depth, launches, and similar product lines mattered. Missing influencer and marketing-spend inputs left gaps, particularly for new launches.
- Methodological Fit: Brick-and-mortar and D2C behaved differently. Promotion-aware forecasting had to represent halo and cannibalization effects rather than reuse one channel’s assumptions.
- Infrastructure Readiness: Teams needed fast scenario refreshes within their monthly buying and discount cycle, at warehouse/DC and size-level SKU granularity.
Strategic Intervention
We rebuilt the D2C forecasting workflow around explainable drivers.
1. Build A Realistic D2C Forecast
The first layer combined historical sales, product behavior, launch status, similar product-line behavior, promotion timing, promotion type, discount depth, and other planning inputs.
The goal was not just a number. It was a number the business could trust enough to plan against.
The forecast improved D2C accuracy from roughly 60% to 80%, while reducing bias from around ±15% to ±5%.
2. Explain Promotion Response
The second layer explained which promotion patterns were likely to work for which product lines.
This changed the conversation between marketing and demand planning. Instead of debating whether a forecast felt too high or too low, the teams could look at the drivers behind the number.
That mattered because promotion behavior was not uniform. Some discount structures worked well for one product family and underperformed for another.
3. Connect Forecasting To Inventory And Discount Decisions
The third layer connected the forecast to operational decisions: inventory positioning, marketing spend, and discount decisions.
In a monthly planning cycle, it informed buy quantities at 6-, 3-, and 1-month lead times under budget and minimum-order-quantity constraints. It also informed discount depth, timing, and allocation.
Earlier, changing a promotion assumption from 10% to 15% required manual calculations and back-and-forth analysis.
With the new model, teams could refresh a scenario in roughly an hour and see the expected impact on demand, inventory, and promotions.
This improved the operating rhythm, not just the forecast. The output became useful for deciding what to stock, what to promote, and where late discounts could be avoided.
What We Got Wrong
New launches remained a forecasting weakness. Influencer activity and marketing-spend signals were missing from the model’s inputs.
Stack
BigQuery, Vertex AI, dbt, Python, MLflow, Evidently, Power BI, and React.
Outcome
| Metric | Before | After | Impact |
|---|---|---|---|
| Total business impact | N/A | ~$40M annually | Combined value across inventory, marketing spend, and discount planning |
| Inventory and availability impact | Stockouts and excess inventory | Better stock balance | Better balance across trending and declining product lines |
| Marketing spend efficiency | Promotion response unclear | Clearer promotion response | Better understanding of which promotions worked for which product lines |
| Late discount reduction | Reactive markdowns | Earlier discount planning | Fewer late discounts needed to correct poor demand planning |
| D2C forecast accuracy | ~60% | ~80% | More reliable planning for e-commerce |
| Forecast bias | ±15% | ±5% | Less overcorrection in day-to-day decisions |
| Scenario planning | Manual back-and-forth | ~1 hour refresh | Faster answers when promotion inputs changed |
| Prior attempts | 2 internal attempts and 2 vendor attempts failed | Working planning model | Solved a problem the business had already struggled with |
Strategic Takeaway
E-commerce demand planning is not just demand forecasting.
It is promotion planning, inventory planning, and channel behavior in one system.
The value came from giving demand planning and marketing a shared forecast they could trust. Once the business could see how promotions affected different product lines, it could reduce stockouts, reduce excess inventory, spend marketing money more selectively, and avoid late discounts before the campaign went live.
The lesson is simple: when promotions change demand, the forecast must understand promotions. Otherwise the business is not planning. It is negotiating numbers.
Want to find the same kind of logic leak?
See an illustrative ROI worksheet — a fictional example, separate from this case's results.
Start with a Clarity Call. We will look for the point where data, model choice, and operating decision stop matching.
Book a Clarity Call