In short: Pro rata allocation against requested quantities pays customers for inflating, and on a realistic five customer example it breaches a contracted volume to fund a request that was 150% of the customer's normal offtake. Cachon and Lariviere showed in 1999 that proportional allocation makes inflation the dominant strategy, which is why rules built on facts of record rather than on stated requirements survive contact with a buyer. The second problem is that allocation writes its own history: shipments understate demand, requests overstate it, and a shipment-trained forecast drops the base that the next allocation cycle divides.
Six thousand units clear the line this month. The order book, refreshed on Friday afternoon after every account manager had a phone call with their customer, asks for ten thousand. Two of those customers have contracts with committed volumes. One of them is 40% of the revenue on the item. Somebody has to decide by Wednesday, and whatever they decide will be read back to them in a quarterly business review in March.
Price is one way to resolve this, and raising it to clear the shortage is PP6's subject. This post assumes the price is what the contract says it is and the only lever left is who gets what.
Pro rata against requests is a rule that pays for inflation
Take five customers on the item. Customer A asks for 4,000 against a contracted 2,500 a month and a trailing twelve month offtake of 2,400. Customer B asks for 3,000 with no commitment and a trailing offtake of 1,200. Customer C asks for 1,500 against a contracted 1,200 and trailing 1,150. Customer D asks for 1,000 with no commitment and trailing 900. Customer E asks for 500 against trailing 350.
Requests total 10,000. Trailing offtake totals 6,000, which is exactly what you can make, so in aggregate nobody's normal business is threatened. Contracted volume totals 3,700.
Allocate 60% of each request and you get A 2,400, B 1,800, C 900, D 600, E 300. Look at what that rule just did. B receives 150% of its normal offtake for the month, in the middle of a shortage, because B asked for two and a half times what it usually buys. C receives 900 against a contract for 1,200, so the rule has breached a written commitment in order to fund an inflated request. D and E, who asked for something close to their real requirement, both go short.
Allocate on trailing offtake instead and it comes out A 2,400, B 1,200, C 1,150, D 900, E 350, which sums to 6,000 with nothing left over. Requests stop mattering, so inflating them stops paying.
Run contracts first and it changes again. Honour the 3,700 committed, which gives A 2,500 and C 1,200. Distribute the remaining 2,300 across uncommitted offtake, meaning trailing volume above each customer's contract: B 1,200, D 900, E 350, a base of 2,450. Pro rata on that gives B 1,127, D 845, E 328. Final: A 2,500, B 1,127, C 1,200, D 845, E 328.
Three rules, all defensible in a sentence, three different answers. The spread on B alone is 673 units, and the difference between the best and worst outcome for B is entirely a function of which rule you picked rather than of anything B did in the market.
Cachon and Lariviere set out the mechanics of this in 1999, showing that proportional allocation of scarce capacity makes order inflation a dominant strategy for the buyer, and analysing turn-and-earn schemes that allocate on past purchases instead. Lee, Padmanabhan and Whang had already named the rationing game as one of the four causes of amplification in 1997, and what that amplification does to the chain above you is MM8's subject.
Build the rule from facts of record
The rules that hold up are the ones whose inputs are facts already recorded somewhere neither side can edit during the shortage. Contracted volume sits in a signed agreement. Trailing offtake sits in your shipment history. A safety-critical or regulated designation sits in a customer master flag with an approval date on it. An open backorder ageing sits in the order book.
Stated requirement fails that test. It is a number a buyer produced, in a week when producing a larger number was rational.
A workable structure has three parts. A precedence order, which decides what gets honoured before anything is shared. A base quantity per customer, computed from facts of record. A tie-break for the remainder, usually backorder age, which rewards the customer who has already waited rather than the one who shouted most recently.
Two constraints on the design matter more than the weights. The rule needs no discretionary term, because a discretionary term is exactly the thing a buyer will spend the call asking you to exercise, and once you exercise it for one customer the rule has stopped existing. And the rule needs a date stamp from before the shortage, because a rule written during a shortage is a negotiating position with formatting.
One caution on the commercial side. Choosing whom to supply has long standing protection in the United States following United States v. Colgate & Co. in 1919, while a supplier with market power in the European Union operates under the Article 102 constraints on discriminatory dealing, and shortages of medicines carry statutory reporting duties that H6 covers. Get the rule in front of counsel while it is still a draft.
Defending it without publishing it
Publishing the full rule invites optimisation against it. Refusing to explain anything invites the assumption that the allocation was political. There is a position between the two that holds.
Publish the input list and the precedence order. Something of the form: allocation honours contracted volumes first, then distributes remaining supply on trailing twelve month offtake above contract, then breaks ties on backorder age. Every customer can hear that sentence. It tells them the levers are contracts and sustained purchasing, which are the two behaviours you want.
Keep the weights and everyone else's numbers unpublished. Then give the individual buyer a statement built only from facts about them: your contracted volume this month is 1,200, your trailing twelve month average is 1,150, precedence placed your contract ahead of the shared pool, you received 1,200. Every figure in that sentence is a fact of record about that customer, they can check all of it against their own books, and none of it discloses a competitor's position.
The conversation that follows is about whether their contract should be larger, which is a conversation you want to have.
What allocation does to the demand signal
The rationing is only half the damage. The other half is that the shortage rewrites the history the next cycle will plan from.
Take the item above. True demand runs at 10,000 a month, you ship 6,000 for three months, and your demand history stores shipments, which is what most order-to-cash integrations pass across. A twelve month average moves from 10,000 to nine times 10,000 plus three times 6,000, over twelve, which is 9,000. Next quarter's supply plan is built on 9,000, the allocation base for every customer falls by a tenth, and the customers whose real requirement never changed appear to have shrunk. The shortage has now caused a smaller supply plan, which will cause another shortage. Recovering demand from a censored shipment history is D1's subject.
Store requests instead and the error reverses. B's 3,000 enters the record as demand, so the base for the next allocation rewards the inflation that the allocation rule was designed to ignore, and the forecast carries a spike that never existed.
There is a third distortion that arrives after the shortage clears. Customers who were cut order earlier and larger next time, because being short once is enough to change ordering behaviour for two quarters. That produces a surge followed by a hole, both of which look like demand and neither of which is.
Three numbers on every line
The fix is unglamorous and it is a schema change rather than an algorithm. Every order line coming out of an allocation period should carry the quantity requested, the quantity allocated, and the quantity shipped, plus a flag marking the period as constrained.
That gives you three separate series to reason about. Shipments tell you what left the building, and they are the right input for inventory and capacity. Allocations tell you what the rule decided, and comparing them across cycles is how you find out whether the rule is drifting. Requests tell you what was asked, and they are the raw material for a demand series, once bounded.
Bounding is the part worth thinking about. Requests during a shortage should not enter the forecast unfiltered, and a workable ceiling is each customer's trailing behaviour plus whatever growth they have demonstrated outside constrained periods. In the example, B's 3,000 would be capped at something near 1,300 rather than accepted at face value or discarded to 1,200. That is a bounded reconstruction rather than a measurement, and it should be labelled as one wherever it appears.
The flag matters as much as the numbers. Outlier detection run over a series that includes three constrained months will either clip the dip as an anomaly, which is right, or learn it as a level shift, which is wrong, and the only reliable way to get the right answer is to tell it which months were constrained.
Where this stops
No allocation rule creates supply. It decides who is unhappy and how defensible the reason is, and a well designed rule mostly buys you the ability to have the same difficult conversation five times with the same answer.
Every stable rule is gameable in whatever window it measures. Trailing offtake rewards the customer who bought most in the base period, including the customer who bought most because they were over-ordering during the previous shortage, so the distortion carries forward across events. Shorten the window and it becomes noisy and easy to move deliberately. Lengthen it and a genuinely growing customer is rationed against a past they have outgrown.
That is a real trilemma and it does not resolve. A rule can be non-discretionary, responsive to genuine growth, or hard to game, and any two of those come at the expense of the third. The practical answer most businesses land on is a non-discretionary rule plus a named, minuted exception process with a volume cap on it, which keeps the discretion visible and bounded rather than pretending it is absent.
The rule also cannot repair the relationship damage from the first shortage handled badly. Customers remember the allocation, and the version they remember is the one where nobody could explain the number.
Before anything else, open the last constrained month and check one thing: whether the demand history for those items stored the quantity the customer requested or the quantity you shipped. It is one query against the order tables, and the answer tells you whether your next allocation is about to be calculated on a number the previous allocation wrote.