The R745K Question: Measuring GP Uplift from Stock Moves
Every inventory optimisation vendor will tell you their system generates ROI. Most of them are guessing.
They run a projection model: "If you had moved these 500 units, and if 70% of them had sold at full price, and if the freight cost was roughly X, then you would have made Y." It is an estimate wrapped in assumptions.
Replenify measures it. Not projects it. Measures it.
In our pilot with a 28-store South African footwear retailer, we tracked the actual gross profit impact of every stock move the engine recommended. The result: R745,898 in verified GP uplift from 1,572 moves across 28,348 inventory snapshots. This post explains how that number was calculated, why it matters, and what it means for the industry.
The problem with projections
Projected ROI has three fundamental weaknesses.
Assumption stacking. A projection starts with a sell-through rate assumption, layers on a full-price vs markdown mix assumption, adds a freight cost estimate, and multiplies it all together. Each assumption introduces error. By the time you stack four or five of them, the confidence interval is so wide that the number is essentially meaningless.
Survivorship bias. Projections tend to focus on the moves that would have worked. They rarely account for the moves that would have failed -- stock that transferred but did not sell, or sold at a deeper markdown than expected.
No accountability. If the projected ROI was R1 million and the actual result was R200K, who would know? Without closed-loop measurement, there is no feedback mechanism. The projection model never learns from its mistakes because nobody tracks what actually happened.
How closed-loop measurement works
Replenify's GP measurement system tracks every move through its complete lifecycle:
Step 1: Pre-move snapshot
Before a move is recommended, the engine captures the state of the SKU at both the source and destination stores. This includes: current stock level, recent sell-through velocity, current price point, days until expected markdown, and the probability distribution of outcomes (full-price sale, first markdown, second markdown, clearance, write-off).
Step 2: Move execution
The move happens. Stock physically transfers from Store A to Store B. The system records the actual date, quantity, and freight cost.
Step 3: Post-move tracking
The system tracks what happens to the moved stock at the destination. Did it sell? At what price? How quickly? It also tracks what happened at the source store -- did the removal create a stockout, or was the stock genuinely surplus?
Step 4: Counterfactual calculation
This is the critical step. The system calculates what would have happened if the move had not occurred. The stock that moved to Store B and sold at full price -- what would it have done at Store A? Based on Store A's sell-through velocity and markdown trajectory, the most likely outcome was a markdown sale or a write-off.
The GP uplift is the difference: (actual outcome at destination) minus (expected outcome at source) minus (freight cost).
Step 5: Aggregation and verification
Individual move results aggregate into the total GP uplift figure. The R745,898 from the pilot is the sum of 1,572 individual move outcomes, each independently calculated and verifiable.
What the pilot numbers mean
Let us break down the pilot data.
28,348 inventory snapshots were processed. Each snapshot represents one SKU at one store at one point in time. This is the raw data the engine works with — a comprehensive picture of where every unit of stock is sitting across the network.
1,572 moves were generated across the three rebalancing passes. Not every potential move is recommended. The engine's 17-stage NAE pipeline filters out moves that are not profitable, operationally feasible, or strategically sound. Each move that passes all 17 stages has a specific, quantified rationale.
R745,898 in GP uplift is the net result after accounting for freight costs and counterfactual outcomes. This is not revenue; it is gross profit — the actual margin improvement from having stock in the right place at the right time.
265 milliseconds is the total engine execution time. This speed means the engine can run daily or even multiple times per day, catching demand shifts as they happen rather than waiting for a weekly planning cycle.
Why this changes the conversation
When you can prove ROI rather than project it, three things happen:
1. The business case becomes undeniable
Telling a CFO "we think rebalancing could save you R2 million" invites scepticism. Showing them "rebalancing generated R745K in verified GP uplift during a 12-week pilot" invites a very different conversation. The data is auditable. The methodology is transparent. The numbers are real.
2. The system gets smarter
Closed-loop measurement creates a feedback loop. The engine learns which types of moves generate the highest uplift and which consistently underperform. Over time, the recommendations improve because they are grounded in measured outcomes, not theoretical models.
3. Merchandisers trust the system
The biggest barrier to adoption of inventory optimisation technology is trust. Experienced merchandise planners have seen systems come and go. They have been burned by tools that promised the world and delivered a spreadsheet with different formatting.
When every recommendation comes with a track record -- "this type of move has historically generated R847 in GP uplift on average" -- planners engage with the system rather than working around it.
The measurement methodology in detail
For those who want the technical depth, here is how the counterfactual model works.
The expected outcome at source is modelled using:
- Historical sell-through curve for that SKU category at that store
- Current inventory age and position on the markdown calendar
- Size run completeness -- a complete size run sells through faster than isolated sizes
- Store velocity ranking for that product category
- Seasonal demand curve position (early season vs mid-season vs end-of-season)
The model does not use a single point estimate. It uses a probability distribution of outcomes, weighted by likelihood. A SKU early in the season with high velocity gets a distribution skewed toward full-price sale. A SKU late in the season in a low-velocity store gets a distribution skewed toward markdown or write-off.
This approach avoids the most common criticism of counterfactual models: "you can't prove what would have happened." We do not claim certainty about individual moves. We claim statistical validity across the portfolio of moves, and the aggregate result is verifiable against actual P&L outcomes.
Why this matters for the South African market
South African mid-market modern retail operates in conditions that make closed-loop measurement particularly valuable.
Long import lead times compound allocation errors. With 60-120 day lead times from Asian manufacturers, a bad allocation decision cannot be fixed through quick replenishment. The only in-season correction available is rebalancing. Proving that rebalancing actually works -- in rands, not projections -- justifies the logistics investment required to execute transfers.
The ERP gap. Systems like Posibolt handle transactions well but do not track the downstream profit impact of inventory decisions. Replenify's measurement layer fills this gap through native integration with existing operational systems. Retailers get GP measurement without replacing their ERP.
CFO scepticism is rational. South African retail executives have seen technology vendors promise transformational ROI and underdeliver. The response -- healthy scepticism -- is rational. Closed-loop measurement is the antidote. It does not ask the CFO to believe a projection. It shows them what actually happened.
Distance costs demand precision. In a market where Gauteng-to-Western Cape transfers cost R200-500 per box, every move must justify itself. Closed-loop measurement validates that the freight cost was worth it -- or flags moves that consistently underperform their expectations, so the engine can learn and improve.
What this means for your business
If you are a South African modern retailer doing R200M+ in revenue, the pilot data suggests that intelligent rebalancing can unlock 0.3-0.5% of revenue in GP uplift. That is a conservative range based on a single module (rebalancing) running on a single retailer's data. As additional modules come online -- allocation, pricing, replenishment -- the compounding effect grows.
The rebalancing engine is live. The measurement system is built. The pilot data is verified.
For a deeper look at the analytics platform that makes this measurement possible, see our Analytics & GP measurement overview. For a broader perspective on inventory optimisation strategy, our complete guide to inventory optimization covers the full landscape.
The R745K question is not "is this number real?" It is. The question is: how much GP uplift is sitting in your network right now, waiting to be measured?