I Built a Store With 1,920 Units I Can Never Restock: An Inventory Thought Experiment

Inventory is where Shopify merchants quietly lose money: too little and you miss sales, too much and your cash freezes on a shelf. Building a side project with exactly 1,920 fixed, unrestockable units clarified the whole discipline. Here is what a store I can never restock taught me about the one you can.
A store with fixed, unrestockable inventory strips inventory management to its essentials: inventory is parked cash not owned stuff, the empty shelf costs you invisibly through lost sales, velocity (days of stock) drives every good decision rather than raw count, lead time sets how far ahead you must reorder, and dead stock is trapped cash whose loss already happened. A dedicated tool like EZstock is how you manage all of it (velocity, forecasting, reorder points, dead-stock decisions) inside Shopify.
EZStock exists because inventory is where Shopify merchants quietly lose money. Stock too little and you miss sales you already paid to attract. Stock too much and your cash sits frozen on a shelf, aging, sometimes never selling at all. The whole discipline of inventory management is the art of holding the right amount of the right thing at the right time, and it is harder than it looks because the variables never sit still.
I ended up thinking about inventory from a strange new angle while building a side project called The Pillar, a 3D advertising tower where companies lease windows to display their brand. The tower has exactly 1,920 windows. I can never make more. Every window is a unit of inventory, and running it taught me that a store with fixed, unrestockable inventory is a clarifying thought experiment for every merchant, because it strips inventory management down to its purest form and shows you what actually matters. This is what a store I can never restock taught me about the one you can.
Inventory is the shape of your cash
The first thing the tower made vivid is that inventory is not a pile of stuff, it is a shape your cash has temporarily taken. My 1,920 windows are 1,920 units of value sitting in a specific form, and until each one is leased, that value is locked up doing nothing. An empty window earns zero. A leased window earns its rate. The entire economic engine is the rate at which I convert idle inventory into earning inventory.
A merchant's stockroom is the same thing wearing a different outfit. Every unit on the shelf is cash you already spent, frozen in product form, earning nothing until it sells. This is the insight that reframes inventory from "stuff I own" to "money I have parked," and it changes how you feel about a full shelf. A warehouse packed with slow-moving product is not a healthy business with lots of assets. It is a business with its cash immobilized, and immobilized cash cannot pay rent, buy the fast-moving product that actually sells, or survive a slow month.
The tower has it easy here, because a window costs me almost nothing to hold. An unleased window is not tying up cash I spent to acquire it. A merchant's unsold unit is the opposite: it represents real money spent, and every day it does not sell, that money stays trapped. Which means the merchant's version of my "lease the windows" problem is more urgent than mine. I lose only opportunity on an empty window. A merchant loses opportunity and carries the cost of the frozen cash and the space it occupies and the risk it never sells at all.
The cost of the empty window is invisible, which is why it is dangerous
On the tower, an empty window is obviously a missed opportunity. You can see the dark pane. But here is the subtle thing: the cost of that empty window is invisible in any straightforward accounting. I did not lose money on it. Nothing was spent. It just quietly failed to earn. And invisible costs are the ones that kill you, because you cannot manage what you do not measure.
This is the stockout in disguise, and it is the single most underestimated cost in inventory. When a merchant runs out of a product, the sale that does not happen leaves no trace. There is no line item for "revenue we would have earned if we had stock." The register simply rings up nothing, and the merchant, looking at their books, sees no evidence of the loss at all. They see a clean ledger and assume nothing went wrong, when in fact they turned away demand they had already paid to create through ads, SEO, and everything else that brought the customer to a sold-out product page.
The empty window and the stockout are the same failure: inventory that was not there when demand showed up. The tower makes it visible because you can literally see the dark pane. A merchant's version hides in the gap between the traffic they attracted and the sales they closed, and the only way to see it is to measure it deliberately. What did you run out of? For how long? What was the sales velocity before the stockout, and what would those days have earned at that rate? That number is real money, and it is invisible unless you go looking for it. A merchant who never calculates the cost of their stockouts is managing half the inventory equation with their eyes closed.
You cannot restock, so you must forecast
The hardest constraint on the tower is that I can never make more windows. Whatever demand shows up has to be met from the fixed 1,920 or not at all. That sounds like a limitation, and it is, but it also forces a discipline that every merchant should have and most treat as optional: I have to understand demand before it arrives, because I cannot react to it after.
A merchant with a reliable supplier can be lazy about forecasting, up to a point, because a stockout can be fixed with a rush order. That safety net is real but it is also a trap, because the rush order is expensive, the lead time means the fix arrives days or weeks late, and the sales lost in the gap are gone forever. The merchant who leans on restocking to cover for weak forecasting is paying a premium for reactivity, again and again, and never building the muscle that would prevent the problem.
The tower has no safety net, so it forces the muscle. And the muscle is forecasting: understanding your sales velocity, your lead times, your seasonal patterns, and setting your positions before demand hits rather than scrambling after. A merchant cannot make inventory infinite the way I cannot make windows infinite, not really, because even with a supplier there is a lead time, a minimum order, a cash constraint, a shelf limit. The restock is slower and more expensive than the merchant likes to admit. Which means every merchant is closer to my situation than they think: the good decision is the one made in advance, based on what you expect demand to be, not the panicked one made after you have already run out.
Velocity is the number that matters, not the count
When you can never restock, you stop caring about how many units you have and start caring about how fast they move, because the count is fixed and the rate is everything. On the tower, "1,920 windows" is a static and mostly useless fact. "Windows leasing at this rate, with the good floors filling faster than the low ones" is the number that actually tells me anything about the health of the thing.
This is the shift from thinking in stock to thinking in flow, and it is the shift that separates merchants who manage inventory well from those who just count it. The raw number of units on your shelf is nearly meaningless on its own. What matters is velocity: how fast each product sells, because velocity against your remaining stock tells you how many days you have left, and days-of-stock is the number that actually drives good decisions. Two hundred units of a product that sells two a week is a year of stock, probably too much, cash frozen. Two hundred units of a product that sells fifty a week is four weeks, and if your lead time is three weeks you are about to have a problem.
The count cannot tell you which of those situations you are in. Only velocity can. A merchant staring at unit counts is reading the wrong number. The right number is days of stock, which is velocity divided into what you hold, and it is the number that tells you when to reorder, what to reorder, and what to stop reordering because it is not moving. The tower taught me this by removing the count as a lever entirely. When you cannot change how much you have, you are forced to obsess over how fast it moves, and that obsession is exactly the right one for a merchant who can change the count but too often changes it on gut instead of on velocity.
Not every window is worth the same attention
Here is something the tower made obvious that merchants routinely ignore: the 1,920 windows are not equal, and treating them as if they were is a waste of the scarcest resource I have, which is attention. A handful of penthouse corners drive most of the value and deserve most of my thought. The vast middle of ordinary windows matters far less individually, and the least appealing ones barely matter at all. If I spread my attention evenly across all 1,920, I would be lavishing care on windows that will never earn much while under-thinking the few that carry the business.
This is the oldest pattern in inventory, and it is real: a small fraction of your products drive the large majority of your revenue. Some merchants know it as the eighty-twenty rule, some as an ABC breakdown, but the principle is the same. Your top tier of products, the vital few, deserve tight forecasting, careful reorder points, and real attention, because a stockout on one of them is expensive and an overstock ties up serious cash. The long tail of slow movers deserves a lighter touch, simpler rules, less agonizing, because the cost of getting any single one slightly wrong is small.
The merchants who manage inventory badly manage every product with the same intensity, which sounds diligent but is actually a misallocation. They spend as much energy fretting over a product that sells one unit a month as over the product that carries a quarter of their revenue. The tower taught me to sort my windows by the value they carry and spend my attention accordingly, and a merchant should sort their catalog the same way. Find the vital few. Guard them obsessively. Let the trivial many run on autopilot. Attention is finite, and spending it evenly across unequal things is a quiet form of waste.
Lead time is the variable everyone forgets
The tower has no lead time, which is exactly why building it made me appreciate how much lead time matters for a real store. When someone wants a window, they get it instantly. There is no gap between deciding and having. That is a luxury, and it hides a variable that dominates real inventory decisions: the time between deciding to restock and actually having the stock.
For a merchant, lead time is where good intentions go to die. You notice a product is running low, you place a reorder, and then nothing arrives for two weeks, or six, or twelve, depending on the supplier and the season and a dozen things outside your control. During that gap, demand does not pause politely. It keeps coming, and if your remaining stock runs out before the reorder lands, you stock out, no matter how attentive you were, because you reacted too late relative to how long the fix takes.
This is why reorder points are not about how much stock you have, they are about how much stock you have relative to how fast it sells and how long a refill takes. A product with a long lead time needs a much earlier reorder trigger than one with a short lead time, even if they sell at the same rate, because you have to place the order far enough ahead that it arrives before you run dry. Merchants who ignore lead time set their reorder points on gut and get burned by the products whose suppliers are slow, running out again and again and blaming demand when the real culprit was a trigger set too late for the lead time involved. The tower, with its zero lead time, let me see clearly what a real merchant is fighting: not just how much to hold, but how far ahead to act, and that distance is set by the lead time you cannot control and must therefore plan around.
Dead stock is the window nobody ever leases
Some windows on the tower, honestly, will probably never lease. A middling window on a low floor of a less visible face is just not that appealing, and no amount of waiting changes that. Recognizing which units are effectively dead is its own discipline, and pretending they will eventually earn is a comfortable lie.
Every merchant has dead stock, the units that sit and sit and never move, and the emotional trap is the same one I feel about the unappealing windows: the sunk cost. I made this thing, surely it will eventually earn its keep. For the merchant it is worse, because the dead stock represents real cash spent, and admitting it is dead means admitting that cash is gone, which is a hard thing to look at. So merchants hold dead stock far too long, letting it occupy space and freeze cash and gather dust, because writing it off feels like accepting a loss, when in truth the loss already happened the moment the cash went in and the demand never came.
The clear-eyed move, the one the tower makes obvious because the windows cost nothing to hold and still bother me when they sit dark, is to identify dead stock ruthlessly and deal with it: discount it, bundle it, liquidate it, do whatever converts frozen cash back into liquid cash you can redeploy into product that actually sells. A dead unit is not an asset waiting for its moment. It is trapped cash, and the job of good inventory management is to keep cash flowing, not to preside over a museum of things that did not sell. Find the dead windows. Stop pretending they will lease. Free the cash.
Safety stock is insurance against a future you cannot predict
The last thing the tower clarified is uncertainty, because a fixed store with no restock is a store where you cannot afford to be wrong. If I misjudge which windows people want, I have no way to correct it, so I have to build tolerance for being wrong into the plan from the start. That tolerance, for a real merchant, is safety stock, and it is the most misunderstood number in inventory.
Safety stock is the buffer you hold above your expected demand to absorb the fact that demand and lead times are both uncertain. Sales might spike. A supplier might be late. Both might happen at once. Safety stock is the insurance policy against those surprises, the extra units that keep you from stocking out when reality runs hotter than your forecast. Too little safety stock and every ordinary fluctuation becomes a stockout. Too much and you are back to frozen cash and dead stock, insuring against risks that are not worth the cost.
The right amount is a genuine calculation, not a guess, and it depends on how variable your demand is and how unreliable your lead times are. A product with steady sales and a dependable supplier needs little buffer. A product with spiky demand and a flaky supplier needs a lot. Merchants who set one flat safety-stock rule across everything are either over-insuring their steady products or under-insuring their volatile ones, usually both at once. The tower taught me that when you cannot restock, you plan for the range of outcomes, not the single expected one, and safety stock is how a real merchant does the same: holding enough buffer to survive the bad case without drowning in cash the good case never needed. It is not extra stock. It is priced insurance against an uncertain future, and it should be calculated like insurance, matched to the real risk of each product rather than sprayed evenly across all of them.
What a store I can never restock taught me about yours
Building a store with fixed, unrestockable inventory removed every escape hatch and forced the pure version of inventory discipline. The lessons transfer directly to a real store, where you can restock but always slower and more expensively than you would like:
Inventory is parked cash, not owned stuff. A full shelf of slow movers is not wealth, it is immobilized money that cannot work for you. Judge your inventory by how much cash it has frozen and how fast it frees it.
The empty shelf costs you invisibly. A stockout leaves no line item, so most merchants never measure it, but the lost sales are real money you already paid to attract. Calculate the cost of your stockouts or manage blind.
Forecast, because the restock is slower and costlier than you admit. The safety net of reordering is real but expensive and late. The good decision is made in advance, on expected demand, not in a panic after you run out.
Velocity, not count, drives every good decision. How fast a thing moves against what you hold gives you days of stock, and days of stock tells you when to reorder and what to stop reordering. The raw count tells you almost nothing.
Dead stock is trapped cash, and the loss already happened. Identify the units that will not move and convert them back to liquid cash. Holding them for a moment that will not come only extends the loss.
I can never restock the tower, which sounds like a disadvantage and turned out to be a teacher, because it forced me to manage the 1,920 units I have with the discipline every merchant should bring to the units they can, in theory, replace. You can see the tower filling window by window at thepillar.io, and when you want to manage your real inventory with velocity, forecasting, reorder points, and honest dead-stock decisions, inside Shopify, that is exactly what EZStock is built to do.