Markdown Optimization
“When should we markdown each product?”
Book a demo and get a free trial of the full platform: research agent, fine-tune capabilities, and forward-deployed engineer support.
By submitting, you accept the Terms and Privacy Policy.

Loved by data scientists, ML engineers & CXOs at

A real-world example
When should we markdown each product?
Retailers markdown $300B+ in merchandise annually (Coresight Research), typically using calendar-based rules: 20% off at week 8, 40% off at week 12, 70% off at week 16. This one-size-fits-all approach ignores that some products still have strong demand and could be sold at a smaller discount, while others should be marked down earlier to avoid total write-offs. A fashion retailer generating $2B in annual revenue loses $200-300M in margin to poorly timed markdowns, either marking down too early (leaving money on the table) or too late (forcing deep clearance that barely covers cost).
Quick answer
Calendar-based markdowns (20% off at week 8, 40% at week 12) leave massive margin on the table because they ignore product-specific demand signals. A fall jacket with accelerating browsing, a cold-snap forecast, and sold-out competitors should hold price, while a summer dress with collapsing demand and competitor markdowns should be discounted immediately. Relational models connect sales velocity, browsing trends, inventory positions, weather, and competitive pricing to predict the optimal markdown timing and depth for each product. On SAP SALT benchmarks, relational approaches hit 91% accuracy vs 75% for XGBoost on demand prediction that underpins markdown decisions.
Approaches compared
4 ways to solve this problem
1. Calendar-based markdown rules
Predetermined schedule: 20% off at week 8, 40% at week 12, 70% at week 16. Universal across all products in a season.
Best for
Retailers with very thin merchandising teams who cannot manage product-level decisions.
Watch out for
Treats all products identically. A product with strong remaining demand gets discounted unnecessarily, while a slow mover gets marked down too late. Coresight Research estimates $300B+ in annual markdown losses industry-wide.
2. Sell-through rate triggers
Mark down products when sell-through falls below a target rate (e.g., below 50% at week 8). Uses inventory position as the primary signal.
Best for
Mid-tier retailers who want a simple, data-driven improvement over pure calendar rules.
Watch out for
Sell-through is a lagging indicator. By the time sell-through drops, you have already missed the optimal markdown window. Also ignores external signals like weather, competitor actions, and browsing trends that predict future demand.
3. XGBoost demand decay models
Train gradient-boosted models to predict remaining demand at various price points using features like weeks on floor, sell-through rate, and category seasonality.
Best for
Analytics teams with historical markdown data who can build price-response models per category.
Watch out for
Feature engineering for markdown timing is category-specific and fragile. The signals that predict optimal markdown for outerwear (weather) differ from dresses (trend cycle) and footwear (size fragmentation). SAP SALT shows 75% accuracy ceiling.
4. KumoRFM (relational foundation model)
Connects products to sales velocity, browsing trends, inventory positions, competitor pricing, weather forecasts, and customer demand signals in a relational graph. Predicts optimal markdown timing and depth per product.
Best for
Fashion and seasonal retailers where markdown timing directly determines whether you recover 70% of margin or 20%. High-SKU-count catalogs with diverse product lifecycles.
Watch out for
Most impactful for seasonal products with a defined lifecycle. Evergreen basics with stable demand do not benefit as much from markdown optimization.
Key metric: SAP SALT demand prediction: relational 91% vs XGBoost 75%. Per-product markdown timing recovers 15-30% of margin vs calendar rules.
Why relational data changes the answer
Calendar markdown rules treat every product the same way. They cannot see that Product P-7012 (Fall Jacket) has browsing sessions up 35%, competitors are sold out, and a cold snap is forecast, meaning it should hold full price for another 2-3 weeks. Simultaneously, Product P-7015 (Summer Dress) has browsing down 80%, 3x more inventory than projected demand, and competitors are already at 40% off, meaning it should be marked down 30% immediately. These signals live in sales_velocity, market_signals, and inventory_position tables.
A relational model connects these tables and learns that browsing trend + competitive context + weather forecast jointly predict remaining full-price demand window. For the fall jacket, the model saves $18,900 in margin by holding price during the demand acceleration. For the summer dress, it saves $8,400 by marking down early enough to sell through before the 70%-off clearance rack. Across a 5,000-SKU seasonal catalog, these per-product decisions recover 15-30% of margin that calendar rules would have destroyed.
Calendar-based markdowns are like a farmer harvesting every crop on the same date regardless of ripeness. The tomatoes might be perfect, but the strawberries are overripe and the pumpkins are not ready yet. A relational markdown model checks each crop individually: the tomatoes get picked now, the strawberries needed to be picked last week (mark down immediately to salvage what you can), and the pumpkins should wait 3 more weeks (hold price). Same farm, dramatically less waste.
How KumoRFM solves this
Relational intelligence built for retail and e-commerce data
Kumo connects products, sales velocity, inventory positions, customer browsing patterns, competitive pricing, and seasonal trends into a relational graph. The model predicts that Product P-7012 (Fall Jacket, Navy) still has 18 days of full-price demand because browsing sessions are increasing, the weather forecast shows a cold snap, and similar products at competitors are sold out. Meanwhile, P-7015 (Summer Dress, Floral) should be marked down 25% immediately because browsing has dropped 80%, remaining inventory is 3x what will sell in the next 30 days at current price, and similar items on competitor sites are already at 40% off.
From data to predictions
See the full pipeline in action
Connect your tables, write a PQL query, and get predictions with built-in explainability — all in minutes, not months.
Your data
The relational tables Kumo learns from
PRODUCTS
| product_id | name | category | full_price | cost | season |
|---|---|---|---|---|---|
| P-7012 | Fall Jacket, Navy | Outerwear | $189.00 | $68.00 | Fall 2025 |
| P-7015 | Summer Dress, Floral | Dresses | $79.00 | $22.00 | Summer 2025 |
| P-7020 | Classic Wool Sweater | Knitwear | $129.00 | $45.00 | Fall 2025 |
INVENTORY_POSITION
| product_id | units_remaining | weeks_on_floor | sell_through_pct |
|---|---|---|---|
| P-7012 | 420 | 6 | 58% |
| P-7015 | 680 | 14 | 32% |
| P-7020 | 310 | 4 | 69% |
SALES_VELOCITY
| product_id | units_sold_7d | units_sold_30d | velocity_trend |
|---|---|---|---|
| P-7012 | 45 | 180 | Accelerating |
| P-7015 | 8 | 52 | Decelerating |
| P-7020 | 38 | 160 | Stable |
MARKET_SIGNALS
| product_id | browsing_trend_7d | competitor_status | weather_outlook |
|---|---|---|---|
| P-7012 | +35% | Sold out at 2 competitors | Cold snap forecast |
| P-7015 | -80% | 40% off at 3 competitors | Warm fall |
| P-7020 | +10% | In stock, full price | Seasonally normal |
Write your PQL query
Describe what to predict in 2–3 lines — Kumo handles the rest
PREDICT SUM(SALES_VELOCITY.UNITS_SOLD_7D, 0, 28, days) FOR EACH PRODUCTS.PRODUCT_ID ASSUMING PRODUCTS.MARKDOWN_PCT = 0.25
Prediction output
Every entity gets a score, updated continuously
| PRODUCT_ID | NAME | MARKDOWN_REC | OPTIMAL_TIMING | MARGIN_SAVED_VS_CALENDAR |
|---|---|---|---|---|
| P-7012 | Fall Jacket, Navy | 0% (hold) | Week 10+ | +$18,900 |
| P-7015 | Summer Dress, Floral | 30% now | Immediate | +$8,400 |
| P-7020 | Classic Wool Sweater | 0% (hold) | Week 8+ | +$6,200 |
Understand why
Every prediction includes feature attributions — no black boxes
Product P-7015 (Summer Dress, Floral)
Predicted: Mark down 30% immediately
Top contributing features
Browsing interest collapse
-80% in 7d
30% attribution
Inventory vs remaining demand
3x oversupply
25% attribution
Competitor markdown pressure
40% off at 3 sites
20% attribution
Seasonal relevance declining
Warm fall forecast
14% attribution
Sell-through rate below target
32% vs 60% goal
11% attribution
Feature attributions are computed automatically for every prediction. No separate tooling required. Learn more about Kumo explainability
PQL Documentation
Learn the Predictive Query Language — SQL-like syntax for defining any prediction task in 2–3 lines.
Python SDK
Integrate Kumo predictions into your pipelines. Train, evaluate, and deploy models programmatically.
Explainability Docs
Understand feature attributions, model evaluation metrics, and how to build trust with stakeholders.
Frequently asked questions
Common questions about markdown optimization
When is the optimal time to markdown seasonal products?
It varies by product, which is exactly why calendar rules fail. The optimal markdown timing depends on remaining demand velocity, inventory position, competitive pressure, and external signals like weather. A product with accelerating demand and sold-out competitors should hold price even at week 12. A product with collapsing demand should be marked down at week 4. Relational models calculate the product-specific optimal timing by connecting sales velocity to browsing trends, competitor actions, and seasonal context.
How much margin do retailers lose to poorly timed markdowns?
Coresight Research estimates retailers markdown $300B+ in merchandise annually. A fashion retailer generating $2B in revenue typically loses $200-300M in margin to markdown timing errors: marking down too early on products with remaining full-price demand, or marking down too late and forcing deep clearance at 70% off. Relational markdown models recover 15-30% of this lost margin, translating to $30-90M in annual savings for a $2B retailer.
Can markdown optimization work alongside dynamic pricing?
Yes, they are complementary. Dynamic pricing optimizes regular prices within a narrow band (plus or minus 5-10%) based on elasticity and competitive context. Markdown optimization manages the end-of-life pricing trajectory for seasonal or fashion items. The relational model handles both because the underlying signals overlap: demand velocity, competitive pricing, inventory position, and customer segment behavior all feed into both regular pricing and markdown timing decisions.
Bottom line: Recover 15-30% of margin typically lost in calendar-based clearance events, saving $30-90M annually for a $2B fashion retailer.
Related use cases
Explore more retail & e-commerce use cases
Topics covered
One Platform. One Model. Infinite Predictions.
KumoRFM
Relational Foundation Model
Turn structured relational data into predictions in seconds. KumoRFM delivers zero-shot predictions that rival months of traditional data science. No training, feature engineering, or infrastructure required. Just connect your data and start predicting.
For critical use cases, fine-tune KumoRFM on your data using the Kumo platform and Research Agent for 30%+ higher accuracy than traditional models.
Book a demo and get a free trial of the full platform: research agent, fine-tune capabilities, and forward-deployed engineer support.




