Inventory Optimization: Complete Guide
Inventory optimization is a trade-off between service level, carrying cost, and cash, not a single number. The objectives, the levers, and where to start.
"Optimized" implies there is a correct number of units for each SKU, and that you have either found it or you haven't. There isn't one. Every stocking decision you make is a choice about which of three things to give ground on, and the reason inventory advice contradicts itself so often is that different articles quietly assume you already picked a different one.
This guide is about the choice, not the arithmetic. It does not re-derive the reorder point, the safety-stock formula, or the target stock level, all of which already have their own pages on this site. It names what each of those numbers is buying you and what it is spending to buy it.
What optimization actually optimizes
Optimization is a word borrowed from mathematics, where it means finding the input that maximises or minimises a stated objective. The objective is the part that goes missing when the word crosses into inventory writing. "Optimize your stock levels" is an instruction with the important half removed.
Look closely at any of the standard formulas and you find a policy decision hiding inside an input. The safety stock formula does not tell you how much buffer to hold; it converts a service-level target you chose into a number of units. Pick a higher target and it returns a bigger number. Both outputs are correct. The formula never had an opinion about which target was right. The same goes for a target stock level: the number of days of cover you type in is the decision, and the multiplication afterwards is just bookkeeping.
So the honest form of the question is not "what is the optimal stock level for this SKU". It is "what am I willing to give up on this SKU in order to get the thing I want most from it". That question has an answer. The first one doesn't.
The three competing objectives
Three things compete for the same units on the same shelf.
Service level is the share of demand you can fill from stock at the moment it arrives. It is the objective everyone defaults to, because its failure is the visible one: a customer wanted something, you didn't have it, and both of you know. All else equal, more availability means more inventory.
Carrying cost is the running expense of holding the stock while it waits to sell: the cost of the money tied up in it, storage, insurance, handling, shrinkage, and obsolescence. You will see a percentage-of-inventory-value rule of thumb quoted for this in a lot of places. It traces back to a trade-magazine article from the 1990s rather than to any study of ecommerce, and the versions that circulate have usually lost the wide range the original gave. Add up your own components instead. A borrowed percentage optimises somebody else's store.
Cash is the third, and it is the one most often folded into carrying cost even though it behaves differently. Carrying cost is a rate that accrues while stock sits. Cash is a single commitment with a timing dimension: money handed to a supplier on Tuesday is not available for the next order, the next ad, or the next rent cheque, regardless of what the holding cost works out to per month. Two stores with the same carrying cost can be in completely different cash positions depending on payment terms and how often they order.
You can be profitable on paper and still unable to fund the reorder of your best seller. That is a cash failure, not a forecasting one.
That is why cash deserves its own corner. It is also the corner that tends to do the actual damage, because it fails silently: nothing on a Shopify dashboard turns red when the money that should have bought your fastest mover is sitting in a pallet of something else. Calculating how much excess you are holding is the closest thing to an alarm for it, and releasing the cash tied up in stock you already own is what to do once it goes off.
Segment before you optimize
One position in that triangle for the whole catalog is the mistake almost every store makes first, and it is expensive for a reason that isn't obvious: the corners do not cost the same on every SKU.
On a high-revenue product with predictable week-to-week demand, availability is cheap. Predictable demand means a small buffer covers a lot of ground, so you can sit close to the service-level corner without committing much cash. On an erratic seller, the same availability costs several times the stock, and may still not deliver it, because the buffer has to cover a spread rather than a wobble. The exchange rate between the corners is different on every SKU, and a blanket policy pays the worst rate on offer across the whole catalog.
That is why "raise availability everywhere" is one of the most expensive instructions in inventory planning. It commits the most cash exactly where it does the least good. Grading the catalog on both revenue contribution and demand predictability first is what makes the rest of this post applicable rather than theoretical, and ABC-XYZ analysis covers how to produce both grades from your own sales history.
The levers and what each costs
Five levers move a store's position inside the triangle. Each one is already covered in full somewhere else on this site, so what follows is what each one buys and what it spends, not how to compute it.
Safety stock
Buys service level. Spends carrying cost and cash. It is the fastest lever in both directions, which is exactly why it is the one people over-turn: raising it feels like buying insurance and costs nothing today. The safety stock guide has the sizing, including the statistical version and its assumption that demand is roughly normally distributed, which a low-volume or heavily promoted SKU may not satisfy.
Order quantity and cadence
These two are the same lever seen from opposite ends. Ordering in bigger batches buys lower freight per unit, fewer supplier touches, and access to price breaks, and it spends cash and obsolescence exposure. Ordering more often in smaller batches does the reverse: less money committed at any one moment and a faster reaction to a change in demand, paid for in shipping and admin time. How much to order covers the sizing and the minimum-order-quantity trap.
Economic order quantity gets offered as the answer here. It balances ordering cost against holding cost and returns a single quantity, but it assumes demand is constant, lead time is fixed, and shortages never happen. A seasonal SKU breaks the first, an ocean-freight supplier breaks the second, and a store that has ever stocked out breaks the third. The number it gives you is precise rather than right, and the source material for the formula says so itself.
Lead time
Shortening lead time is the closest thing to a free win on this list, because it improves service level and cash together: the shorter the wait, the less stock you need on hand to cover it, so the same availability costs fewer units. What it spends is a different currency, usually a higher unit price from a closer supplier or a more expensive shipping mode. It is a real lever and an underused one, but it is a purchase, not a discovery.
Forecast quality
A better forecast is the other lever that moves two corners at once. Less error means less buffer required for the same service level, which frees cash without lowering availability. The honest caveats: it never converges on zero error, and the return is uneven. The gain is largest on SKUs whose variability has a reason behind it, like a season or a promotion, and smallest on genuinely erratic ones where the underlying demand is close to noise. Spending forecasting effort on the second group is the most common way to work hard on the wrong lever.
Assortment
Dropping a SKU is the only lever that removes a trade-off rather than sliding along it. It is also the one most stores refuse to pull until the stock is unsellable. If a product cannot justify the cash it holds at any position in the triangle, no reorder point will fix that; the decision is upstream of planning.
Measuring whether it worked
Pick one metric per corner and write down today's value before you change anything. Without a baseline you get an argument rather than a result, and the argument is usually won by whoever remembers the last stockout most vividly.
- Service level: how many days each SKU spent at zero over the period, or your fill rate if you track it.
- Carrying cost: inventory turnover and days of inventory, both defined in the inventory metrics guide.
- Cash: average inventory value at cost, and what share of the money you have available to spend is currently sitting in stock.
Two rules make those numbers mean something. First, one metric moving is not evidence of anything. Turnover rising while days out of stock also rise is not optimization; it is under-buying with better paperwork. You need at least one number from each corner or you will declare victory on the corner you happened to measure. Second, measure across at least one full reorder cycle including the lead time. A week after changing a buffer, you are looking at the stock you bought under the old policy.
Segment the measurement as well. A catalog average hides both of the things you actually care about: your fast movers going out of stock, and your slow movers absorbing the cash. The replenishment guide covers where these checks fit into an ordering routine that already runs.
Where to start
Name the corner you are currently failing on, in one sentence, with a SKU attached. Most merchants already know the answer and have never written it down, which is why the same argument gets re-run every ordering cycle.
- Write the failing corner down. "We run out of our top three candles about once a quarter" and "most of this quarter's buying budget is sitting in gift boxes" are different problems and take opposite fixes.
- Grade the catalog first. Revenue contribution and demand predictability, before you touch a single stock number.
- Baseline one metric per corner. Today's values, in a file you will still be able to find in three months.
- Change one lever on one segment. Five changes across the whole catalog produce a result you cannot attribute to anything.
- Re-measure after a full reorder cycle, not after a good week.
- State the target out loud. An unwritten service-level target gets silently renegotiated every time an order looks bigger than someone expected.
Most of this stays a thinking problem until you try to hold it current. Recomputing velocity, buffers, and target levels per SKU on a schedule tight enough to catch real drift is where it turns into maintenance, and that is the part stores abandon first. StockCue computes reorder points and suggested order quantities from up to 24 months of order history, with seasonality-aware forecasting on every plan including Free, which covers 50 SKUs. Purchase orders, receiving, and stock counts start at Starter.
STOCKCUE
Deciding where you want to sit between availability and cash is your call. Keeping every SKU's numbers current enough for that decision to still be true next month is the part StockCue does for you, recalculated from live sales rather than a spreadsheet someone last touched in March.
Install StockCue on Shopify →Frequently Asked Questions
What is inventory optimization?
Inventory optimization is choosing stock levels against a stated objective rather than hunting for a single correct number. In practice it means deciding how to balance three things that compete with each other: how reliably you can fill demand from stock, what holding that stock costs you to keep, and how much cash it locks up until it sells. Every formula involved, from reorder point to safety stock to target stock level, is a lever on that balance rather than an answer to it.
What's the difference between inventory optimization and inventory management?
Inventory management is the ongoing operation: tracking quantities, counting, ordering, receiving, keeping the numbers honest. Optimization is the decision layer above it, setting what you are trying to achieve with the stock you hold and what you are willing to give up to get it. A store can manage its inventory meticulously and still be badly optimized, holding too much of the wrong products with excellent accuracy.
Can you optimise for both service level and cash at the same time?
Not fully, and not by adjusting buffers. Holding more stock to raise availability always commits more cash, so moving toward one corner moves you away from the other. Two levers do improve both at once: a shorter supplier lead time and a more accurate forecast, because each reduces the amount of stock you need to hold for the same availability. Neither is free. The first usually costs more per unit or more in freight, and the second costs time and attention.
What's the first thing to change if inventory is over-optimised for availability?
Start with safety stock on your most predictable SKUs. A buffer sized for your most erratic product is mostly dead weight on a steady seller, so cutting it there releases cash without moving your stockout risk much. Change it on one segment, measure across a full reorder cycle rather than a week, and only then decide whether to go further.
