Scaling ads without running out of stock
Before you triple the budget on a winner, work out how many days of stock that spend leaves you. Here is the arithmetic, and where the number lies.
Before you triple the budget on a winner, work out how many days of stock that spend leaves you. Here is the arithmetic, and where the number lies.
The hero SKU has held a 3.1 ROAS for nine days. You raise the daily budget from 120 euros to 400, because that is what you do with a winner. Three weeks later the product is gone, the restock is five weeks out, and the ad set spends that gap relearning on the two products nobody wanted.
I have done this. It is the most expensive kind of correct decision: the media maths was right, and the thing that broke was upstream of the media.
Short answer: Scaling ads without running out of stock means computing days of cover at the spend you are about to set rather than at today's. Divide units on hand by the daily sell-through that budget will produce. If that number falls below your reorder lead time, the increase is unaffordable at any ROAS.
The takeaways
Start from units, not euros. Take units on hand, subtract what you owe to open orders, then work out how many units a day the new spend will move. Your cost per purchase is the exchange rate between the two. Cover is what is left divided by that daily figure, and it has to clear your reorder lead time.
Worked through: 900 units on hand. You sell 10 a day, 6 of them from ads at 120 euros and a 20 euro cost per purchase, 4 from email and returning buyers. The restock lands in 35 days. To still have stock on day 35 you cannot exceed 900 / 35, about 25 units a day. The non-ad four are fixed, so ads may carry 21. At 20 euros each that is 420 euros a day. Your ceiling is a 3.5x, and no ROAS argument raises it.
Because almost every cover figure is built on a trailing average, and a trailing average is slowest exactly when you have just changed something. It reports the velocity you used to have, blended with a few days of the velocity you have now.
Scale the example above to 340 euros a day, the ceiling with a margin for the cost per purchase drifting up. Ads now move about 17 units a day, total 21. Run that for a week: 147 units gone, 753 left, real cover 36 days. The trailing 28-day average is 21 quiet days plus 7 loud ones, so it reads 12.75 units a day and the dashboard tells you 59. You have 36. Both clear the lead time here, which is the only reason this example ends well.
Size the step against your reorder lead time first and against the learning phase second. Every scaling guide gives you the same 20 percent every three days, which exists to protect Meta's optimisation. That constraint is real and it is the smaller one. A learning reset costs you a bad week. Going dark on your best seller for twenty days costs you the quarter.
So: raise in two or three steps inside the lead-time window, with a checkpoint on each. If the restock date slips, hold the current step instead of taking the next. Supplier dates slip more often than ad performance does, and the buyer who keeps stepping through a slipped date ends up paying to accelerate their own stockout. I now treat a confirmed shipping date as the precondition for the second step.
Into your second and third sellers, while the hero is still running. This is the part that gets done late almost every time, because nobody wants to move spend off the ad that is working.
Move early because the replacement needs a running start. A product with little recent delivery history goes into learning when it suddenly takes real budget, and learning takes days you will not have once the hero is out. Shifting 30 percent of the increase to the number two SKU in week one costs a little efficiency and buys a warm campaign. If the hero is a catalog product, the platform only hears about it through the feed, which is the out of stock lag that keeps spending after the shelf is empty.
Sometimes, and the test is whether the delay is the offer or a surprise. A preorder with the ship date on the creative, on the product page and in the confirmation email is a legitimate thing to advertise, and for a product people are waiting on it can outperform in-stock inventory. A four-week wait a customer discovers after paying is a refund and a chargeback dressed up as a conversion.
The line I use: if the wait is visible before the click, keep spending. If it only appears at checkout, cut the spend and fix the page. Backorders on a commodity product rarely survive that test, because the buyer has six other tabs open.
Stock cover sits between two teams and belongs to neither. Ops tracks it monthly for reorder purposes and nobody translates it into a daily budget number, so the media side scales on ROAS alone and finds out about the constraint from a customer service ticket.
That translation is the whole job, and it is arithmetic you can do in a spreadsheet before you touch the budget. Adscalr builds its budget plans from twelve weeks of real performance, each carrying a conversion goal and an AI-estimated cost per purchase, which is the unit you hold against units on hand, and its pacing alerts flag a runaway at 150 percent of cap every five minutes. It does not see your stock. No ad platform does. The spend-allocation half of this lives in budget intelligence, and the statistical ceiling on a scale-up is a separate problem I wrote about in scaling winning ads.
The supply ceiling sits above all of it. You can be right about the creative, right about the audience and right about the incrementality, and still lose the quarter to a container that lands in week six.
This is the thinking behind Adscalr.
See the product →