Carrying Cost: What 20% a Year Actually Buys

If you have read our piece on when to drop a product line, you saw a carrying cost of 20% a year used without any breakdown. That rate decides how much stock a forward buy is worth, how long a slow SKU can sit before it costs more than it earns, and whether a pack discount pays for the months the extra units spend on the shelf. Below, the 20% is split into its parts, rebuilt from one store's own numbers, and applied to a forward buy where 14% and 22% give different answers.
Four costs that grow with the stock you hold
Carrying cost is everything you pay because inventory exists, expressed as a share of the average inventory value at cost, per year. For a reselling store it usually comes down to four parts:
- Capital is the money tied up in stock: with a credit line, its interest rate. If you pay cash, it is what that cash would otherwise earn or save, and paying down debt is usually the honest comparison.
- Space. The share of rent, utilities and shelving that exists because of the stock.
- Insurance. The part of your premium that covers inventory.
- Shrink and obsolescence. Units that are damaged, lost, expire, go out of season or get superseded and are sold at a loss or written off.
Labour mostly stays out. Receiving and picking happen whether you hold two weeks of stock or six months of it, so they belong to the cost of an order, not to carrying cost. Stock counts and re-shelving slow lines do grow with inventory, but for a small store they are rarely large enough to measure separately.
Putting a number on each one
Take a store with an average inventory of $60,000 at cost, measured as the average of month-end values over the last year. Its rate comes out like this.
| Component | Where the number comes from | Per year | Rate |
|---|---|---|---|
| Capital | Credit line at 9% interest | $5,400 | 9% |
| Space | $1,000 a month rent, shelving takes 40% of the floor | $4,800 | 8% |
| Insurance | Inventory share of the premium | $600 | 1% |
| Shrink and obsolescence | Write-offs and below-cost clearance last year | $2,400 | 4% |
| Total | $13,200 | 22% |
For this store the borrowed 20% happens to be close, by coincidence. A store that pays cash and works from a spare room might come out at 8%. A store with a warehouse lease and a lot of seasonal stock can be well above 30%.
Obsolescence is the line easiest to guess wrong, so take it from your own records: inventory adjustments marked as damaged or lost, plus the loss on anything cleared below cost, over twelve months. If you only cleared stock at a smaller margin, that is a pricing loss, not carrying cost, and it does not go here.
Fixed rent is not a carrying cost until the shelves are full
The 22% is an average. For a decision about adding stock, the question is what the next dollar of inventory costs, and that is a different number.
Rent does not move when you put another $5,000 of stock on shelves that already have room. Capital, insurance and obsolescence do. For this store, the marginal rate while there is free space is:
9% capital + 1% insurance + 4% obsolescence = 14%
Once the shelves are full, the next purchase means a bigger unit, an overflow storage bill or stock stacked where it gets damaged. From that point the full 22% is the right rate, and sometimes more, because space comes in steps: you cannot rent 3% more floor.
Use 14% while you have room and the full rate when a buy would push you into new space. Keep both numbers written next to each other.
One rate per category, not one per store
Obsolescence is rarely spread evenly. Suppose $45,000 of the inventory is core consumables that never go out of date, and $15,000 is seasonal or model-year stock. The $2,400 of write-offs splits like this:
| Category | Average stock | Write-offs | Obsolescence | Full carrying rate |
|---|---|---|---|---|
| Core consumables | $45,000 | $450 | 1% | 19% |
| Seasonal and model-year | $15,000 | $1,950 | 13% | 31% |
| Whole store | $60,000 | $2,400 | 4% | 22% |
The full rates are 9% + 8% + 1% plus each category's obsolescence. Weighted by stock, they come back to 22%. Applying 22% everywhere overcharges the consumables and undercharges the seasonal line, which is exactly where overbuying hurts most. Two rates are enough for most small stores; more than three is usually false precision.
The same split explains why dropship versus stocking can come out differently for two lines from the same supplier: holding stock costs more for the line that goes stale.
How far ahead to buy before a price increase
Say a supplier announces a 6% increase on a consumable you buy at $20 a unit and sell 50 units a month. Buying ahead saves 6% on every forward-bought unit, but those units sit on the shelf and carry cost until they sell. The forward stock runs down evenly, so on average you hold half of it for the whole period.
With m months bought ahead, a monthly spend C, an increase s and a carrying rate r:
net gain = s × C × m − (C × m / 2) × r × m / 12
Here C is $1,000. With the 14% marginal rate:
| Months ahead | Units | Saving at 6% | Carrying at 14% | Net | Carrying at 22% | Net |
|---|---|---|---|---|---|---|
| 3 | 150 | $180 | $52.50 | $127.50 | $82.50 | $97.50 |
| 4 | 200 | $240 | $93.33 | $146.67 | $146.67 | $93.33 |
| 5 | 250 | $300 | $145.83 | $154.17 | $229.17 | $70.83 |
| 6 | 300 | $360 | $210.00 | $150.00 | $330.00 | $30.00 |
The best point is about 12 × s / r months: just over 5 months at 14%, a little over 3 months at 22%. If the forward buy fits on existing shelves, five months is worth it. If it means renting overflow space, stop at three or four months; at the full rate a sixth month cuts the gain to $30. The five-step response to a price increase covers the rest of the decision: verifying the increase and deciding which retail prices to move.
The formula leaves out two things on purpose. It assumes demand stays flat, which is fair for a consumable and wrong for a seasonal line, where the 31% rate and the risk of unsold units both argue for buying less. And it assumes you have the cash; if the forward buy would max out the credit line, the capital cost is no longer 9%.
The same arithmetic applies to pack sizes and minimum orders: a larger pack at a discount is a forward buy with the supplier's terms attached.
All of this multiplies the cost per item. If that number in Shopify is a year old, every carrying calculation inherits the error. CostSentry watches supplier price lists, flags cost increases per SKU and can write the new cost back to Shopify on paid plans, so the forward-buy maths starts from the price you will actually pay.
Start from the cost you will actually pay
Drop in your Shopify product export and a supplier CSV, see which SKUs match and which now fall below your target margin. Free, no account.
Open the free checker ↗