Sell less than you have
Why warehouse operations are optimising the wrong number — and what allocation theory actually says about it.
The worked example, drawn literally. Four hundred units. Littlewood's rule says protect 194 of them for the higher-value channel — which is more than that channel is expected to sell. The instinct to sell everything you have is the thing this paper argues against.
The argumentThree claims
Most warehouse software is sold on execution. Pick faster, put away better, count less. All of that is real and all of it matters, and none of it is where the money is going.
The money is going at the layer above execution: the decision about which unit of stock gets promised to which customer, and from where it ships. That decision is made hundreds of times a day in every business I work with, and in almost none of them is it made deliberately. It is made by whoever answers the phone, by whichever channel's order arrived first, by a rule somebody set three years ago and nobody has looked at since.
I want to make three arguments.
The first is that this is a solved problem. Operations research answered it in the 1950s and 60s. Airlines answered a structurally identical version in 1972. Most operations are running informal versions of policies that have formal names and known properties. You do not need to invent anything. You need to know what already exists.
The second is that the classical answer is now wrong. Every one of those models assumes that refusing a customer costs you the margin you did not earn, and nothing else. On a channel that rates you, that assumption is false, and false in a way that changes the optimal policy — sometimes reversing it. This is the part I care most about, because I do not see it discussed anywhere and I think it is costing people real money.
The third is that once you accept the second, three separate pressures turn out to point the same way. Reputation, carbon, and the new packaging regulation all favour fewer promises kept better over maximum listed availability. That convergence is not a marketing line. It falls out of the structure.
There is one thing I cannot resolve and I am going to say so rather than paper over it. Alternative sourcing — expediting, transshipping, splitting an order — protects the promise and raises emissions, freight cost and regulatory exposure. Those pull against each other. I do not have a clean answer and I do not believe anyone who says they do.
The thresholdWhere the problem starts
There is a threshold every growing business crosses, and it is more precise than people expect.
Below it, allocation is trivial. One warehouse, one channel, one answer. The stock is either there or it is not, and if it is there, the order gets it.
Above it, everything changes. You sell through your own shop and a marketplace and a wholesale channel. You hold stock in two places. Now every order arrives with a question attached: does this one get the stock, or does the next one, and which building does it leave from.
The hard question changes. It stops being where is it and becomes which stock do we commit to which order, and from where do we ship. Businesses that hit this threshold usually respond by trying to get better at execution. It does not help, because the constraint has moved.
Part oneWhat the theory already says
I am going to state the classical models properly before I attack them. A paper that sets up a weak version of the existing theory and then knocks it down is not worth reading. These models are good. They are also built on an assumption that has expired.
Everything in this section applies regardless of what software you run, and most of it applies with no software at all.
The fundamental trade-off
The oldest result in the field is the newsvendor model. A vendor buys papers in the morning. Too few and demand goes unmet; too many and the surplus is worthless by evening. Arrow, Harris and Marschak formalised it in 1951, though Edgeworth posed a version in 1888 asking how much cash a bank should hold against uncertain withdrawals.
Cu is the cost of understocking — what you lose when you cannot supply. Co is the cost of overstocking.
This is the honest answer to the question everybody asks, which is why we cannot just hold enough to never run out. Holding enough to never run out treats Co as zero. It is not zero. The model tells you what service level your own cost structure actually justifies, and it is never 100%.
Remember Cu. My entire argument in part two is that almost everyone has the wrong value for it.
Why a second warehouse costs less than you think
Eppen, 1979, on the multi-location newsboy problem. If you are considering a second warehouse, this is the result to know. Demand variability across pooled locations grows with the square root of the number of locations. Safety stock follows the same law.
Risk pooling cuts both ways. Distribution is cheaper in inventory terms than most operators fear — four warehouses need roughly twice the safety stock of one, not four times. But centralisation also buys less than its advocates claim: one warehouse holds half the safety stock of four, not a quarter.
Reserving stock for the demand that matters
Veinott (1965) and Topkis (1968) formalised the case where demand arrives in classes of unequal value and you can refuse a low-value request to preserve stock for a high-value one that has not arrived yet. The result is a critical level policy: below a threshold, serve only the higher class.
Every operation already runs a version of this. The customer who always gets served. The channel that gets cut first. The order the sales director releases personally. Those are rationing policies — just undocumented, inconsistent between the people applying them, and never examined.
Writing yours down costs nothing, takes an afternoon, and will surface disagreements inside your own business that have been quietly costing you money. It is the cheapest improvement in this paper and it requires no software at all.
Which location ships which order
Given N orders and M locations, choosing which ships what is a formal optimisation — Hitchcock posed it in 1941, Kuhn gave the Hungarian algorithm in 1955. Nobody solves it. Everyone uses heuristics.
| Heuristic | Optimises | Fails when |
|---|---|---|
| Nearest warehouse | Delivery cost and time | It strips the location facing the most future demand |
| Lowest total cost | Cost on this order | It ignores what the unit is worth tomorrow |
| Single-source preferred | Customer experience, packaging | It refuses orders that could be split-filled |
| Split allowed | Fill rate | It multiplies shipments, packaging and cost |
What you can actually promise
These terms get used loosely and the looseness causes real problems. Available-to-Promise is uncommitted stock: on hand plus scheduled receipts, minus what is already promised. Capable-to-Promise extends the question to production: if I have no stock, can I make it in time. Allocated ATP partitions available stock into pools reserved for specific customers or channels before any order arrives.
Allocated ATP is how a rationing policy gets enforced. Most systems support it. Most businesses do not use it, and then cannot explain why the biggest customer's order arrived after the stock went to a marketplace at half the margin.
The model I want to build on
Littlewood, 1972. He solved a problem for airlines that is the same problem. An aircraft has finite seats. Discount bookings arrive early, full-fare passengers book late. A discount request arrives — do you take it, or protect the seat for a full-fare passenger who may never appear?
The ratio of the two values is the only thing that sets the protection level. Belobaba extended this to more than two classes in 1989 with EMSR, which is what airlines actually run.
Now put stock in place of seats. You hold 400 units. Your webshop contributes €28 a unit. A marketplace contributes €11 after fees. Marketplace orders arrive early in the week, webshop demand builds later — same structure as discount bookings ahead of business travellers.
Protect 194 units for the webshop. Release at most 206 to the marketplace. Look at what happened there. You protect more than you expect the webshop to sell. When the value gap is wide, holding stock back is correct even at meaningful risk of not selling it at all. That is why airlines fly with empty seats they could have filled, and it is the part of the rule that feels wrong to an operations person until you work through it.
The inventory literature treats allocation as a stock problem — safety stock, service levels, fill rates. Revenue management treats an identical problem as a pricing problem: finite capacity, demand classes of unequal value arriving in sequence, what do you refuse to sell. Same problem. Airlines solved it in 1972 and have refined it for fifty years. We are rediscovering it badly, one spreadsheet at a time.
Part twoThe assumption that expired
Everything above rests on something that was true in 1972 and is not true now: that the refused customer goes away. The cost of denial is the margin you did not earn on that unit. One-shot. Bounded. Symmetric with the cost of protecting too much.
In 1972 that was close enough. The refused discount passenger had few alternatives, no public voice, and no way to affect anyone else's decision.
There was no Google review in 1972. There was no seller rating, no Buy Box, no algorithm reading your fulfilment history and deciding how many people get to see you tomorrow.
What it costs now
An order you accept and cannot fulfil costs you the margin on that order, a rating visible to every future buyer, an algorithmic ranking penalty that suppresses your visibility, and account health consequences that can suspend the channel entirely. The first is bounded. The rest compound, persist, and suppress orders you never receive and therefore never count.
Where D_low is the shadow cost of denial. That raises the ratio, which lowers the protection level. Price reputation in and you protect less for the high-margin channel than pure contribution says. And it can flip completely.
The inversion. This is the single most commercially useful consequence in the paper, and it runs directly against the instinct to protect the high-margin channel.
Two properties that break the maths
The penalty is not linear. Account health works on thresholds. You sit at 98% with no consequence. Drop to 94% and something discrete happens. You are not trading margin against margin. You are managing distance from a cliff edge, and smooth optimisation does not describe that.
The failure modes are not symmetric. Not listing costs visibility — bounded, recoverable. Listing, accepting, then failing costs the account. Littlewood has two actions. We have three, and the third is much worse than either of his.
Reputation is a stock, not a flow
The right way to model this comes from an unexpected place: Nerlove and Arrow, 1962, on advertising goodwill as a capital stock that depreciates and is replenished by spending. Swap advertising for reliability.
The loop is the whole problem. The dashed return path is the dangerous one: when demand softens, every remaining order feels too valuable to refuse, which pushes the threshold down, which lowers reliability, which suppresses demand further.
Fill rate is the wrong metric
Fill rate is demand satisfied over demand received. It merges two things that behave completely differently: stock you did not offer, and promises you broke. Ratings respond only to the second.
The number to manage is promise reliability — fulfilled over promised. An operation optimising fill rate is optimising a number the platform cannot see and does not react to. I have never walked into a business that reported both.
Four things that follow
The optimal threshold is above zero even with free storage. A marketplace's copy of your stock lags yours. Two orders can land within seconds against one unit. The real question is not whether you have a unit — it is whether you can still fulfil if a second order arrives before you can delist. That window is measurable. Nobody measures it.
The policy has hysteresis. Damage takes many good periods to repair and one bad period to inflict. Never trade a drawdown in reputation for a short-term gain in exposure.
The objective is not convex. Ranking tiers are discrete steps. There is no smooth hill to climb.
There are two equilibria, and one of them is a trap.
Why almost nobody escapes. Getting from the red peak to the green one means revenue falls before it recovers. For several weeks the correct action is indistinguishable from a mistake, and the short-run numbers appear to prove you wrong. Shape is real; magnitudes are illustrative — no platform publishes the ranking function.
Is any of this actually observed?
Fair question, and I would ask it. Recent empirical work on visibility shocks in digital marketplaces finds that visibility gains produce immediate and persistent increases in demand, with attention-driven amplification as the dominant channel rather than price response — and the effects are stronger for smaller sellers and products with fewer substitutes. That says exposure is a binding constraint for exactly the businesses reading this.
On the other side, analysis of Buy Box suppression finds sales rank, and therefore sales, significantly lower when the Buy Box is not shown. On stockouts specifically the practitioner evidence is consistent and the academic evidence is thin: seller-side analysis reports ranking suppression persisting past restocking, with recovery measured in weeks.
I am not presenting those last numbers as measurement. They are practitioner estimate, the platforms publish nothing, and anyone claiming a calibrated model of Amazon's ranking function is selling something. But the direction is corroborated, and the direction is all my argument needs: reliability feeds visibility, visibility feeds demand, and the effect outlives the failure that caused it. That is a goodwill stock with a decay rate. The structure holds even though I cannot give you the constants.
The rule this all produces
Never list stock on a rating channel that is close to running out. Better not to sell what you have than to sell what you do not have.
Experienced marketplace sellers arrive at this empirically and usually cannot say why. This is why. It is a threshold policy, not an allocation policy. Classical ATP asks whether uncommitted stock exists. This asks whether enough exists that promising it carries acceptable risk. No classical model produces that, because no classical model has a failure penalty larger than the value of success.
Part threeWhen refusing is not the only option
Everything so far assumes a binary choice: fulfil locally or refuse. Most businesses have a third option and it changes the problem.
Lateral transshipment. Moving stock between locations at the same level — reactive (Lee 1987, Axsäter 1990) after the stockout, or preventive (Banerjee and co-authors, 2003) before it. Most operations do the reactive version with a phone call. The difference between a phone call and a policy is the difference between an exception and a capability.
Dual sourcing. A cheap regular channel plus an expensive fast one. Fukuda 1964; Veeraraghavan and Scheller-Wolf 2008. An expensive fast source has value because it removes the need to hold safety stock against the tail. You buy the option instead of the inventory.
Drop-shipping. Netessine and Rudi (2006). The economics turn on who bears demand risk. Drop-ship is not free availability — it moves the inventory risk, and the price of moving it is visible in your margin.
Substitution. Mahajan and van Ryzin (2001). Worth naming because in reputational terms, an accepted substitution is a fulfilment, not a failure. It protects reliability, and almost nobody has a policy for it.
The third row is why the second row is usually right. An expedited shipment that erases the margin on one order is still correct if refusing costs you ranking on a channel that produces hundreds. Most businesses are running a cost model without realising they chose it.
How this is actually solved now
The classical models above are how you should reason, not how anyone computes an answer any more.
Acimovic and Graves (2015) opened the modern line on dynamic fulfilment, and their result is the one to know: choosing a location is not cost minimisation on this order, it is about the opportunity cost of depleting that location for future orders. Shipping from the nearest warehouse is often wrong, because the nearest warehouse is nearest to tomorrow's demand too. Jasin and Sinha (2015) and Acimovic and Farias (2019) built on it.
Goedhart and co-authors modelled omnichannel allocation as a Markov decision process (2022) and showed dynamic allocation beats static — the formal version of "your fixed channel reservations are leaving money on the table." Their follow-up (2023) added returns and found rising return rates reduce profit.
Then deep reinforcement learning. Gijsbrechts, Boute, Van Mieghem and Zhang tested DRL against lost-sales, dual-sourcing and multi-echelon problems. Vanvuchelen and co-authors (2024) used PPO for horizontal allocation and optimised for service level fairness across locations rather than pure cost. Kolyaei and co-authors (2025) combined replenishment and fulfilment in one RL framework. Newer work separates decision timing using hierarchical RL: allocation weekly, routing daily.
Three things I take from it, and none of them is "buy a reinforcement learning system."
The gains are over myopic policies, not over nothing. If you are running nearest-warehouse routing today, you capture most of the available benefit by moving to anything that prices depletion. That is a rule change, not machine learning.
Service level has become a first-class objective in the research. The fairness work is the academic literature arriving at what I am arguing commercially.
The prerequisite is data, not algorithms. Every method needs stock by location, committed versus free, demand by channel, in-transit, returns in flight. Most mid-market businesses cannot produce that in one place. The constraint is not the policy. It is knowing what you have.
Part fourIt looks different in four settings
The mechanisms are the same everywhere. What is scarce, what failure costs, and who decides all change.
| Setting | What is scarce | Objective | What goes wrong |
|---|---|---|---|
| Manufacturing | Capacity, not stock | Schedule adherence | CTP treated as ATP — promises against capacity nobody confirmed |
| Wholesale | Stock against contracts | Relationship value | Policy lives in someone's head; customers learn it and game it |
| E-commerce | Nothing — committed at checkout | Cost to serve | Nearest-warehouse routing strips the location that needed it |
| Omnichannel | One position, incompatible promises | Whichever promise costs most to break | Same unit promised twice by two systems |
Manufacturing. Allocation is against production commitments, and the decision cascades backwards — promising a unit consumes a slot, not just stock. Relevant: Theory of Constraints (Goldratt 1984) for allocating against a bottleneck; postponement and delayed differentiation (Lee and Tang 1997), where delaying the commitment point is itself the allocation strategy.
Wholesale. This is where allocation is most openly political. The essential result is Cachon and Lariviere (1999): when customers expect rationing, they inflate orders — so proportional allocation creates the shortage it responds to. Your rule changes the demand it is allocating against. This connects to the bullwhip effect (Lee, Padmanabhan and Whang 1997), where rationing gaming is one of the four named causes.
E-commerce. This is routing, not allocation. The order is accepted; the question is which location ships it.
Omnichannel. Every other setting is a special case of this one, which is why it belongs last. It is where part two bites hardest, because at least one channel is almost always a rating channel.
A 3PL is none of these and all of them. It allocates on behalf of clients with different rules each, and its reputational exposure is to its clients rather than to end customers. The structure holds — objective is SLA adherence, failure cost is contract loss — but the policy has to be per client rather than per channel. That is a harder problem and it deserves its own paper.
Part fiveWhat this does to network design
Eppen says centralisation cuts safety stock as the square root of locations. Against that, distribution cuts delivery distance. Everyone has done some version of that calculation. Here is what reputation does to it.
Splitting stock across locations moves every location closer to its own listing threshold. One warehouse crosses it once. Four warehouses cross it four times, on four independent demand streams. So a distributed network must hold more total stock, accept lower reliability, or delist more often.
The resolution is to separate the physical network from the promise. That requires a decision layer above the warehouses which knows total position, applies the rules, and can route or rebalance. It is an architectural requirement rather than a warehouse one — and it is the structural reason allocation is moving out of WMS and above it.
Part sixCarbon and packaging
Delisting is good for emissions. A promise you do not make is a cancellation that does not happen, a re-ship that does not happen, a return that does not happen. So the threshold gets reinforced from two directions.
Where it does not agree: part three pushed toward expediting, transshipment and split shipment. All three raise emissions, and expedited freight raises them a lot. I said at the start I would not resolve this. Reputation says expedite routinely. Carbon says expedited freight is the most expensive tonne you will ever emit. Both are correct.
Benjaafar, Li and Daskin (2013) is the anchor, and their useful finding is that substantial emissions reductions are often available through operational adjustment at low cost, without buying anything.
Environmental impact is not one thing
They do not move together. Treating environmental impact as a single variable hides the only structure that makes it actionable.
What the packaging regulation changes
Regulation (EU) 2025/40, the Packaging and Packaging Waste Regulation, entered into force 11 February 2025 and applies from 12 August 2026. It is a regulation, not a directive, so it applies directly in every member state with no transposition and no grace period.
Registration is per country. There is no single European register, so low-volume markets carry full compliance cost. That is a fixed cost per market of first placement, independent of volume — which changes the centralisation calculation on an axis that has nothing to do with inventory.
Marketplaces must verify registration before allowing sales. Structurally identical to account health: discrete, not smooth. Compliant or delisted. And it arrives through the marketplace before it arrives through a regulator.
Empty space is capped, but later and higher than most people think. Article 24 sets a maximum empty-space ratio of 50% for grouped, transport and e-commerce packaging, applying from 1 January 2030 or three years after the implementing acts defining the calculation method, whichever is later. The Commission is due to adopt that methodology by 12 February 2028. A 40% figure circulates widely and comes from an earlier draft; a version of it dated to August 2026 circulates too, and is wrong on both counts. Read Article 24 rather than the trade press, including this paper.
What applies now is the general minimisation duty, without a percentage — and market surveillance is expected to use the 2030 ratio as a forward-looking benchmark when assessing minimisation in the meantime.
So the split-shipment argument does not rest on Article 24 at all. It rests on something true today: splitting an order produces two packaging units instead of one, each placed on the market, each carrying its own eco-modulated fee. The empty-space cap tightens that later. One detail makes it worse rather than better — filler counts as empty space, not product. Paper shreds, air pillows, bubble film and foam are all empty space, so padding out two half-full boxes does not rescue either of them.
Written September 2026, against Regulation (EU) 2025/40 as adopted. Implementing acts are still landing and the trade press is unreliable on the empty-space provisions specifically — verify against the regulation text, not secondary sources. Whether a strapped multi-carton consignment counts as one unit or several is exactly the kind of thing the 2028 methodology will settle, and the answer materially changes the economics of consolidation.
CSRD pulls mid-market firms into scope through value-chain reporting even where they are not directly obligated. I am not making an argument about values here. I am making an argument about whether you can answer a tender question.
In practiceWhat I would actually do
Measure the synchronisation window. How long between a unit leaving your position and every channel's copy reflecting it, and how much demand arrives in that gap. That number is the floor under your threshold. If you do nothing else in this paper, do this.
Write the rationing policy down. You have one. It is in someone's head and applied inconsistently.
Report reliability separately from fill rate. Fulfilled over promised, alongside fulfilled over received. The divergence is what the platforms see.
Set thresholds per channel by failure cost, not by margin.
Build the third option before you need it. Transship, expedite and drop-ship should be policies with known costs, not phone calls made under pressure.
Check whether you are in the trap. High exposure, mediocre reliability, degraded ranking, soft demand, and every order feeling too valuable to refuse.
AppendixQuestions worth asking a vendor
Written to be hard to answer with a demo.
- Show me available-to-promise for one SKU across every warehouse and channel, as three separate numbers: committed, reserved, free.
- What is the measured latency between a pick confirmation and each channel's availability updating? Not the design target. The measured number.
- How do I reserve stock for one customer or channel without hiding it from the others entirely?
- Can I set a per-channel threshold below which that channel stops being offered stock, regardless of physical availability?
- When an order cannot be fulfilled from the assigned location, what happens? Show me the decision, not the alert.
- Is fulfilment routing a cost decision on this order, or does it price the opportunity cost of depleting that location?
- How do I measure fulfilled-against-promised separately from fulfilled-against-received?
- What changes when I add a channel, a warehouse or a fulfilment rule — configuration or development? What did the last customer who asked pay, and how long did it take?
- Can I report packaging units placed on market by country of first placement without exporting to a spreadsheet?
- If I need a rule you do not support, what is the path, and what does the same request cost in month eighteen versus month two?
A weak vendor answers 1, 2 and 8 badly. Question 5 is the one that separates systems that route from systems that notify.
In practiceSetting the threshold, concretely
Everything above argues that the threshold exists and matters. This is how you actually arrive at a number, and it is three steps rather than a project.
Step one — measure the window. Pick your highest-volume rating channel. Time the gap between a pick confirmation in your own system and that channel's availability figure changing. Do it ten times across a normal trading day, not once at nine in the morning. Take the worst case, not the average, because the worst case is when two orders collide.
Step two — size the demand inside it. Take that window, take the peak order rate for that SKU on that channel, and multiply. If the window is four minutes and your peak rate is one order every ninety seconds, you can receive three orders you cannot prevent. That number is your floor.
Step three — set the threshold above it and let the shutoff fire automatically. Configure per-channel safety stock at or above that floor, with the channel closing on its own when the position drops through it. Not an alert — a shutoff. An alert arrives after someone has already bought the unit you could not ship.
The window sets the floor. Most operations have never measured it, which is why most thresholds are set by instinct. It takes an afternoon and it turns a judgement call into arithmetic.
Do this per channel, not once for the business. A wholesale channel with a weekly ordering rhythm has a window measured in hours and it does not matter. A marketplace at peak has a window measured in seconds and it matters enormously.
SourcesReferences
Acimovic, J. and Farias, V.F. (2019). The Fulfillment-Optimization Problem. INFORMS TutORials in Operations Research.
Acimovic, J. and Graves, S.C. (2015). Making Better Fulfillment Decisions on the Fly in an Online Retail Environment. M&SOM.
Arrow, K.J., Harris, T. and Marschak, J. (1951). Optimal Inventory Policy. Econometrica.
Axsäter, S. (1990). Modelling Emergency Lateral Transshipments in Inventory Systems. Management Science.
Banerjee, A., Burton, J. and Banerjee, S. (2003). A Simulation Study of Lateral Shipments in Single Supplier, Multiple Buyers Supply Chain Networks. IJPE.
Belobaba, P.P. (1989). Application of a Probabilistic Decision Model to Airline Seat Inventory Control. Operations Research.
Benjaafar, S., Li, Y. and Daskin, M. (2013). Carbon Footprint and the Management of Supply Chains. IEEE T-ASE.
Cachon, G.P. and Lariviere, M.A. (1999). Capacity Allocation Using Past Sales. Management Science.
Clark, A.J. and Scarf, H. (1960). Optimal Policies for a Multi-Echelon Inventory Problem. Management Science.
Edgeworth, F.Y. (1888). The Mathematical Theory of Banking. JRSS.
Eppen, G.D. (1979). Effects of Centralization on Expected Costs in a Multi-Location Newsboy Problem. Management Science.
Fukuda, Y. (1964). Optimal Policies for the Inventory Problem with Negotiable Leadtime. Management Science.
Gijsbrechts, J., Boute, R.N., Van Mieghem, J.A. and Zhang, D. Can Deep Reinforcement Learning Improve Inventory Management? M&SOM.
Goedhart, J. and co-authors (2022). Inventory allocation in omnichannel retail: a Markov decision process formulation.
Goedhart, J. and co-authors (2023). The impact of returns on omnichannel inventory allocation.
Goldratt, E.M. (1984). The Goal.
Hitchcock, F.L. (1941). The Distribution of a Product from Several Sources to Numerous Localities. J. Math. Phys.
Hua, G., Cheng, T.C.E. and Wang, S. (2011). Managing Carbon Footprints in Inventory Management. IJPE.
Jasin, S. and Sinha, A. (2015). An LP-Based Correlated Rounding Scheme for Multi-Item E-Commerce Order Fulfillment. Operations Research.
Kolyaei, M. and co-authors (2025). Inventory Replenishment and Fulfilment Decisions for an Omnichannel Retailer. IJPR.
Kuhn, H.W. (1955). The Hungarian Method for the Assignment Problem. NRLQ.
Lee, H.L. (1987). A Multi-Echelon Inventory Model for Repairable Items with Emergency Lateral Transshipments. Management Science.
Lee, H.L., Padmanabhan, V. and Whang, S. (1997). Information Distortion in a Supply Chain: The Bullwhip Effect. Management Science.
Lee, H.L. and Tang, C.S. (1997). Modelling the Costs and Benefits of Delayed Product Differentiation. Management Science.
Littlewood, K. (1972). Forecasting and Control of Passenger Bookings. AGIFORS Symposium Proceedings.
Mahajan, S. and van Ryzin, G. (2001). Stocking Retail Assortments Under Dynamic Consumer Substitution. Operations Research.
Nerlove, M. and Arrow, K.J. (1962). Optimal Advertising Policy under Dynamic Conditions. Economica.
Netessine, S. and Rudi, N. (2006). Supply Chain Choice on the Internet. Management Science.
Raval, D. (2022). Steering in One Click: Platform Self-Preferencing in the Amazon Buy Box.
Topkis, D.M. (1968). Optimal Ordering and Rationing Policies in a Nonstationary Dynamic Inventory Model with n Demand Classes. Management Science.
Vanvuchelen, N. and co-authors (2024). Horizontal collaboration in inventory allocation using deep reinforcement learning.
Veeraraghavan, S. and Scheller-Wolf, A. (2008). Now or Later: A Simple Policy for Effective Dual Sourcing in Capacitated Systems. Operations Research.
Veinott, A.F. (1965). Optimal Policy in a Dynamic, Single Product, Nonstationary Inventory Model with Several Demand Classes. Operations Research.
Algorithmic Assortment Curation: An Empirical Study of the Buy Box in Online Marketplaces (2025). M&SOM.
Dynamic Effects of Visibility Shocks: Evidence on Demand and Pricing in Digital Marketplaces (2026).
Regulation (EU) 2025/40 on packaging and packaging waste (PPWR).
Several recent entries are cited by title and year from current literature searches. Verify author lists, volumes and page numbers before circulation. The classical references are stable as given.
DisclosureWho wrote this, and why
I run BizBloqs. We make warehouse and order management software, so I have an obvious interest in you concluding that the decision layer matters. Read the argument on its merits and discount accordingly.
Two things about our own position, stated plainly because the paper sets tests and it would be poor form to duck them.
We built per-channel safety stock with individual channel shutoff because customers kept running into the problem in part two — stock that existed, a promise that could not be kept, and a rating that took months to recover. That capability is live. It is question four on the list.
We do not yet report fulfilled-against-promised as a standard metric alongside fill rate. That is question seven, it is the metric this paper argues nobody reports, and we are building it. I would rather say that here than have you find out in a demo.
If any of this is recognisable, the useful conversation is not a product demo. It is an hour with your actual allocation rules — which channel gets cut first, who decides, and what it currently costs you. Bring the rules. We will tell you where we would help and where we would not.
Willem ten Asbroek — BizBloqs Management Solutions B.V., Netherlands. September 2026. Quotation permitted with attribution and a link.