Costing Storage
What one pallet, one day is actually worth
Storage is the simplest-looking line on a warehouse invoice. So many pallets, so many days, times a rate. Clear enough that you don't need a calculator.
And on the cost side it's the line that's wrong most often. One question exposes it immediately. What does it cost us to hold one pallet for one day?
If the answer starts with "take the center's rent, divide by pallet count, roughly…" then the number that follows is almost certainly at least 20% too low. And an understated storage cost is quiet. It doesn't spike on payroll every month the way labor does — it hides inside a fixed rent line and rides along for years.
In "Understanding Standard Costing in Logistics" we set out the frame of standard quantity × standard rate. This piece applies that frame to the hardest cost pool in a warehouse: storage.
Storage cost is a different kind of cost
You cannot treat storage the way you treat picking and packing. The characteristics are close to opposite.
| Handling cost (pick, pack) | Storage cost | |
|---|---|---|
| Cost driver | Throughput (orders, lines, boxes) | Occupancy × time |
| Cost behavior | Mostly variable | Almost entirely fixed |
| Unit | Minutes | Pallet-days |
| When it's controlled | Daily | At lease and layout |
| If volume drops | Cost drops too | Cost doesn't move |
That last row is the whole story. You can stop spending on picking labor when there are no orders, but cut inventory in half and rent doesn't fall by a single won. The lease already bought that floor area.
So the real object of management in storage isn't the rate — it's occupancy. Put in standard costing terms, storage is the cost pool that volume variance dominates.
And a time dimension comes attached. Handling cost stops accruing when the work is done; storage cost keeps accruing for as long as the inventory sits there. It's the only cost in the warehouse that piles up while nobody does anything at all.
Get the denominator wrong and everything after it is wrong
Storage costing fails at the denominator almost every time, not the numerator. Assembling the cost pool only takes accounting records. "How many positions do we actually have?" is far slipperier.
Three stages have to be kept apart.
| Stage | Definition | Common misreading |
|---|---|---|
| ① Gross area | Contracted gross floor area | Dividing by this drops cost across the board |
| ② Net storage area | Gross − aisles, dock, work areas, office | Counting aisles as storage area |
| ③ Effective operating positions | Total positions in ② × target occupancy | Setting target occupancy to 100% |
What comes out at ② is larger than people expect. Subtract aisles, the dock, outbound staging, inspection, packing, and office and welfare space, and it's common for only about half the gross area to remain. Selective racking buys direct access to every pallet at the price of a lot of aisle.
③ matters more. No warehouse fills 100% of its positions. You need slack for turnover, client and category segregation, SKUs on fixed locations, and cross-dock staging. The target occupancy used as a design basis in practice is around 85%.
Industry benchmarks make the picture starker. Cube utilization runs 20–25% in a traditional warehouse, 35–45% with an optimized layout, and only reaches 50–60% with automation. Selective racking in a very narrow aisle (VNA) configuration still lands in the 22–27% band.
Let's run the numbers — pallet-day standard cost
You need figures to get a feel for it. Let's build one for an ambient center in the Seoul metro area.
The cost pool first. Gather the monthly fixed costs attributable to storage.
| Item | Monthly |
|---|---|
| Rent (10,000㎡ ≈ 3,025 pyeong × 35,858 KRW) | 108,500,000 KRW |
| Common area charges | 15,000,000 KRW |
| Power, heating and cooling | 12,000,000 KRW |
| Racking and equipment depreciation | 8,000,000 KRW |
| Insurance and other | 4,500,000 KRW |
| Total monthly storage fixed cost | 148,000,000 KRW |
Rent uses the ambient nominal rate of 35,858 KRW per 3.3㎡ from Newmark Korea's first-half 2026 survey of 200 prime logistics centers in the Seoul metro area.
The denominator. Strip non-storage area out of the 10,000㎡ gross.
| Zone | Area |
|---|---|
| Gross floor area | 10,000㎡ |
| − Dock, outbound staging, inspection | 1,500㎡ |
| − Aisles (main + working) | 2,600㎡ |
| − Packing and value-added area | 500㎡ |
| − Office, welfare, plant rooms | 400㎡ |
| Net storage area | 5,000㎡ (50%) |
| Selective racking, 4 levels → total pallet positions | 6,000 positions |
| × target occupancy 85% | 5,100 positions |
Now divide. Except that the answer comes out three different ways depending on the denominator.
| Denominator | Cost per pallet-month | Per pallet-day | What the number assumes |
|---|---|---|---|
| Total positions 6,000 | 24,667 KRW | 822 KRW | Always 100% full — impossible |
| Target occupancy 5,100 | 29,020 KRW | 967 KRW | Fills to design at peak — the standard cost |
| Average occupancy 3,800 | 38,947 KRW | 1,298 KRW | What actually gets billed — the recovery basis |
The gap between the first and second rows is 17.6%. Simply omitting target occupancy understates your storage standard cost by nearly a fifth. And that error carries straight through into contract pricing.
The third row is a different story — and it's where this article is going.
You build for peak and bill at average
A warehouse leases against how full it gets at its fullest. You can't leave freight standing outside when peak inventory arrives. But billing goes out against what's actually occupied. That those two bases differ is the structural problem of storage P&L.
Continue the example. The center is designed for 5,100 positions of target occupancy, but average actual occupancy over the year is 3,800. At 25,000 KRW per pallet-month:
| Item | Calculation | Amount |
|---|---|---|
| Storage revenue | 3,800 positions × 25,000 KRW | 95,000,000 KRW |
| Storage fixed cost | independent of occupancy | 148,000,000 KRW |
| Storage P&L | — | −53,000,000 KRW |
53 million won a month in the red. And 25,000 KRW per pallet is by no means a cheap rate in this market. The problem isn't the rate — it's that 1,300 positions are empty.
Translate that into standard costing language and it is precisely volume variance. Apply the 29,020 KRW rate (target-occupancy basis) to the actual 3,800 and you absorb 110.28 million won, leaving 37.72 million won of unabsorbed fixed cost.
A practical judgment forks here. You must not use the same number for your standard cost and your pricing floor.
- Standard cost, 29,020 KRW — the ruler for measuring operating efficiency against design. Variance analysis runs on this.
- Recovery rate, 38,947 KRW — what you'd need to fully recover fixed cost at average occupancy. This is the floor in a price negotiation.
You need both numbers to hold a real conversation. "Our cost is 29,020, so we'll sell at 32,000" is a calculation that hasn't noticed 37.72 million won of unabsorbed fixed cost every month.
Choosing a billing unit is choosing whose interest to serve
How you count storage looks like a technical question. It is actually a decision about who pays for empty space.
| Unit | Billing basis | Empty space borne by | Where it distorts |
|---|---|---|---|
| Pallet-day | Pallets occupied × days | Warehouse | A half-full pallet still counts as one |
| Location-day | Locations assigned × days | Shipper | Billing continues after partial pick |
| Cubic-day | Measured volume × days | Warehouse | All wasted space around irregular freight |
| Area per month (dedicated) | Contracted area | Shipper | Detached from usage — predictable, no efficiency incentive |
| Month-end snapshot | Closing inventory | Warehouse | Stock that came and went mid-month is effectively free |
That last row is the dangerous one. Month-end billing is widely used because it's easy to compute — and inventory that arrived at the start of the month and shipped just before month-end used the space all month and bills at zero. The faster a shipper turns, the better they do under it, and the warehouse mistakes them for a premium customer.
Cubic-foot billing is misunderstood too. Charging by volume looks fair, but actual cube utilization on a pallet sits around 70–75% on average because of product shape and partially picked stock. Bill by cubic volume and the warehouse eats the cost of that remaining 25–30%.
On top of it sits honeycombing. Under a rule of one SKU per location, a partially picked pallet leaves a position that can't accept another SKU because of the remainder. You get space that is physically occupied and functionally empty. Location-day billing passes that cost to the shipper; pallet-day and cubic billing leave it with the warehouse.
There's no single right answer. But you do have to know which way your billing unit pushes the cost of empty space. Pick a cheaper unit than your competitors without knowing, and you aren't selling cheap — you're buying someone else's inefficiency.
The only cost that accrues while nobody does anything
Storage has a property no other cost pool has: it grows purely because time passes.
Which makes inventory turnover the central variable in storage P&L. Take the same 100 pallets: a shipper turning them four times a month and one turning them 0.3 times generate completely different costs. The first is heavy on handling cost and light on storage. The second is the reverse — almost no work, and the positions held all year.
The problem is that billing structures often don't reflect this. Handling fees scale automatically with turns because they're per transaction, but storage fees that only count pallets are the same whether turns are four or zero. No premium attaches to inventory that eats a position and an opportunity cost with it.
The industry is solving this with long-term storage fees, and adoption is moving fast. In a U.S. warehousing and fulfillment survey, the share of warehouses charging long-term storage fees doubled from 23.3% to 48.6% in a single year, and the average monthly minimum charge rose from $337.50 to $517. In 2026 3PL rate guides, surcharges on inventory that hasn't moved in 90 days or more have settled in as standard practice.
What's moving storage cost in 2026
① The rent-decline phase is over.
The largest item in storage cost is rent, and its direction has changed. CBRE put U.S. industrial vacancy at 6.7% in Q1 2026 and reported rent growth returning for the first time since 2024 (asking rent $11.08 per sq ft). JLL logged 7.5% vacancy and $10.34 asking (+0.8% YoY) for the same quarter, with leasing activity up 14% year over year, putting 2026 on track for record volume. Worth reading alongside that: big-box is what's driving vacancy up, while small-bay product stays tight.
② In Korea, ambient and cold have become different markets.
Newmark Korea's first-half 2026 survey of 200 prime logistics centers of 33,000㎡ or more in the Seoul metro area found vacancy at about 15% for ambient and about 37% for cold. Nominal rent per 3.3㎡ ran 35,858 KRW ambient against about 61,000 KRW cold. Cold storage sits in a structural supply-demand imbalance with nearly four in ten facilities empty, and pressure to convert cold space to ambient has emerged.
There's a trap here that lands directly on standard costing. Do not build a cold-storage standard cost on nominal rent. In a cold market this vacant, rent-free periods and leasing incentives have expanded, which is narrowing the gap between effective and nominal rent. Build the cost pool on an effective monthly rent that amortizes the rent-free period across the full lease term, not the headline number in the contract. Skip that correction and your cold storage cost comes out higher than reality — and you walk away from quotes you could have won.
③ The supply cliff sets your negotiation timing.
The same survey estimated new supply fell more than 50% from the 2023 peak through 2025, and first-half 2026 new supply came in at roughly 33% of the prior-year level. Today's market favors tenants, but that window has a visible expiry. The space that's spare today won't be spare in 2027. When and for how long you lock a lease — which determines 60–70% of storage cost — is the most expensive decision on the table right now.
④ Density changes the unit cost.
The structural way to lower storage unit cost is density, not rate negotiation. Traditional racking runs 40–60% storage density against 80–90% for automated systems (AS/RS). Shuttle configurations eliminate aisles and fit 10,000 pallets into the space where selective racking holds 7,500. Up-front capital runs 30–50% above forklifts plus selective racking, but per pallet position stored, the advantage flips. Payback in 2026 typically lands at 3–5 years.
The arithmetic above still applies, though. Raising density raises the fixed-cost share, so automating while occupancy is low only enlarges the volume variance. The precondition for automation isn't volume — it's stable occupancy.
⑤ Storage contracts are shifting from renting space to a turnover-conditional service.
The spread of long-term storage fees (23.3% → 48.6%), rising minimums ($337.50 → $517), and the standardization of the 90-day no-movement threshold all point one way. Warehouses no longer sell space — they sell space on the assumption of turnover. Don't rework your own rate card to match and slow-moving inventory quietly migrates toward you. That isn't revenue; it's occupancy.
What you can do in the first month
Storage standard costs go up far faster than handling standard costs. No time studies are needed, and most of it computes from data you already have.
- Assemble the cost pool. Rent, common charges, utilities, rack depreciation, insurance. If there's a rent-free period, amortize it across the lease term into an effective rent.
- Measure and subtract area. Take aisles, dock, work areas, and office off the drawings to get net storage area. If the drawings are old, measuring comes first.
- Document total positions and target occupancy. Target occupancy is a design premise, not a negotiating position. Start at 85% and adjust only with evidence.
- Compute two rates separately. The standard cost on target occupancy and the recovery rate on average occupancy. Write both down side by side.
- Measure the peak ratio and pull volume variance monthly. If peak ÷ average exceeds 1.5, compare outsourced overflow against holding the space yourself.
- Check which way your billing unit pushes the cost of empty space. If you bill on a month-end snapshot, recompute on pallet-days and look at the difference.
Number six pays off immediately. Centers billing on month-end snapshots that recompute on pallet-days frequently uncover storage revenue they'd been missing on fast-turning shippers. You don't have to change the contract — the negotiating case comes out of that calculation.
One precondition. Location-level occupancy history has to land in the ledger. Without a dated record of which shipper's what sat in which location, pallet-days can't be computed and month-end snapshots become the only method available. Your menu of billing options is ultimately set by how fine-grained your ledger is.
Storage isn't selling space
Treat storage fees as reselling leased floor area and the math gets easy while the P&L stops adding up. A landlord collects rent on 100% of the contracted area. A warehouse is selling space it can never fill completely, and eating the cost of the part it can't fill.
So the substance of storage costing isn't the division — it's honesty about the denominator. Divide by total positions and the cost comes out attractive, the quote sails through, and two years later that contract renews with nobody understanding why there's nothing left in it.
Docktre counts storage as occupancy × time
Location-level occupancy history lands in the ledger, so pallet-day actuals and billing evidence come out of the same data. If you'd like to see it in your operation, get in touch.
Contact