Financial Strategy
Skincare Brand Inventory Planning: A CFO's Guide
Public skincare brands turn inventory just 1.7 to 2.9 times a year, or 126 to 213 days on hand, so a 70% gross margin still leaves no cash. A private DTC brand should target 4 to 6 turns (60 to 90 days). Cutting a $10M brand from 180 to 90 days frees about $740,000 at zero cost to margin.
Key Takeaways
- Public skincare and beauty brands turn inventory just 1.7 to 2.9 times a year, or 126 to 213 days on hand. That is four to seven months of product frozen as cash, which is how a 70%-gross-margin brand still misses payroll.
- A private DTC skincare brand should target 4 to 6 turns (about 60 to 90 days), not the 1.7 to 2.9x the publics run. Moving from under 3x toward 4 to 6x frees a large amount of trapped cash without touching margin.
- A $10M skincare brand at 30% COGS frees roughly $740,000 by cutting days-on-hand from 180 to 90. That is working capital released at zero cost to gross margin, usually the highest-return cash lever in the category.
- Skincare adds an expiry constraint generic inventory math ignores. SPF and other OTC-drug products carry mandatory expiration dates, and natural or preservative-free formulas can have only a 6 to 12 month unopened life. Over-ordering a short-dated SKU is a write-off, not just trapped cash.
- StoreLeads tracks about 69,400 skincare stores on Shopify and only about 2,170 at Shopify Plus scale. A brand that gets turns right has an edge most of its competitors never build.
Skincare is the highest-margin consumer category most operators will ever run, and yet the same brands routinely can't make payroll. The reason is almost never gross margin. It is the inventory sitting in a warehouse. When a skincare founder shows me a 70% gross margin and asks why there is no cash in the bank, the answer is almost always sitting in two line items: paid CAC and the product on the shelf. This is the inventory-planning guide for that problem, with the real numbers public skincare brands report and the targets a private DTC brand should actually run.
The cash trapped on your shelf: what the public comps reveal
Start with what the audited filings say. Public skincare and beauty brands turn inventory just 1.7 to 2.9 times a year, which is 126 to 213 days of product sitting on the shelf. We computed these from FY2025/26 10-K filings: e.l.f. Beauty at 168 days, Olaplex at 212, Estée Lauder at about 213, and The Honest Company at 126. Four to seven months of inventory, frozen as cash, at brands that are otherwise printing margin.
That is the paradox in one chart. A 70%-gross-margin brand can still be cash-starved when half a year of product is locked up. And the two largest brands on that list show the two postures you can take. e.l.f. Beauty (FY2026, ended March 2026) ran 2.18x turns and grew ending inventory by $33.1M year over year, from $187.2M to $220.2M. That is a scaled brand letting working capital expand with the top line. Olaplex (FY2025) ran 1.72x and went the other way, actively destocking and pulling roughly $21M to $36M of cash straight out of inventory. Same category, opposite cash decisions.
When I talk to founders running a brand this size, the thing they keep saying is that holding six months of stock felt safe right up until the cash gap appeared. When each unit looks so profitable, over-ordering feels like a low-risk bet. It isn't. Every extra day of inventory is a day your cash is doing nothing, and in skincare that cash pile is usually the single largest line on the balance sheet you can move without touching price, margin, or demand.
Setting your days-on-hand target: turns is the lever
Two definitions, because the rest of the post hangs on them. Inventory turns = annual COGS ÷ average inventory: how many times you sell through your stock in a year. Days of inventory on hand (DIO) = inventory ÷ COGS × 365: how many days of product you are holding. Higher turns and lower days are the same good news said two ways.
The public comps run 1.7 to 2.9x. A private DTC skincare brand should not copy that. The cash-efficient target is 4 to 6 turns, roughly 60 to 90 days on hand. The publics carry their slow turns as a cost of running thousands of SKUs across retail, wholesale, and international. You don't have that complexity, so you shouldn't carry that cash drag.
Here is why this is the single best cash lever you have. A $10M skincare brand at 30% COGS that cuts days-on-hand from 180 to 90 frees roughly $740,000 in cash. Target inventory is just annual COGS ÷ 365 × target days, so the math is: $3M COGS ÷ 365 × 180 = about $1.48M tied up at 180 days, versus about $740,000 at 90 days. The difference lands in your bank account at zero cost to gross margin.
The pattern we see again and again is a brand sitting at 150 to 180 days who assumes the fix is a raise or a loan, when the cheapest capital on the table is already theirs, parked in the warehouse. One brand I worked with was carrying about 160 days across the catalog. Getting the hero SKUs to 75 days and trimming the long tail released the better part of a year's worth of marketing budget, and it cost nothing but discipline on the purchase orders.
Returns are quietly eating your margin. See by how much.
Get our Real Cost of Returns calculator: plug in your numbers, see the true hit per return.
Check your inbox. We'll send the Real Cost of Returns calculator shortly.
Safety stock and reorder points for skincare SKUs
You can't cut days-on-hand to the bone, because lead time and demand both wobble. Safety stock is the buffer that absorbs that wobble so you don't stock out. The standard formula:
Safety stock = z × σD × √L
where z is your service-level factor (1.65 for 95% service, 2.05 for 98%), σD is the standard deviation of daily demand, and L is lead time in days. The longer and more variable your lead time, the bigger the buffer. This is exactly why overseas formula and component sourcing is so cash-hungry: a 90-day lead time with promo-driven demand swings forces a large buffer, and that buffer is more frozen cash.
Then your reorder point = (average daily demand × lead time) + safety stock. When on-hand units cross that line, you place the next PO. The table below is a planning starting point by supply profile.
| Supply profile | Typical lead time | Suggested days on hand | Implied turns |
|---|---|---|---|
| Domestic / nearshore fill + packaging | 30-45 days | 45-75 days | 5-8x |
| Overseas formula + components | 60-120 days | 90-120 days (work toward 60-90) | 3-4x |
| Long-tail SKU forced by high MOQ | varies | 90-150 days | 2-4x |
The move most operators miss is setting service level per SKU instead of one blanket number. Run 98% on the three or four hero SKUs that drive most of your revenue, and 90% or lower on the long tail. Operators at this stage tell us they were buffering their slowest SKUs at the same service level as their bestsellers, which is how you end up holding 200 days of a product that sells through twice a year. Buffer what actually moves.
The skincare wrinkle: shelf life, expiry, and write-offs
Generic inventory math assumes a unit is a unit forever. Skincare breaks that assumption, and it is the part most cross-vertical playbooks get wrong.
US cosmetics carry no mandated shelf life, but SPF, sunscreen, and other OTC-drug products MUST have stability data and a labeled expiration date under 21 CFR 211. In the EU, any product with under 30 months of durability has to show a "best before" date under Regulation (EC) 1223/2009, which legally caps how long unopened stock can sit before you can't sell it. And natural or preservative-free formulas, the ones a lot of clean-beauty brands are built on, can have only a 6 to 12 month unopened life. Over-ordering one of those is not trapped cash you eventually recover. It is a guaranteed write-off.
| Product type | Typical unopened shelf life | Inventory consequence |
|---|---|---|
| Conventional preserved serum / moisturizer | 24-36 months | Standard FIFO/FEFO; over-ordering = trapped cash |
| SPF / sunscreen (OTC drug) | 2-3 yrs (mandatory expiry date) | Expired stock = mandatory write-off |
| "Natural" / preservative-free | 6-12 months | Order small and frequent; high write-off risk |
| Eye-area products | ~24 months unopened | Shorter in-use PAO; tighter rotation |
The operational fix is to run FEFO (first-expired, first-out) instead of plain FIFO, so the closest-dated lot always ships first, and to order short-dated and SPF SKUs in smaller, more frequent batches even when the MOQ tempts you to buy a year at once. Track expiry exposure as its own number: the dollar value of stock that will expire before you can realistically sell it. When we've struggled with this on a brand with a big SPF range, what worked was a monthly aging report that flagged any lot inside 9 months of its date, so it could be promoted or discounted before it became a write-off instead of after.
MOQ, lead time, and the cash-conversion cycle
Supplier minimums and deposits push cash out the door before a single unit sells. A high MOQ forces you to buy more than your turns justify, which is how a slow long-tail SKU quietly bloats your days-on-hand. The discipline here is to resist a wide catalog where every SKU is dragged to a six-month buy by its minimum. Fewer SKUs with deeper, faster demand almost always beat a long tail where each item turns twice a year.
Zoom out to the full cash-conversion cycle: CCC = DIO + DSO − DPO. Days inventory outstanding, plus days sales outstanding (how long until customers pay, near zero for prepaid DTC), minus days payable outstanding (how long you take to pay suppliers). On e.l.f.'s FY2026 numbers the CCC is about 132 days, made of DIO 168 + DSO 39 − DPO 74. Inventory is 168 of those days. That is the whole point: in skincare, the cash-conversion cycle is an inventory story, and days-on-hand is where you win or lose it.
The two cheapest moves are pulling DIO down with the turns work above, and pushing DPO up by negotiating longer payment terms with your fillers and component suppliers. Every day you extend payables is a day your supplier finances your inventory instead of you. When I talk to founders who have never pushed on terms, getting from net-30 to net-60 on the biggest POs often releases more cash than a quarter of margin gains.
How to read your own numbers: the CFO checklist
You don't need a planning system to start. You need three numbers.
First, your turns and DIO. Pull annual COGS and current inventory value off your own books and compute DIO = inventory ÷ COGS × 365. If you are above 120 days, that is your biggest cash problem and the rest of the list waits.
Second, your safety-stock days by SKU tier. Are you buffering the long tail at the same service level as the heroes? If yes, that is trapped cash hiding as prudence. Reset service levels per tier.
Third, your expiry exposure. What dollar value of stock will expire before you can sell it, especially across SPF and natural formulas? That number should be near zero, and if it isn't, FEFO plus smaller buys is the fix.
Find the worst of the three and fix that one first. For most skincare brands it is DIO, and the cash that frees is real. For the full picture of where inventory sits inside your P&L and balance sheet, see our skincare brand financial benchmarks, the sibling guide on beauty brand inventory planning, and the deeper dive on beauty inventory shelf-life planning. If you want a second set of eyes on your numbers, that is what our fractional CFO services are for.
Skincare is the rare category where the cheapest capital you will ever raise is already yours, sitting in the warehouse as product. A 70% gross margin tells you each unit is profitable. Your days-on-hand tells you how much of that profit is frozen. Cut days, and you free cash at zero cost to margin. In this category, that is almost always the highest-return project on the table.
Sources and methodology
Primary sources (SEC EDGAR 10-K filings). e.l.f. Beauty, Inc. (CIK 1600033), FY2026 10-K, fiscal year ended 2026-03-31: COGS $479.1M, ending inventory $220.2M (prior-year $187.2M), giving 2.18x turns and 168 days. Olaplex Holdings, Inc. (CIK 1868726), FY2025 10-K, ended 2025-12-31: COGS $129.3M, ending inventory $75.2M (2024: $95.9M), giving 1.72x and 212 days. Inventory turns are computed as COGS ÷ ending inventory, and days as ending inventory ÷ COGS × 365.
Estée Lauder and The Honest Company. The 213-day and 126-day figures for Estée Lauder (CIK 1001250) and The Honest Company (CIK 1530979) are carried from the Eightx skincare financial benchmark, which computed them from the same 10-Ks. Estée Lauder's figure uses FY2024 ending inventory ($2,175.0M) because FY2025 was not returned by the filing API, so its days figure is approximate. A note on Olaplex: a parallel data source surfaced an ending-inventory figure of $60.2M (about 2.15x / 170 days) from the most recent balance-sheet column, while the XBRL API returned $75.2M. Either way Olaplex destocked materially, so we cite the defensible range of 1.7 to 2.2x (170 to 212 days), actively destocking.
The DTC target band. The 4 to 6x (60 to 90 day) target for private DTC skincare is drawn from the Eightx skincare financial benchmark and a web-sourced inventory-planning synthesis. It reflects what a cash-efficient private brand can run without the retail, wholesale, and international complexity that slows the public comps. The $740,000 cash-release figure is an illustrative model for a $10M brand at 30% COGS, grounded in the skincare COGS benchmark of roughly 28 to 35% of revenue.
Regulatory. US shelf-life rules are from the FDA's guidance on shelf life and expiration dating of cosmetics: no mandated shelf life on cosmetics generally, but stability data and labeled expiration dates required for OTC-drug products including SPF and sunscreen under 21 CFR 211. EU rules are from Regulation (EC) 1223/2009: a "best before" date for products with under 30 months of durability, and the period-after-opening (PAO) open-jar symbol above 30 months. Typical unopened shelf-life ranges (24 to 36 months conventional, 6 to 12 months natural/preservative-free) reflect commercial stability-program norms, not codified limits.
Market context. StoreLeads tracked about 102,800 skincare stores total as of 2026-06-11, with about 69,400 on Shopify and only about 2,170 at Shopify Plus scale. Operator-voice lines in this post are anonymized patterns drawn from Eightx's founder-call work and the vetted skincare benchmark pillar; no client is named.
Frequently asked questions
how many days of inventory should a skincare brand hold?
For a private DTC skincare brand, target 60 to 90 days on hand, which is roughly 4 to 6 turns a year. The public skincare comps run 126 to 213 days (1.7 to 2.9 turns), but they carry that as a cost of scale you do not have to copy. If you are above 120 days, days-on-hand is almost certainly your biggest trapped-cash problem.
how much safety stock should a skincare brand carry to cover lead time variability?
Use safety stock = z × σD × √L, where z is your service-level factor (1.65 for 95%, 2.05 for 98%), σD is the standard deviation of daily demand, and L is lead time in days. The longer and more variable your overseas lead time, the bigger the buffer. Set a higher service level on hero SKUs and a lower one on the long tail so you are not buffering dead stock.
why does my skincare brand have high margins but no cash in the bank?
Almost always because the cash is sitting in two line items: paid CAC and the inventory on your shelf. A 70% gross margin tells you each unit is profitable, but if you are holding four to six months of stock, most of your cash is frozen as product. Skincare's cash conversion cycle is dominated by inventory, not receivables, so days-on-hand is where the money is won or lost.
how do skincare brands manage shelf life and expiry risk in inventory planning?
Switch from FIFO to FEFO (first-expired, first-out) so the closest-dated stock ships first, and order short-dated SKUs small and often. SPF and other OTC-drug products carry mandatory expiration dates, and natural or preservative-free formulas can have only a 6 to 12 month unopened life. Over-ordering a short-dated SKU is a guaranteed write-off, not just trapped cash.
how do you set a reorder point for skincare skus when demand is seasonal or promo-driven?
Reorder point = (average daily demand × lead time) + safety stock. For seasonal or promo-driven SKUs, compute demand off the forward forecast, not a trailing average, and widen safety stock ahead of a known spike like Black Friday. Place the promo buy early enough that your lead time clears before the spike, then let it run back down rather than holding the peak buffer all year.
how do moq constraints affect cash tied up in inventory for a skincare brand?
High supplier minimums force you to buy more than your turns justify, which inflates days-on-hand and traps cash on the long tail. The fix is usually fewer SKUs with deeper, faster-turning demand rather than a wide catalog where each SKU is forced to a 6-month buy by its MOQ. If a SKU only sells through its MOQ once a year, it is a dead-stock candidate.
how much cash can i free up by turning inventory faster?
For a $10M brand at 30% COGS, cutting from 180 to 90 days releases about $740,000, because target inventory = annual COGS ÷ 365 × target days. That cash comes out at zero cost to gross margin. Run your own COGS and current days through the same formula to size your number before you change a single PO.
