
Forecasting Planning
The 13-Week Cash Floor: The Forecast Your P&L Can't Give You
Put payouts, inventory payments, and ad spend on a 13-week cash flow forecast to spot a tight week before committing more money.
Calculate SKU contribution margin after landed cost, payment fees, fulfillment, and returns. Set review triggers for pricing and inventory decisions.

Your top-selling supplement brings in more orders after a promotion. In Shopify, you see product sales and a healthy gross margin against the cost you entered. Your fulfillment provider bills for heavier parcels, customers request refunds, and the next freight invoice arrives above the estimate. You need to know whether to replenish the product before finance finishes reconciling the month.
Calculate SKU contribution margin against the costs of selling and delivering that product, then use it in your price, promotion, and purchasing reviews. Start with net revenue, subtract a defined variable cost stack, and retain the source behind each cost. Review the dollars at stake as well as the percentage.
A stock-keeping unit (SKU) can sell at positive gross margin and leave too little to fund acquisition or overhead. You can also lose contribution before paying for either. The distinction determines whether you need to change a supplier cost, fix the order economics, or reconsider the demand you are buying.
Shopify provides gross-profit reports by product and variant when you have recorded cost per item at the time of sale. Its documented gross-margin formula is net sales minus product cost, divided by net sales. Discounts and refunds affect those net sales.1
That is useful information. Check coverage before relying on the total: products without recorded cost can leave you comparing the profit report with a different sales population. Entering a cost today also does not establish an accurate historical cost record for batches you sold at different acquisition costs.
Shopify offers other profit reporting, including order and market views with shipping-related fields. Reporting apps can add further detail. The operating issue is the scope of your model: whether you have included the fees, external invoices, and allocation choices required to answer a product-level decision.
A supplier unit cost may exclude inbound freight and duties. A processing fee applies to a payment transaction. A third-party logistics provider (3PL) can charge for the order, parcel, and individual pick. You must bring those costs onto a consistent basis before comparing SKUs.
For this article, contribution means net revenue after variable product, transaction, fulfillment, and return costs, before advertising and fixed overhead. State that definition beside the number. Some teams use CM1 or CM2 for different layers; the label alone does not tell another reviewer what you included.
SKU contribution dollars = Attributable net revenue - Attributable variable costs
SKU contribution margin = SKU contribution dollars / Attributable net revenue
Calculate this over a defined set of orders or units and a defined period. If net revenue is zero or negative, flag the record for review rather than displaying an ordinary percentage. Refund-heavy periods can produce that condition even when you sold units in an earlier period.
Keep acquisition economics alongside the product model. A product with positive contribution before advertising can still lose money after customer acquisition cost (CAC). Conversely, allocating an entire acquisition campaign to the SKU in an ad creative can misrepresent what customers bought in mixed baskets or on later orders.
Begin with order-line revenue after discounts. Account for refunds in that revenue measure, and exclude sales taxes you collect on behalf of a taxing authority. If you allocate shipping revenue to products, use the same convention across orders and reconcile it to the order total.
For recent orders, refunds and some invoices will still be unknown. Estimate them with a documented method and mark the margin as provisional. Replace the relevant estimate as actuals arrive; adding the actual refund on top of an unreversed expected-refund allowance would understate margin.
Capture purchase or manufacturing cost, inbound freight, duties, and other costs you treat as part of getting saleable inventory to its receiving location. Finance should approve the landed-cost definition and inventory costing method.
Separate the components in your source data even if you report them as one landed-cost total. You need to explain whether a change came from the supplier’s unit price, freight, or the allocation across the shipment.
An imported glass-bottle SKU and a lightweight refill can use different shares of freight capacity. Choose a defensible allocation basis, such as chargeable weight or cubic volume where it reflects the bill. Allocating by sales price can shift freight toward an expensive but light item without reflecting its transport cost.
If your landed unit cost already includes $3 of inbound freight, subtracting another $3 freight line would count it twice. Use either the inclusive landed figure or its component costs in the contribution calculation. Preserve the breakdown for diagnosis.
Use actual processor fee records for settled transactions where you can. For unsettled orders, estimate from the applicable fee schedule and identify the estimate in the model. Rates can differ by payment method or transaction characteristics; a single percentage assumption may conceal a change in payment mix.
Allocate an order-level fixed fee once across the order. For example, use each line’s share of the payment amount for a proportional allocation, then confirm that the line allocations sum back to the transaction fee. Do not assign the full fixed fee to each item in a multi-item basket.
Map the gateway that processed the payment. Shopify Payments transactions and a separate Stripe account are not interchangeable data sources. Refund processing and retained fees also need their own treatment based on the provider’s actual records.
Break the fulfillment bill into costs you can assign to a shipment or order and costs that need an estimate. Include pick-and-pack charges, packaging, and outbound transport. Document treatment of variable surcharges and avoid hiding warehouse minimums inside a per-unit rate without labeling that allocation.
Use the actual shipment composition. One customer buying three bottles in one parcel has different economics from three customers buying one bottle each. A shared order charge must reconcile to the order total, while an additional-item pick fee belongs to the item that causes it.
For pricing a bundle, calculate contribution for the whole bundle as well as its allocated component SKUs. You can then distinguish savings from shipping products together from a margin change caused by the way you distributed shared costs.
A refund reduces net revenue. Return freight, inspection, and disposal create additional costs. Resaleable goods can restore inventory value; an opened supplement may have no recoverable value. Check the actual disposition instead of reversing cost for every returned unit.
Keep that treatment consistent with the accounting records. If you retain the original unit cost for an unsaleable return, do not add the same full product cost again as a write-off in the contribution model. Add only losses or handling costs not captured elsewhere.
Use mature order cohorts to estimate return behavior for recent sales. Record the observation window and distinguish an estimate from completed refund activity. Otherwise, you may report an apparent improvement in this week’s promotion because customers have not had time to return their purchases.
Consider a fictional one-unit order for a product with a $50 list price. The customer receives a $10 discount. Across the example’s order cohort, refunds average $2 per original order, leaving $38 of expected net product revenue. Assume no customer-paid shipping revenue and no inventory recovery from refunded units.
The following costs are illustrative assumptions, not provider quotes or category benchmarks:
| Calculation stage | Cost deducted at this stage | Dollars remaining per original order |
|---|---|---|
| Net revenue after discount and expected refunds | Already reflected in revenue | $38.00 |
| Purchase/manufacturing cost | $20.00 | $18.00 |
| Inbound freight and duties | $3.00 | $15.00 |
| Processing fees | $1.50 | $13.50 |
| Pick, pack, packaging, and outbound shipping | $12.50 | $1.00 |
| Expected return handling and return freight | $2.00 | -$1.00 |
Using purchase cost alone, gross margin is $18 divided by $38, or 47.4%. After the $3 inbound allocation, landed cost is $23. The full variable cost stack totals $39, leaving -$1 per order, or -2.6% contribution margin, before advertising and overhead.
The costs explain the loss. You would need to investigate fulfillment and return economics before treating additional volume as progress. At 2,000 orders with the same net revenue and cost assumptions, the cohort loses $2,000 of contribution. Advertising would add to that loss.
Do not apply the one-unit fulfillment assumption to a two-unit order. Recalculate the parcel cost, any extra pick charge, and the discount. If bundling two units improves contribution, you have identified an order-design option to test; you have not proved that customers will accept it or that conversion will hold.
Use mature actuals to settle the example’s provisional elements in your own model. Replacing an expected $2 refund deduction with actual refunds can move margin in either direction. Keep the earlier estimate so the team can explain the revision rather than treating it as a new operating event.
Build an order-line table before building the summary. Keep order ID, line ID, SKU or variant ID, quantity, and transaction date. Add shipment and payment identifiers where available so the reviewer can trace an allocated charge to its source.
Store cost version and effective date. If a freight bill arrives after you sold part of a batch, finance needs a consistent rule for assigning that adjustment between sold units and remaining inventory. Applying the newest purchase cost to all historical orders would blur a current cost change with a restatement of the past.
| Input | Practical refresh | Review control |
|---|---|---|
| Orders, discounts, refunds | Daily export or integration | Reconcile totals and duplicate IDs |
| Processing fees | As transaction records become available | Replace estimates; reconcile to processor totals |
| Fulfillment and shipment costs | Shipment estimates, then invoice actuals | Match order IDs and explain invoice variance |
| Landed cost | At receipt and when final bills arrive | Approve cost versions and freight allocations |
| Expected returns | On a defined cohort-review cadence | Compare estimates with mature outcomes |
A sheet can hold the first version. Keep input tables separate from calculations and put the summary where the purchasing and marketing owners can review it. Show contribution dollars, margin percentage, volume, and the share of cost still estimated.
Reconcile the operating view with finance at month-end. Timing and allocation differences may be valid, but someone must explain them. A payment-provider deduction in a net payout should not cause you to subtract the fee again from already net revenue if that is the basis you imported.
You can automate collection and calculations once the definitions hold. The DTC Revenue Intelligence Engine uses deterministic pipelines for metrics and an agent layer to explain supplied results. Preserve cost freshness and missing-input flags in either implementation. An agent cannot establish a freight allocation from an invoice it has not received.
The example operating policy in this article flags a high-volume SKU below 18% contribution before advertising and fixed overhead. Use it as a trigger for investigation, not as a claim about the margin a DTC brand should earn.
Choose the actual threshold with finance. Start with the acquisition cost, overhead funding, and operating result you need from the product or customer relationship. A first-purchase product and a refill with a documented repeat-order history may support different policies. Write down the evidence behind the difference.
Pair the percentage threshold with volume and dollars. A $0.10 cost change across a few units may wait for routine review. A $1.90 change on a hero SKU selling 4,000 units in the period represents $7,600 of contribution exposure if volume and other economics hold.
Take another illustrative SKU, separate from the negative-contribution example above. It generates $34 of net revenue per unit and $6.73 of contribution before advertising, or 19.8% after rounding. A $1.90 increase in inbound freight reduces contribution to $4.83, or 14.2%.
That is a decline of about 5.6 percentage points. At 4,000 units, the modeled contribution reduction is $7,600. The calculation assumes the freight adjustment applies to those units; it is not a measured saving or a verified alert from a live brand.
Illustrative margin review: SKU A: 14.2% contribution before advertising against an 18% review threshold. Previous comparable margin: 19.8%. Inbound freight increased $1.90 per unit; modeled period exposure is $7,600 at 4,000 units. Purchasing should confirm the invoice allocation before the next PO approval.
Include the measurement window, cost-estimate status, and a link to the invoice or source table. Compare like-for-like orders before attributing the change to freight. A promotion, single-item order mix, and recent refunds can change the same margin in the same period.
Assign the response to someone with authority over the cost or commercial decision. Group repeated notifications until the driver changes or the owner misses the review deadline. You need a purchasing decision with supporting evidence, not a new message for each order.
A freight-driven decline calls for a review of shipment economics. Confirm chargeable weight, surcharges, and the allocation across the received units. Compare the expected landed cost of the next order with the cost of inventory already on hand. A price decision for future replenishment can differ from a sell-through decision on stock you have already paid for.
For the illustrative $34 SKU, an 18% target requires $6.12 of contribution at the current revenue level. Current contribution is $4.83, leaving a $1.29 gap per unit. Use that gap to size the required change, then model the actual option: a packaging reduction, revised freight arrangement, or different selling price.
A $1.29 price increase does not automatically restore an 18% margin. Raising price changes the revenue denominator, and percentage-based fees can rise with it. Recalculate the full order, and test what the price does to conversion and volume before forecasting the benefit.
| Margin finding | Decision to evaluate | Additional check |
|---|---|---|
| High outbound cost on single-item orders | Bundle or adjust shipping terms | Conversion, parcel weight, and contribution per order |
| Discount-driven contribution decline | Revise promotion depth or eligibility | Net demand response and return rate |
| Rising return handling or damaged stock | Fix packaging or vendor performance | Actual disposition and replacement costs |
| Higher next-batch landed cost | Reprice or change PO size and terms | Inventory availability and the cash payment schedule |
Use your vendor scorecard to pursue charges or service failures you can substantiate. A margin decline helps you locate the issue; the contract and shipment evidence determine whether you can recover a cost from the provider.
Range decisions require a further distinction between avoidable future costs and money already spent. Negative contribution under a replenishment model may justify stopping the next PO. Selling down existing inventory can still recover cash if the proceeds exceed the incremental costs of making that sale. Compare liquidation, continued selling, and disposal on the relevant basis.
An agency’s return on ad spend (ROAS) report compares attributed revenue with media spending, and that ratio carries no cost information the agency did not receive from you. Freight, fulfillment charges, and return losses cannot be inferred from it. Even an accurate revenue attribution model cannot substitute for those inputs.
Read product contribution alongside attribution evidence, and establish how much contribution remains available to acquire an order or customer before you evaluate the acquisition model on a consistent cohort basis. Avoid subtracting CAC twice if you also maintain an after-acquisition contribution view.
A contribution improvement is not an immediate increase in cash. You may have paid for the goods months ago, and your next lower-cost shipment may require a larger deposit. Put the proposed PO or promotion into the 13-week cash-floor forecast to inspect the payment dates as well as the expected margin.
Keeping a product below the standard trigger can still be defensible. A first-purchase item sold near cost can earn its place if the customers it brings in later refill at full margin. Treat that as an exception with an owner, a ceiling on total exposure, and a review date. What expands the exception is observed cohort contribution after acquisition costs and refunds, not a lifetime-value estimate.
Give allocation choices the same skepticism. Two reasonable ways to allocate fulfillment costs can reverse the ranking of low-volume SKUs. When that happens, show a range instead of a single number and keep the shared order economics visible. Decimal places beyond the uncertainty will not settle it.
One high-volume SKU is enough to open the next review. Reconcile its net sales, trace the largest variable costs to source records, and quantify what remains estimated. Finance approves the contribution definition; the commercial owner chooses the next pricing or purchasing action from those numbers. Keep the cost version and the decision date with the file so the result can be checked after the next batch sells.
Shopify Help Center, Profit reports, including gross profit by product and variant, discounts and refunds, and dynamic reporting considerations. ↩︎
The Engine
Every framework on this site runs inside the DTC Revenue Intelligence Engine — custom AI agents monitoring your key performance areas daily, operator review weekly. If that's what your brand is missing, start with a fit check.
Frequently Asked Questions
It is the net revenue attributable to a product or variant minus the variable costs of selling and delivering it. Define whether your calculation stops before advertising or includes acquisition spending; the operating model in this article measures contribution before advertising and fixed overhead.
Start with Shopify order-line revenue, discounts, refunds, quantities, and product costs. Add transaction fees, fulfillment costs, and any landed-cost or return-cost components you have not already included, using documented allocation rules. Shopify's native gross-profit reports provide a starting view rather than your complete cross-system cost model.
Include landed product cost, payment and variable channel fees, outbound fulfillment, and return-handling costs or inventory losses not captured elsewhere. Deduct discounts and refunds from revenue once. If landed cost already includes inbound freight, do not subtract that freight again.
Set a target that leaves enough contribution to fund acquisition, fixed overhead, and the operating result you require. Category, channel, order composition, and repeat purchasing all affect the target. An 18% review trigger is an example policy, not a universal benchmark.
Refresh order data and available fees daily when practical, update cost estimates as invoices arrive, and review material exceptions each week. Reconcile the operating model to finance's records at month-end and retain prior cost versions so you can explain revisions.