Supply Chain & Operations
Inventory, 3PL, Shipping, Returns
- Build a supply chain that reacts to run rates, not stacked assumptions, with lead times shorter than projected sell-through.
- Quad Lock tied up just 8-13% of revenue in inventory with very few stock-outs; aim for 4-6x annual turn.
- Stock-outs retrain the ad algorithm against you - wire a tight feedback loop between ops and performance marketing.
- Price off landed cost, not the factory invoice - the 2025 tariff round lifted landed costs roughly 10-25%.
On this page
Early-stage forecasting shouldn't pile assumptions on assumptions. You're growing, things change fast. The direction is to build a supply chain that reacts to marketplace demand. Your digital marketing is a major lever on demand, and you don't want the supply chain acting as a handbrake. Project current run rates forward. Keep lead times shorter than projected sell-through. This is how we scaled Quad Lock while bootstrapped: keeping popular products in stock without pulling back on acquisition channels.
Inventory Planning & Demand Forecasting
Inventory is where DTC brands go to die. Not because they can't sell, but because they either run out (lost revenue) or order too much (dead cash, markdowns). The brands that win get this boring bit right.
The Forecasting Reality Check
Early-stage forecasting is mostly educated guessing. You don't have years of data or stable demand curves.
The hardest supply chain challenge when bootstrapping is cash. When marketing is working and demand accelerates, the instinct is to order big. But you're funding inventory from revenue. Avoid letting popular SKUs go out of stock, even if that means paying slightly more per unit for smaller, more frequent orders, or using air freight.
What works at each stage:
| Stage | Revenue | Approach |
|---|---|---|
| Launch | $0-$1M | Marketing-based forecasting |
| Growth | $1-$10M | Run-rate based ordering |
| Scale | $10-$50M | Multi-channel demand planning |
| Established | $50-$100M | Demand planning team + Enterprise Resource Planning (ERP) |
| Enterprise | $100M+ | Full S&OP process |
Launch ($0-$1M): Forecast from marketing spend and conversion assumptions. Monthly ad spend / target CAC = new customers. New customers × units per order = monthly demand. Add a buffer, often around 20-30% for early-stage brands, depending on lead times and stock-out risk. Plan in 30-60 day cycles. Don't overthink it - at this stage, being roughly right and reacting fast beats a sophisticated model.
Growth ($1-$10M): Use trailing 3-4 month sales velocity as your baseline. Apply seasonal patterns from your own data. Layer in planned marketing pushes and launches. Tools: Excel or Google Sheets. The key shift here is moving from gut feel to data-driven ordering.
Scale ($10-$50M): Multi-channel demand signal. Integrate DTC, wholesale, and marketplace data into a single forecast. Dedicated ops hire owns this. Tools: Middle market ERPs and, of course, Excel and Google Sheets.
Established ($50-$100M): Demand planning team with formal S&OP process. Supplier diversification across factories and potentially geographies. An ERP is now non-negotiable.
Enterprise ($100M+): Full sales and operations planning. Global inventory optimisation across multiple 3PLs and markets. Predictive analytics and AI-assisted demand sensing. The complexity here is managing dozens of SKUs across dozens of markets, with potentially dozens of retail customers in each.
Forecast Sophistication by Scale
The table above tells you what approach to use at each stage. The trap is the tooling: reaching for AI forecasting too early, before you've got the sales history to feed it, or too late, when you're drowning in SKUs and spreadsheets can't cope.
| Stage | Forecasting Method | Typical Tools |
|---|---|---|
| Launch ($0-$1M) | Marketing-spend maths, gut feel | Spreadsheet |
| Growth ($1-$10M) | Trailing velocity + seasonality | Spreadsheet, Inventory Planner / Fabrikator |
| Scale ($10-$50M) | Multi-channel demand planning | Cogsy, Prediko, mid-market ERP |
| Established ($50M+) | AI-assisted demand sensing | ERP demand module + planning specialist |
Track forecast error with MAPE (Mean Absolute Percentage Error) at the SKU level, not across the whole catalogue, where the misses cancel out and flatter you. A rough target is sub-20-30% MAPE on your A-items. Good AI tools can cut forecast error by 30-50% versus a naive baseline, but only once you've got enough clean history to train on. Below that, a simple run-rate model you actually understand beats a black box you don't.
The safety stock formula below is simple, but don't underestimate it. At Quad Lock, this basic approach got us from launch to around $100M in revenue. We refined it over time and made it more sophisticated, but the core logic stayed the same. The result: very few stock-outs while only ever tying up between 8% and 13% of revenue in inventory. That's the sweet spot - enough stock to not miss a sale, not so much that your cash is locked up in a warehouse.
This approach, and the amazing job our team did at the time, also meant we could grow by over 100% year-on-year without being left with too much stock post-COVID, unlike many brands and retailers who were left sitting on mountains of inventory.
The Safety Stock Formula (Simplified)
Safety stock = (Max daily sales × Max lead time) - (Average daily sales × Average lead time)
Example: Avg 50 units/day, max 80 units/day, avg lead time 45 days, max 60 days. Safety stock = (80 × 60) - (50 × 45) = 2,550 units. Reorder point = (50 × 45) + 2,550 = 4,800 units.
Systems & Data Infrastructure by Scale
A forecast is only as good as the inventory number it runs on. If your stock count is wrong, every reorder point and safety stock calc above is built on sand. As you scale, the system that holds the truth changes, and the painful moment is always the upgrade you left too late.
| Stage | System | What It Has to Do |
|---|---|---|
| Launch ($0-$1M) | Spreadsheet + Shopify | One channel, manual counts, good enough |
| Growth ($1-$10M) | Inventory app + Shopify | Auto-decrement on sale, low-stock alerts; start evaluating an ERP/OMS once you're multi-channel at $5-10M |
| Scale ($10-$50M) | Mid-market ERP / OMS from ~$10M; full ERP as system of record from $15M+ | Multi-channel sync, real-time across DTC + wholesale + marketplace |
| Established ($50M+) | Enterprise ERP + demand planning team | Multi-3PL, multi-market, single source of truth |
The ERP rungs here mirror the ladder in Section 10: E-Commerce & Tech Stack: evaluate at $5-10M multi-channel, mid-market ERP/OMS from ~$10M, full ERP as the system of record from $15M+, enterprise ERP with a demand planning team from $50M+.
Two things break first under volume: real-time sync across channels, and inventory accuracy. Get both right early.
This is the lesson from the CIN7 failure later in this section: an order system that can't keep pace with your fulfilment network will spool orders and quietly destroy your customer experience at exactly the worst moment. Before any big sales period, stress-test the whole chain at several times your normal volume, and have an escalation contact at every critical provider, not just a support queue.
Seasonal Planning
Q4 (October-December) often represents 30-45% of annual revenue for seasonal DTC brands, but the mix varies sharply by category. If you're materially reliant on Q4 and sourcing overseas, placing Q4 orders by April-May is often sensible.
When you run out of stock, your ads stop converting. The algorithm learns that your ads don't work and moves budget away. When stock comes back, you don't just flip ads on and pick up where you left off. You have to retrain the algorithm through expensive learning periods, and there's no guarantee it gets back to where it was. Sales take weeks to ramp back up.
At Quad Lock, we built a tight feedback loop between ops and performance marketing. If we were blowing through run rates and a stock-out was coming, the ops team would flag it early. Performance marketing would cool the campaign down, pull some budget off, and then ramp it back up when stock landed two weeks later. A close, real-time connection between your supply chain and your marketing team is one of the most underrated competitive advantages in DTC.
SKU Rationalisation
We made a costly mistake when we tried to move from our run-rate-based inventory model to a traditional forecast-based approach. The run-rate model was simple: keeping under 15% of revenue in stock spread across six warehouses globally, replenish based on what's selling. It gave us enormous flexibility and grew Quad Lock from zero to $100M+ in revenue, fully bootstrapped, with a capital-light approach.
When we shifted to a forecast-based model, the result was huge overstocks globally. More capital tied up with no real upside. The flexibility we'd built the entire business on was suddenly gone. The learning: Be cautious about installing models that optimise for cost at the expense of agility. What works at a stable enterprise may not work for high-growth businesses.
Common Mistakes
- Ordering based on hope, not data.
- Ignoring lead time variability. Supplier says 30 days. Reality is 30-50. Plan for 60.
- Not tracking inventory turn. Aim for 4-6x annually for most DTC categories; replenishment-heavy brands can reach 6-8x. Below 4x = too much stock. Above 8x = may be understocking.
- Falling in love with dead SKUs. If it hasn't sold in 90 days, mark it down and move it.
Inventory Health Scorecard
Inventory is the biggest chunk of cash a product business ties up, so you should watch it like a hawk. These are the numbers I'd want on a one-page dashboard, reviewed monthly. The benchmarks vary by category, so read them as directional, not gospel.
| Metric | What It Tells You | Healthy Range |
|---|---|---|
| Inventory turnover | How many times you sell through and replace stock per year | 4-6x for most; 6-8x replenishment-heavy |
| Days inventory on hand | How many days of stock you're sitting on | See vertical bands below |
| Sell-through % | What share of a buy you've sold | 80%+ by end of a season |
| GMROI | Gross margin earned per dollar of inventory | Higher is better; compare to your own trend |
| In-stock / fill rate | How often a customer can actually buy | 95%+ on A-items, ~90% full catalogue |
| Cash tied up in stock | The number that can kill you | Track as a share of revenue |
Days inventory on hand (DIOH) is the one most founders get wrong, because the "right" number is wildly category-dependent:
| Vertical | Days Inventory on Hand |
|---|---|
| Subscription consumables | 30-60 |
| Food & bev (shelf-stable) | 60-100 |
| Beauty | 90-140 |
| Apparel | 110-180 |
| Outdoor / hardgoods | 120-200 |
Note that the slower verticals imply turnover below the 4-6x target above. Those are category norms, not aspirations.
ABC classification is the single most useful lens for inventory discipline. Your A-items (the ~20% of SKUs driving ~80% of revenue, see the 80/20 metric above) get the highest fill-rate target, the tightest safety stock, and the most forecasting attention. C-items can run leaner: an 80-85% in-stock target is fine, and you'd rather take the occasional stock-out than tie up cash on a slow mover. Don't give your worst SKUs the same protection as your heroes.
Some of the craziest times in supply chain are the ones you can't plan for. During COVID, we were growing at 100% year-on-year while access to manufacturing in China and shipping globally was incredibly difficult. What saved us was that we'd always been great payers and we'd built genuine relationships with our manufacturers over years. When factories started opening back up, we were some of the first in line. Our team did an excellent job navigating through it, and we were able to service the demand COVID was creating.
The learning isn't about COVID specifically. It's about relationships. Your supply chain isn't just a cost centre - it's a strategic asset. Pay your manufacturers on time. Visit the factories. Build relationships with the people on the floor. When things go wrong (and they will), the brands with the strongest supplier relationships get priority.
Supplier Diversification & Tariff Risk
The COVID story above was about relationships saving us when supply got tight. The other half of resilience is not having all your eggs in one factory, or one country. When a single tariff decision or a single port closure can move your COGS 10-25% overnight, concentration is a risk you're carrying whether you've priced it or not.
- Second source qualified for your A-items
- Production spread across countries (e.g. Vietnam, India, Mexico)
- Tariff exposure modelled per origin
- A shock in one region doesn't stop your whole line
- One factory, one country, one set of terms
- A tariff or closure hits every SKU at once
- No fallback if quality slips or lead times blow out
- The factory knows you can't walk, so you can't negotiate
A few rules I'd hold to:
Qualifying a new factory takes months, so the time to start is before you need it, not during the next shock. Tie the cost side back to the landed-cost breakdown later in this section.
3PL (Third-Party Logistics) Selection & Management
Strong supplier relationships get your product made. The next question is how you get it to the customer.
When to Move to a 3PL
- Under 50-100 orders/day
- Need tight QC on every package
- Rapid packaging iteration
- Close to inventory with space
- 100+ orders/day consistently
- 20+ hrs/week on fulfilment
- Need multi-warehouse distribution
- Expanding internationally
At Quad Lock we moved to 3PLs as soon as possible. In Australia there were no good options when we started, which was the only reason we didn't have one earlier. In the US we had a 3PL from day one. The cash that would have gone into warehouse leases and packing staff went into stock and customer acquisition instead. Outsource the commodity work and invest in what builds the brand - that was a principle we followed from the start. If the infrastructure exists in your market, don't wait.
What to Look For
Must-Haves: Native Shopify/Amazon integration, real-time inventory visibility, 99.5%+ order accuracy, same-day/next-business-day shipping, transparent pricing, insurance coverage.
Important: Multi-warehouse capability, kitting/bundling, custom packaging support, returns processing, temperature control and lot tracking if needed.
Nice to Have: International fulfilment, subscription box processing, Fulfillment by Amazon (FBA) prep, freight management.
The Major 3PL Players (2026)
Tooling changes fast, so validate fit, pricing, and service levels against your own order profile before committing.
Red Flags
- No real-time inventory API
- Long-term contracts with penalties (good 3PLs offer month-to-month or 90-day notice)
- Hidden fees - get a full fee schedule in writing
- Won't share SLA metrics
- High account manager turnover
- Can't handle returns
Key Metrics to Track
| Metric | Typical Range | How to Measure |
|---|---|---|
| Order accuracy | 99.5%+ | Correct items, quantities, addresses |
| Ship time (order to carrier scan) | <24 hours (99%+) | Time from order received to first carrier scan |
| Inventory accuracy | 99%+ | Cycle count variance |
| Cost per order | Track against budget | All-in: pick, pack, materials, shipping label |
| Damage rate | <0.5% | Claims + customer complaints |
| Returns processing time | <48 hours from receipt | Time from return received to restocked/refunded |
Management Best Practices
- Weekly ops call - 15 minutes. Review metrics, flag issues, discuss volume changes.
- Monthly business review - costs, accuracy, SLAs, upcoming plans.
- Mystery orders - monthly test order to yourself.
- Shared demand forecast - 90-day rolling forecast so they can staff appropriately.
Shipping Strategy
Shipping is simultaneously a cost centre and a conversion lever.
Free Shipping: The Maths
Set your free shipping threshold at 20-30% above current AOV as a starting point, then test. Treat the threshold as a conversion-rate lever as much as a cost line: the more orders that qualify for free shipping, the better your conversion rate - the trade is what the subsidised shipping costs the business.
Example: AOV $55, threshold $66-$72, expected AOV increase perhaps 10-15% if the offer is well-calibrated. Maths test: if shipping costs $8 and contribution margin is 65%, customers need to add $12.31 in revenue to cover it ($8 / 0.65). If the threshold drives $15 in additional revenue, you win.
That rule assumes your orders are roughly the same size. If your shape is front-loaded - a big first-order buy-in, smaller repeats (see the order shapes in Section 26) - anchor the threshold to the first order, not blended AOV: set it so the typical buy-in ships free, and let the smaller repeat orders fall under it. You're removing friction at the exact moment you're paying nCAC to win the customer; a returning customer paying shipping on a small accessory order is fine - they're already in the system, and it protects the repeat contribution margin your gates run on.
At Quad Lock we treated the free-shipping threshold as an acquisition decision, not a logistics line. The first purchase was the big one - the customer was buying into the system - and we wanted zero friction on that order, so the threshold sat where the typical buy-in cleared it. Follow-up orders were smaller, a case or a mount, and they usually fell under the threshold. That was fine by design. The person adding a case to an existing setup isn't deciding whether to join; they've already joined. Charging shipping there protected margin on exactly the orders that had none to spare, without costing us the moment that actually decided whether we won the customer.
the logic above inverts. Your repeat orders aren't occasional accessory add-ons - they ARE the business, and most of them sit near or below any threshold you set off blended AOV. A threshold that taxes every repeat order quietly erodes the retention margin your model depends on, so use it to shape behaviour instead: set it just above your single-unit price so it nudges customers into the 2-pack or the bundle, or skip the threshold gymnastics entirely and build shipping into a subscription with free delivery - the subscription is doing the retention work the threshold can't.
Work out your own number with the free shipping threshold calculator - it reads your order shape and tells you where to anchor the threshold:
Flat-rate shipping ($5-$7) works well when product weights/sizes are consistent.
Carrier Strategy
US: USPS (best under 1lb), UPS Ground (1-20lbs), regional carriers (15-30% cheaper in coverage areas). Australia: Australia Post eParcel (default), Aramex (competitive metro pricing), CouriersPlease, Toll/StarTrack.
Use a shipping platform (ShipStation, Shippo, Pirate Ship) to rate-shop across carriers. Savings can be meaningful, but the exact outcome depends on your parcel profile and negotiated rates.
Delivery Speed
Amazon trained consumers to expect 2-day delivery. You probably can't match this profitably, and probably don't need to.
- Standard (3-7 days): Free above threshold or $5-$8. Your default.
- Express (2-3 days): $10-$15.
- Next-day: $20-$30. Offer it but don't optimise for it.
Speed matters less than transparency. What drives complaints isn't slow shipping - it's uncertain shipping. Good tracking (Malomo, Wonderment, AfterShip) is more valuable than shaving a day off delivery.
International Shipping
Adding a new country is a one-time logistics exercise: find a 3PL, set up tax/duties, configure Delivered Duty Paid (DDP) pricing. Then it's just another warehouse serving a much bigger market. This is fundamentally different from adding new products to new customer personas, which creates ongoing operational complexity. Don't confuse the two.
We also found that international shipping from a single location often didn't work well, except throughout the European Union. We had much better success opening up 3PLs in the main markets and regions. If you're shipping globally from one warehouse, test whether local fulfilment would convert better and cost less. For how this supported our international expansion, see Section 24: International Expansion.
Start by shipping from your home market. When volume justifies it, set up a 3PL in the target market. Configure DDP pricing so customers don't get surprise duties. For AU brands: start with NZ and US. For US brands: Canada and UK.
Tariff note: The US suspended its $800 duty-free de minimis exemption for all countries from August 2025, and the EU's €150 exemption goes from July 2026. Assume low-value shipments attract duties in every major market and model the impact before committing to international expansion. Full playbook in Section 24: International Expansion.
Landed Cost & the Tariff Reset
The price you pay your factory is not your cost. Landed cost is, and if you're pricing off the ex-factory unit cost you're quietly losing margin on every order. Build the full number before you commit to a sourcing or expansion decision.
The lever most founders miss is HTS classification (the Harmonized Tariff Schedule code that determines your duty rate). Get a customs broker to confirm the right code for each product. A misclassification can cost you points of margin for years, or trigger a back-bill if customs reclassifies you later.
Two structural changes have reset landed costs for anyone importing into the US: the de minimis suspension covered under International Shipping above, and the broader 2025 tariff round, which has pushed landed costs up by roughly 10-25% for affected operators, with around 49% of DTC brands reporting a significant jump in COGS. If you sourced and priced before this, your margins have quietly eroded. Re-model every imported SKU at the new landed cost and re-check your pricing.
This feeds two decisions at once: how you price (your landed cost is the floor your gross margin sits on, see Section 26: Finance & Unit Economics) and how you source (covered earlier under Supplier Diversification & Tariff Risk).
Shipping Cost Benchmarks (2026)
| Package Size | US Domestic | AU Domestic | International (US to EU) |
|---|---|---|---|
| Small (<0.5kg) | $4-7 | $7-12 | $15-25 |
| Medium (0.5-2kg) | $7-12 | $10-18 | $20-40 |
| Large (2-5kg) | $10-18 | $15-30 | $35-65 |
| Heavy (5-15kg) | $15-30 | $20-45 | $50-100+ |
Common Mistakes
- Free shipping on everything from day one without margin support
- Single carrier dependency
- Ignoring shipping cost in your unit economics - it belongs in contribution, alongside COGS
- Poor post-purchase communication - #1 driver of "where's my order?" tickets
Returns & Exchanges Policy
Returns are the tax for selling online. The goal: reduce unnecessary ones and make necessary ones painless.
The Returns Paradox
Generous return policies increase sales more than they increase returns. Longer windows decrease return rates (customers forget, get attached) and frictionless returns drive meaningfully higher repeat purchase rates.
Best Practice Framework
- Timeframe: 30 days minimum. 60-90 days is the DTC sweet spot.
- Process: Self-service portal (Loop Returns, Happy Returns, AfterShip Returns). Don't make customers email support.
- Refund method: Original payment for returns. Store credit for exchanges.
Advanced plays:
- Exchange-first flow: Tools like Loop Returns can nudge customers toward exchanges. In some brands this meaningfully lifts exchange conversion, but the result depends on category, sizing friction, and offer design.
- Bonus credit: "Return for $50 refund or exchange for $55 store credit."
- Keep-it offers: Items under $15-$20 - cheaper to refund and let them keep it than pay return shipping.
Reducing Return Rates
| Return Reason | % of Returns | How to Reduce |
|---|---|---|
| Sizing/fit | 40-50% (apparel) | Detailed size guides with measurements, AI fit tools (True Fit, Kiwi Sizing), reviews mentioning sizing |
| Product didn't match expectations | 20-30% | Better photography, video, accurate colour, honest descriptions |
| Quality/defects | 10-15% | Better QC at manufacturing, pre-shipment inspection |
| Buyer's remorse | 10-20% | "How to get the most out of your [product]" email within 24 hours of delivery |
Return Metrics to Track
These ranges are directional - they vary by category, product type, and price point.
| Metric | Typical Range | Why It Matters |
|---|---|---|
| Return rate | Directionally lower than category norms | Baseline health metric |
| Exchange rate (of returns) | Higher is generally better, provided it reflects genuine customer fit | Revenue retention |
| Time to refund | <48 hours from receipt is a solid target | Customer satisfaction |
| Return reason breakdown | Track top 5 reasons | Identifies fixable issues |
| Repeat purchase rate post-return | Monitor relative to your normal repeat rate | Measures if returns experience builds loyalty |
| Cost per return | Track all-in | Shipping + processing + restocking + CS time |
Common Mistakes
- Making returns difficult. It may suppress return volume in the short term, but it often hurts repeat purchase and trust. Usually a net negative.
- Not analysing return reasons. 40% "too small" = sizing problem, not returns problem.
- No exchange incentive. If refund and exchange are equally easy, customers choose refund.
- Restocking without inspection. Used/damaged returns going back into sellable inventory causes secondary returns.
How you structure products on the e-commerce side has a direct impact on everything downstream: fulfilment, ERP, returns platforms, logistics. At Quad Lock, we sold products as "virtual kits" for years. Customers saw a single product in their cart, but on the backend we were assembling it from multiple individual SKUs. It worked for the buying experience but made returns almost impossible to automate at scale.
We should have challenged this earlier. When we finally restructured to individual SKUs, everything downstream got easier overnight: automated returns, cleaner ERP integration, simpler 3PL handoffs. Product architecture decisions on the e-commerce stack flow through to every operational system behind it. Challenge those assumptions early. Retrofitting is expensive.
And when those downstream systems break under volume, the consequences compound fast.
One of our worst operational failures was our order management system (CIN7) couldn't handle the volume and started spooling orders in reverse. VIP early access customers, the ones who'd ordered first, were being pushed further to the back of the queue with every new order. We did the maths: at the rate it was processing, it would take weeks to get back to our original VIP orders. The ERP was slower than our fulfilment network, which should never happen.
The provider didn't grasp how critical it was at first. We had to hammer them repeatedly. Your tech stack is only as strong as its weakest link. Stress-test everything before your biggest sales periods, and have escalation contacts at every critical provider, not just a support ticket queue. As a founder or leader, don't be afraid to get on the front foot and go to bat for your team.
Section 7 Checklist
Go from reading to doing.
You've read the section. Sign in to score your ecommerce brand with the Health Check, track your progress across 472 checklist items, and get your tools and history in one dashboard. Free, and always will be.