Fulfillment

TikTok Shop Dead Stock: When Discounting Beats Waiting

A discount is a loss you pay once. Storage is a cost you pay every day, and the rate rises the longer the unit sits. The decision between them turns on a single estimate — how many more days you think the stock needs — and the official rate card turns that estimate into a number.

Slow stock is the least dramatic problem in a TikTok Shop business and one of the most expensive, because nothing about it looks wrong on any given day. Units sit in the warehouse, the profit calculator still shows a healthy margin on the ones that do sell, and the storage line grows quietly in the background. Then a quarter later the inventory report shows a batch that has been in the building for eight months and has quietly become the most expensive thing you own.

The useful thing about FBT storage is that it is not a single price. It is eight, and they are keyed to exactly the variable you are trying to reason about: time. That makes the discount-or-wait question arithmetic rather than instinct. This page works one batch through the official rate card end to end. The rates come from TikTok’s FBT Rate Card; the decision framework built on top of them is ours, and is labelled where it starts.

Quick answer

Storage is free for the first 60 days, then bills per cubic foot per day at a rate that climbs with age: $0.03 from day 61, up to $0.27 past a year. Because the rate accelerates, waiting is cheap at first and expensive later. In the example below — 400 units of a 12×10×8 in box at $29.99, already 200 days old — holding on becomes more expensive than a 30% discount at roughly day 326. The rule that falls out of it: if you expect to need longer than that to sell through, cut the price; if you expect to clear it sooner, wait.

The rate card is a schedule, not a price

Eight tiers, effective December 15, 2025, in dollars per cubic foot per day:

Storage daysRate (per cu ft per day)What it means
30 days or lessFreeA fast sell-through pays nothing
31–60 daysFreeThe free window runs a full 60 days
61–90 days$0.03The bill starts here
91–120 days$0.04First of the finer tiers added 2025-12-15
121–180 days$0.06Twice the day-61 rate
181–270 days$0.12Four times the day-61 rate
271–365 days$0.14Past 270 days the card is unchanged
Over 365 days$0.27Nine times the day-61 rate

Two notes travel with the table and both matter here. Storage is calculated daily at 23:59 on the total cubic feet of all your units, “including both sellable and defective units” — so damaged stock keeps billing until it physically leaves. And inventory age is defined by TikTok as “Storage Days = Outbound Time − Inbound Time”, which is a per-unit measure: receiving a new shipment starts a new clock for those units and does not roll back the age of what is already sitting there. That last sentence is our reading of the formula rather than a separate statement from TikTok.

Sunk cost is not part of the decision

The most common way to get this wrong is to include what you have already spent. Take the example batch: 400 units in a 12×10×8 in box, which is 960 in³ or 0.556 cu ft each, so 222.22 cu ft for the batch. It has been in the warehouse 200 days. Across those 200 days it has run up $1,800.00 of storage — $4.50 per unit — all of it after the free window closed.

That $1,800 is gone whichever choice you make now. It does not favour discounting and it does not favour waiting, and folding it into the comparison is what makes people hold stock far longer than they should, because they are trying to “make back” a cost that no decision can recover. The only question that has an answer is: what does each option cost from today?

What waiting costs, tier by tier

From day 201 onward, the marginal cost of holding the batch depends on how far into the schedule you go. All figures below are the batch’s 222.22 cu ft priced against the tiers it passes through:

Hold this much longerEnds on dayStorage costPer unit
30 days230$800.00$2.00
60 days260$1,600.00$4.00
90 days290$2,488.89$6.22
120 days320$3,422.22$8.56
200 days400$6,922.22$17.31

Note the shape. The first 30 days cost $800 and the second 30 days cost another $800, because both sit inside the 181–270 day tier at $0.12. Then the batch crosses into 271–365 days and the same 30 days cost more, and past a year the same 30 days cost $0.27 a cubic foot a day — nine times the rate that applied when the free window closed. Holding is not linear, and any estimate that treats it as linear will under-price the tail badly.

The day waiting starts losing

Now put the alternative on the same axis. Discounting the batch 30% at $29.99 gives up $9.00 per unit, or $3,598.80 for 400 units, and it is paid once.

Storage from day 201 reaches $3,608.89 at day 326 — 126 more days of holding, $9.02 per unit. That is where the two lines cross. Before day 326, waiting is the cheaper of the two; after it, the discount you declined would have cost less than the storage you are paying to avoid it.

So the decision reduces to one estimate you have to supply: how many more days will this batch take to sell through? If the honest answer is under about four months, waiting wins. If it is longer, or if you do not know, the discount wins — and “I don’t know” is the most common answer for stock that has already been sitting for 200 days, because a batch that has not moved in seven months is not usually one that moves in the next four.

Run your own batch through the FBT Storage Fee Calculator — it prices the same tiers tier by tier and shows the batch re-priced at 30, 60, 90, 180, 270 and 365 days, which is the sensitivity you need for this question rather than a single total. Then take the discounted price to the profit calculator to check the unit is still profitable at the lower price; a discount that turns a $9 loss into a $3 loss is a good decision and one that turns profit into a loss is a different conversation.

Three ways this gets misjudged

“The first 60 days are free, so a slower sell-through is fine.”

The free window is 60 days and the clock starts at inbound, not when you notice the stock is slow. A unit that sits 200 days has spent 140 of them billing. The free window is worth planning around — it is the reason inbound timing matters — but it is a runway, not a cushion.

“Damaged units are not selling, so they are not costing anything.”

They are. The calculation note covers “both sellable and defective units”, so units you have already written off keep generating a daily charge until they leave the warehouse. Removing them is a cost decision, not housekeeping, and it is the one line on this page that is often recoverable without touching your pricing.

“Roughly $1 a cubic foot a month is close enough.”

It is close for the middle of the schedule and badly wrong at both ends. A flat monthly figure says the 200th day costs what the 61st did; the card says it costs four times as much, and the 400th day costs nine times as much. Averages are fine for budgeting a fast mover and misleading for exactly the stock you are trying to make a decision about.

What to actually do

  • Pull inventory age, not just quantity. Quantity tells you what you have; age tells you what it is costing. The decision above cannot be made from a unit count.
  • Price the batch, not the unit. Storage bills on total cubic feet, so a small slow-selling item can quietly cost more than a large fast one.
  • Set an age threshold before the stock reaches it. Deciding at day 330 that day 326 was the crossover is not useful. Pick the number while the batch is still inside the free window.
  • Check the discounted price still clears your costs. The comparison above assumes you can afford the discount; the profit calculator tells you whether you can.
  • Clear defective units first. They are billed at the same rate and have no upside.

Where we stop short. The eight rates, the daily basis, the defective-unit rule and the age formula are TikTok’s, from the rate card. Everything built on top of them is ours: the discount size, the sell-through estimate, and the choice of 30% and day 200 in the example are inputs we picked to make the arithmetic visible, not figures TikTok publishes or recommends. The framework also prices storage only — it does not put a number on the cash tied up in the stock or on the warehouse space it displaces, both of which push the same direction as the storage line and both of which you may want to weigh separately. Your own Seller Center reporting is the authority on your actual ages and charges.

Frequently asked questions

How is FBT storage billed?

Per cubic foot per day, on eight age tiers. Free for the first 60 days, then $0.03 (61–90), $0.04 (91–120), $0.06 (121–180), $0.12 (181–270), $0.14 (271–365) and $0.27 past a year. TikTok calculates it daily at 23:59 on the total cubic feet of all units, including defective ones.

Does damaged or unsellable inventory keep accruing storage?

Yes. TikTok’s note says storage is based on the total cubic feet of all units, including both sellable and defective units. Damaged stock bills until it leaves the warehouse, so removing it is a cost decision rather than housekeeping.

How is inventory age counted?

TikTok defines it as Storage Days = Outbound Time − Inbound Time. Age tracks each unit’s own time in the warehouse, so a new shipment starts a new clock for those units and does not reset the age of stock already there. That last point is our reading of the formula, not a separate TikTok statement.

Is the FBT storage fee monthly or daily?

Daily. The rate card table is headed Cubic Feet/Day and TikTok states fees are calculated daily at 23:59. Guides quoting a monthly per-cubic-foot figure are converting a daily rate, and the conversion hides the fact that the rate rises with age.

Is there a minimum chargeable volume?

Yes, 0.001 cubic feet per SKU per day. It only affects items smaller than about 1.7 cubic inches, so any ordinary packaged product bills on its real volume.

Is it cheaper to discount slow stock or keep paying storage?

It depends on how many more days you expect to hold it. A discount is a one-off loss; storage accumulates and accelerates with age. In this page’s example the lines cross near day 326: 126 more days of holding costs about $3,608.89 against the $3,598.80 a 30% discount would have given up. The discount size and the sell-through estimate are yours, not TikTok’s.

Keep going