Retail Planby RetailNorthstar

How to plan wholesale and DTC together

Planning wholesale and DTC together means sizing and phasing one production buy against two demand signals that behave differently — a wholesale quantity that is booked and contractually committed months before the season, and a DTC quantity that is forecast and can still be chased — and then deciding, in advance, which channel gets the units when the two compete for them. The two signals cannot be added. They can be planned against the same buy, but only if the plan keeps them apart long enough to see which one is a promise and which one is a probability.

This sits on top of the buy itself. If you need the line-by-line buy first, read how to build a buy plan. If you need the phasing of intake across the season, read how to plan receipt flow. If the size run is where your two channels diverge — the first place to check — read how to calculate size curves. And the reserve has its own guide: how a buffer is sized, and why the standard formula breaks on a seasonal range, is covered in safety stock for seasonal assortments, with reserve lead time and the last-receipt date in how to plan a peak-concentrated season. This page takes the sizing as given and asks a different question: whether one buffer can be shared across two channels at all. None of those are repeated here.

What this guide covers: why booked and forecast demand cannot be summed, the commitment calendar and what locks at each gate, sizing the buy with one shared reserve instead of two buffers, the honest condition under which pooling fails, minimum order quantities and how they distort an assortment, where the plan creates channel conflict, the allocation rule set for a season that beats the forecast, and the arithmetic of reconciling one buy to two margin statements. The worked figures throughout are illustrative — constructed for this page, not benchmarks, and not drawn from any brand.

The short version
Plan three lines, not one: booked wholesale net of a stated cancellation haircut, DTC at its expected case with the range kept visible beside it, and a single shared reserve sized to the width of that range. Pool the reserve only where the units are genuinely interchangeable across size, colourway and date. Check every factory minimum against the combined line. Write the scarcity rule before the season starts, set the first DTC markdown date against wholesale sell-through rather than against your own receipt curve, and manage the outcome in contribution dollars per unit rather than in a blended margin rate.
Definition — One buy, two demand signals
A multi-channel buy is a single production commitment serving a booked wholesale order book and a forecast DTC demand curve. The wholesale side is known early and changes little; the DTC side is unknown early and changes constantly. The buy has to be placed at the moment when one is certain and the other is not, which is why the sequencing of the decision matters at least as much as the arithmetic.
Buy = booked wholesale (net of haircut) + DTC forecast (expected) + one shared reserve
Used by: Merchandise planners, buyers and wholesale sales leadership, from prebook close to reorder cutoff
Related: Prebook, sell-in, fill rate, chargeback, MAP, pooling, contribution margin

Why booked and forecast cannot be added

A booked wholesale quantity is a customer purchase order with a style, a colourway, a size breakdown, a quantity and a ship window on it. It is close to a certainty. What can still go wrong is bounded and nameable: an account cancels, an account goes on credit hold, a late shipment triggers a chargeback or a cancellation clause. Those are discrete events with known consequences, and a plan can carry them as a stated allowance.

A DTC forecast is a different kind of object. It has no customer attached, no ship window, and no counterparty. It is a distribution — a most-likely figure with a spread around it that widens the further out you forecast and the newer the product is. The useful information is not the midpoint but the width. A style with an expected case of four thousand units and a plausible range from two thousand eight hundred to five thousand six hundred is telling you something specific about how much protection to carry, and that information is destroyed the moment the range collapses into a single planning number.

Adding a commitment to a distribution produces a total whose error is made of two incompatible kinds of uncertainty, and once summed they cannot be separated again. You can no longer answer the only question that matters when the season goes wrong: how much of this buy was contractually protected, and how much of it was exposed. That question has to be answerable in week two, not reconstructed in the post-season review.

The two signals also arrive on different clocks, which compounds the problem. The wholesale number is final months before the season. The DTC number is a forecast at commitment, a partial read at launch, and a fact only when it is too late to buy against. Planning them as one line forces the whole buy to be decided at the wholesale clock’s pace, which is how a DTC assortment ends up having been a wholesale decision. You can track how the booked side is landing against plan — booking attainment and fill rate — with the sell-in and bookings calculator.

What locks at each gate

A channel argument in season is an argument about a decision already taken, at an earlier gate, without being framed as a decision at the time. Writing the gates down turns that argument into a question with an answer. The sequence below is the general shape; the names change by vertical, but the structure does not.

Commitment gates from range adoption to reorder cutoff, showing what locks and what remains open at each.
GateWhat locksWhat is still open
Range adoption / line freezeWhich styles and colourways exist at all. Cost targets and price architecture.Every quantity. The channel split. Delivery dates.
Prebook opensWholesale price, delivery windows offered, the assortment accounts can order from.All quantities in both channels. The buy has not been sized.
Order cutoff / prebook closeWholesale quantity, by style, colourway, size and delivery window. This is the signal.The DTC number is still a forecast. Total buy still open.
Production commitTotal units, fabric or component quantities, factory slot. The buy is now spent.How the units split across channels. How they phase across deliveries.
First receipt in the DCNothing new — but the units are now physical and countable.Allocation. This is the last gate at which the split is genuinely free.
Wholesale ship window opensEvery unit that ships against a PO. Allocation closes progressively, not at once.Unshipped balances, the reserve, and the reorder if lead time still allows one.
DTC launchNothing. But the first genuine demand read arrives here.Reserve deployment, markdown timing, and any chase inside the window.
Reorder cutoffThe season. Whatever is owned is what will trade.Only price and allocation between doors and channels.

Two gates deserve more attention than they normally get. Production commit is where the total stops being negotiable and the split is still free — which means it is the wrong moment to also decide the channel allocation, and it gets decided there anyway because the purchase order asks for a ship-to and the spreadsheet asks for a channel column. The split can wait until the units are physical, and waiting is worth real money, because a month of DTC signal will have arrived in the meantime.

The reorder cutoff is the other one, and unlike every gate above it it has no system of record. It is the last date on which a reorder can be placed and still land with enough trading weeks left to sell at full price — derived from supplier lead time and the remaining full-price weeks, which means it exists only if somebody works it out and writes it down. After it, the season is what you own. Every reserve conversation is really a conversation about the distance between the first genuine DTC read and that cutoff, and if the read arrives after the cutoff then the reserve was never a chase fund at all.

Eight steps, in order

Each step consumes the output of the one before it. The two easiest to skip are the pooling test and the pre-decided scarcity rule, and they are easy to skip for the same reason: both are cheap to write down before the season and nearly impossible to agree during it.

  1. 1

    Keep the two demand signals apart on the page

    A booked quantity and a forecast are different kinds of object, and one demand figure destroys the difference. Build the wholesale line and the DTC line as separate rows with separate units of certainty, and never collapse them into a single demand figure before the buy is sized. Booked wholesale is a commitment with a cancellation risk attached. Forecast DTC is a distribution with a mean and a spread. Adding them produces a number carrying two different kinds of error that can no longer be told apart.

  2. 2

    Lay both calendars on one timeline

    A channel argument in season is an argument about a gate that closed months earlier. Put prebook close, production commit, first receipt, wholesale ship window and DTC launch on the same line, and mark against each gate what locks and what stays open. Writing the gates down converts an argument about intent into a question about a date, and a question about a date has an answer.

  3. 3

    Take the booked quantity at its committed level, with a stated haircut

    A haircut you can see is a decision; a haircut buried inside a lower forecast cannot be audited. Plan the wholesale line at the booked quantity less an explicit cancellation and chargeback allowance, written as its own line. When the season closes, a visible allowance can be judged against what actually happened. A hidden one leaves no way to tell whether the season missed or the plan was quietly cut.

  4. 4

    Express the DTC number as a range before you use its midpoint

    The width of the DTC range, not its midpoint, is what sizes the reserve. Write the DTC line as a low, expected and high case, then use the expected case in the buy and keep the range visible next to it. A DTC forecast expressed as one number cannot tell you how much protection to buy, and the reserve then gets set by convention instead of by uncertainty.

  5. 5

    Size one shared reserve instead of two channel buffers

    One pool is cheaper than two buffers only to the extent the two channels do not miss in the same direction at the same time. Hold a single pool of units that either channel can draw on rather than a safety buffer inside each channel plan. How much a pool saves depends entirely on how the two channels’ misses move together, so write that assumption down beside the reserve rather than letting the arithmetic imply it. How a buffer is sized in the first place is a separate problem; the question here is whether one can be shared across two channels at all.

  6. 6

    Test whether pooling actually applies before you rely on it

    Pooling only works when the reserve unit fits whichever channel calls for it. Check three things: are the two channels asking for the same size run, the same colourways, and the same delivery dates? If any answer is no, that portion of the reserve is channel-specific and should be planned and named as such rather than counted twice.

  7. 7

    Check every minimum order quantity against the combined line

    A factory minimum is a constraint on the combined line, not on either channel’s line. Run each colourway and each size run against the factory minimum using the combined wholesale and DTC quantity, not the channel quantity. Where the combined number still falls short, decide deliberately between buying the overage, dropping the option, or consolidating it into a colourway both channels ordered — and record which channel the decision was made for.

  8. 8

    Pre-decide scarcity and the markdown gates, then reconcile to two P&Ls

    Both of these are cheap to agree before the season and nearly impossible to agree during it. Write the allocation rule for a season that beats the forecast before the season starts, and set the first DTC markdown date against wholesale sell-through rather than against the DTC receipt curve. Then restate the same buy as two margin lines — wholesale in IMU dollars at wholesale price, DTC at realised retail AUR net of fulfilment and returns — and manage the dollars, not the blended percentage.

Sizing one buy for two channels

One style, one colourway, one season, in units. Wholesale books six thousand at order cutoff. The DTC forecast has an expected case of four thousand with a plausible range from two thousand eight hundred to five thousand six hundred. Every figure here is constructed to show the mechanism — none of it is a benchmark.

Illustrative build-up of a single production buy from booked wholesale, DTC forecast and one shared reserve.
LineUnitsNote
Wholesale booked at order cutoff6,000Confirmed customer POs
Cancellation haircut on booked−300Stated, not assumed away
Wholesale committed, net5,700Near-certainty
DTC forecast, expected case4,000Range 2,800 to 5,600
Two separate buffers (rejected)1,800600 wholesale + 1,200 DTC
One shared reserve (used)1,200Serves whichever channel calls first — see the assumption below
Total buy10,900Placed as one production order

The line that does the work is the reserve. Planned the conventional way, wholesale carries six hundred units against at-once and reorder demand from accounts, short-ship exposure and size-break substitutions, and DTC carries twelve hundred against a forecast it does not trust — eighteen hundred units of protection in total. Planned as one pool, the twelve hundred units stand behind whichever channel calls first. One pool of twelve hundred covers either channel’s miss, but not both channels missing in the same week — the six hundred units saved are the price of that assumption, and it should be stated rather than assumed. How much a pool actually saves depends on how the two channels’ misses move together. If they move independently, the pool that carries the same protection is larger than the bigger of the two buffers, and the saving is smaller than six hundred. If they tend to miss together — a weak season, a late delivery that hits both — the saving approaches nothing. Twelve hundred is the most favourable case, chosen here to keep the arithmetic legible; treat it as an illustration of the mechanism rather than a computed answer, and write the correlation you are actually betting on next to the reserve line in your own plan.

The cancellation haircut is the second line worth arguing about. Three hundred units come off the booked figure as a stated allowance rather than being absorbed into a quietly lower plan. The value is not the accuracy of the number — it is that the number exists somewhere it can be looked at. When the season closes, a visible haircut lets you ask whether it was the right size. A hidden one leaves you unable to tell whether the accounts cancelled more than expected or the plan was cut before they did.

And the reserve has a condition attached that the arithmetic does not show. Twelve hundred pooled units only work if a unit can go to either channel when called for. That is a question about size runs, colourways and dates, not about totals — and it is the question the next section is about.

The honest condition on a shared reserve

Pooling works because two uncertain demands are cheaper to protect together than separately, to the degree that they are not the same demand in disguise. It stops working altogether the moment the units stop being interchangeable, and there are exactly three ways that happens. The same argument on a different axis — pooling a buffer across SKUs at class level rather than across channels — is worked through in safety stock for seasonal assortments, which owns how a buffer gets sized; the question here is only whether one can be shared across two channels.

One clarification before the three, because it is the source of an apparent contradiction. The reserve is pooled in units — physical inventory in one building that either channel can be allocated. The budget stays bucketed by channel: wholesale open-to-buy and DTC open-to-buy are tracked separately so that a wholesale over-commitment cannot quietly consume the DTC buying budget. Pooled units and separate channel OTB dollars are not in conflict; they are two different objects, and RetailNorthstar’s omnichannel assortment planning guide covers the organisational side of running both.

Different sizes. Wholesale buys a size run for a door set and tends to take depth in the middle of the curve. DTC sells a broader, flatter curve, because it serves a national customer base rather than a set of doors with local size profiles. A reserve held in the middle sizes is genuinely shared. A reserve that ends up sitting in the tails belongs to DTC, whatever the plan calls it. In footwear the same problem appears twice over, since a wide-width unit cannot serve a standard-width order at all.

Different colourways. Accounts book what fits their floor, which is a subset of the range by construction — floor space is finite and each account edits to a different customer. A colourway that only one channel ordered has a channel-specific reserve by definition, and counting it in the shared pool overstates the protection on both sides. The core and hero colours are where pooling is real; the seasonal fashion colours are where it is decorative.

Different dates. A reserve held for a DTC read that arrives in November cannot also cover a wholesale ship window that closes in September. Those are two reserves that happen to be stored together. The test is not whether the units exist but whether they are unallocated on the date each channel would need them, and this is the failure that hides best, because the warehouse balance looks correct right up until the week it does not.

When an MOQ picks your assortment

Factory minimums are a constraint on the combined line, not on either channel’s line, and that difference decides options. Take a minimum of fifteen hundred units per colourway, illustratively. A fashion colour books three hundred in wholesale and forecasts four hundred in DTC. Combined demand is seven hundred against a minimum of fifteen hundred. There are four honest responses and no good one.

1

Buy the overage

What it is: Place the full minimum and carry the difference between it and combined demand.

Cost: Working capital and an end-of-season position in a colourway neither channel asked for at that depth. Cheapest when the colourway is core or carries into the next season.

2

Drop the option

What it is: Cut the colourway from the line and tell the accounts that booked it before the ship window.

Cost: A cancelled booking, a smaller range, and a conversation with an account that ordered in good faith. Least damaging when the booked quantity is small and concentrated in one or two accounts.

3

Consolidate into a colourway both channels ordered

What it is: Move the demand onto an adjacent colourway that already clears the minimum on the combined line.

Cost: Range distinctiveness. It is the answer the arithmetic points to whenever the dropped colourway was not itself the reason an account bought the style — and the wrong answer when it was.

4

Split the minimum across a longer window

What it is: Meet the minimum with one production run and phase it into two or three dated deliveries.

Cost: No unit cost, but it does not reduce the commitment — it only improves the flow. Useful when the problem is cash and cover rather than total demand.

The distortion is structural rather than occasional. A minimum is easiest to clear in the colourways with the largest booked quantity, and the largest booked quantity is the wholesale one, because wholesale commits first and commits in depth. The options that survive the minimum are therefore the ones accounts chose for their own floors. Nobody decides this; it is the accumulated residue of a series of individually reasonable calls.

Run a few seasons of that and the DTC range is a subset of the wholesale line, selected by buyers optimising for a different customer in a different context. It is a perfectly good explanation for soft full-price DTC sell-through, and it is invisible from the marketing plan, because the decision that produced it was recorded as a sourcing constraint rather than as an assortment choice. The counter-measure is small: record, against every minimum decision, which channel it was made for. A column of answers that all say the same thing is the signal.

The plan creates it, not the market

When a brand discounts on its own site while accounts are still selling the same product at full price, the conversation that follows is about pricing. The pricing is the symptom. The cause is a calendar decision taken months earlier, and there are four specific places it gets taken.

The DTC markdown calendar was set against the DTC receipt curve. If the first promotion is scheduled at a fixed distance after your own first receipt, it can land in the account’s third week on the floor. The account is then competing with the brand on its own newness, using inventory it paid for, and the next prebook will be smaller. The fix is to gate the first DTC promotion on wholesale sell-through reaching an agreed point, which requires knowing the account’s floor-set date at the time you set the calendar — which is to say, at prebook close.

The second place is the launch date itself. A DTC launch at or before the wholesale in-store date hands the newness advantage to the channel that did not commit for it. The third is the reserve, which drifts to DTC by default because DTC can absorb units fastest and with the least friction — so the season ends with DTC long, and inventory that is long discounts, whatever anyone intended. The fourth is the buy itself: a DTC quantity sized on a full-price sell-through assumption that the exit date never supported was always going to end in a promotion, and the promotion was decided at commitment.

Where MAP applies — most sharply in outdoor and sporting goods — this stops being a relationship question and becomes a term of the arrangement the prebook was written under. Either way, the practical move is the same: put the wholesale sell-through checkpoint into the DTC markdown calendar as a gate, and name the first markdown date at prebook close rather than discovering it in week ten. If you want the way the two channels are positioned separately, RetailNorthstar covers planning for wholesale and planning for DTC as distinct operating problems.

Allocating units when the season beats the forecast

A style that beats plan is a good problem that gets handled badly, because it arrives in the week when nobody has time to think. The rule set belongs in the plan, agreed before the season, in this order.

1

Ship what is contractually dated and penalised, first

Units against a confirmed PO inside its ship window, where a short-ship triggers a chargeback or cancels the order, come off the top. This is not a commercial judgement — it is the price of having taken the booking.

2

Then compare marginal contribution in dollars, not percentages

Once the penalised units are gone, the next unit should go to whichever channel earns more contribution dollars on it, adjusted for the probability it sells at that price. This is where "wholesale first because it is committed" stops being right: it stops at the first unit that carries no penalty, and nothing in the process marks where that boundary falls, so the contractual rule is easy to carry past it.

3

Renegotiate before you ration

A short-ship discovered by the account is a chargeback. A short-ship agreed with the account two weeks earlier, with a substitute colourway or a later delivery, is a conversation. The cheapest scarcity lever is a phone call made before the ship date, because that is what converts a penalty into a negotiation.

4

Protect whichever channel breaks first on size or colour integrity

A wholesale delivery missing the middle of the size run gets returned, marked down at the account, or cancelled outright. A DTC assortment missing the same sizes converts worse but keeps trading. That asymmetry is why the wholesale run is the one to protect when the two compete for the same scarce sizes.

5

Never cut both channels by the same percentage

A proportional cut feels fair and satisfies nobody. It breaks the wholesale size run and thins the DTC assortment at the same time, converting one solvable problem into two unsolvable ones. Take the units from one place and say where.

6

Decide once, publish it, and date it

The allocation rule should be written before the season and applied without re-litigation, because scarcity arrives in the week when nobody has time to argue well. A rule agreed in advance survives that week. A negotiation started in that week does not.

The second rule is the one that gets argued about, so it is worth stating plainly. “Wholesale first because it is committed” is right contractually and is not automatically right commercially. It is right about the units where a short-ship carries a penalty, and it stops being right immediately after those. Beyond the penalised units, a wholesale unit and a DTC unit are two commercial options on the same piece of inventory, and the correct one is whichever earns more contribution dollars adjusted for the chance of realising the price. The mistake is applying a contractual rule to units that carry no contractual obligation, which is what happens when nobody separates the two before the week it matters.

The same unit, told two ways

Every unit in the buy has two possible margin stories, and they are not comparable until they are stated the same way. Both start from the same landed product cost, which the landed cost and margin calculator will build if you do not already carry it at that level. The wholesale story is IMU-driven at a lower price. The DTC story starts at realised retail AUR — the average actually achieved across full-price and promoted units, not the ticket price — and then gives back fulfilment, payment processing and returns. The example below carries one unit through both. The figures are illustrative.

Illustrative per-unit contribution for the same product sold through wholesale and through DTC.
Per unitWholesaleDTC
Revenue per unit45.0085.00
Product cost−20.00−20.00
Gross margin25.0065.00
Allowances / chargebacks−2.00
Fulfilment and payments−12.00
Returns provision−9.00
Contribution per unit23.0044.00
Contribution as % of revenue51.1%51.8%

Read the last two rows together and the point lands. The two channels sit less than a point apart on contribution percentage and nearly two to one apart on contribution dollars. Twenty-three dollars against forty-four, on the same physical unit, at margin rates that look interchangeable. A brand managing to a margin rate would conclude the channels are equivalent and allocate on convenience.

Blend them and it gets worse. Assume for the illustration that the buy clears in full at the realised prices above: 5,700 units through wholesale and 5,200 through DTC. Wholesale contributes 5,700 at twenty-three dollars, or 131,100. DTC contributes 5,200 at forty-four dollars, or 228,800. Total contribution is 359,900 on revenue of 256,500 plus 442,000, which is 698,500 — a blended rate of 51.5%. That figure sits between the two channel rates and describes neither, which is the whole problem: it is quoted in the meeting where a marginal-unit decision gets made, and it is the one number that cannot inform it.

The dollars are also not equally certain, which is the second half of the comparison — though the uncertainty sits in a different place on each side rather than in a different amount. The wholesale twenty-three is attached to a specific purchase order at a contracted price, and what can go wrong is counterparty risk: a cancellation, a credit hold, a chargeback. The DTC forty-four is an average across units that sold at full price and units that sold on promotion, so what can go wrong is the mix: the longer the unit sits, the more of the season’s volume lands on the promoted side and the lower the realised AUR turns out to have been. Wholesale carries price certainty and counterparty risk; DTC carries customer certainty and price risk. A blended percentage is precisely the format that makes both invisible.

Where the commitment signal comes from

The structure is the same everywhere: something commits early and something else stays open. What changes is which mechanism does the committing, and how much room it leaves. The tension is sharpest wherever a dealer prebook or a retailer purchase order is the dominant signal, because there the gate is set by the customer rather than by the brand. The entries below stay on the two-channel commitment question only; for how each vertical structures its hierarchy, depth and lifecycle, RetailNorthstar covers merchandise hierarchy by vertical.

Apparel

Seasonal prebook, SS and FW

The pooling test fails on size before it fails on colour. The prebook closes on the seasonal calendar and locks style-colour quantities by size curve months before the DTC forecast has any data behind it. Wholesale buys the middle of the size run in depth for a door set, while DTC sells a wider, flatter curve. A reserve held in the middle sizes is shareable; a reserve sitting in the tails is a DTC reserve wearing a shared label.

Accessories and bags

Seasonal prebook, hero colourways, evergreen core

Bags and most small leather goods carry no size run, which is where pooling is at its most genuine. Sized accessories — belts, gloves, hats — behave like the apparel case and carry the same size-run constraint. Where there is no run, the constraint moves to colourways: hero colours book heavily in wholesale and sell steadily in DTC, so pooling works on the core and fails on the seasonal fashion colours that only one channel ordered. Attach-rate driven DTC demand also arrives later than the prebook, which widens the range you are planning against.

Footwear

Dealer prebook, size runs, widths, pairs, drops

Widths make pooling close to impossible, so the honest reserve is smaller than the arithmetic suggests. A size run with widths multiplies every commitment decision. A dealer prebook commits pairs by size and width per door, and a single production run has to serve those runs and a DTC drop calendar that wants depth in a narrower band of sizes. A wide unit will not serve a standard-width order at all, so the reserve has to be planned per run rather than per style.

Sporting goods

Dealer channel, model year, disciplines

Carryover decides what an overbuy costs. The model-year calendar sets the gates rather than the seasonal one, and dealer prebooks close against it. A model that continues into the next year can absorb an overbuy at almost no cost, while a model changing over cannot absorb any. Plan the reserve on the carryover models and keep it thin on the changeover ones, because a changeover model that lands long has one discount window and then becomes prior model year on the dealer floor as well as on your own site.

Outdoor

Dealer prebook, counter-seasonal buying, MAP

Under MAP, the DTC markdown calendar is itself a wholesale commitment. Dealers prebook counter-seasonally, so the commitment lands a long way ahead of any DTC read, and the range you are planning against is at its widest. A DTC price move below MAP while dealers still hold inventory is not a marketing decision, it is a breach of the arrangement the prebook was written under. That puts the first markdown date in the plan at prebook close rather than in season.

Toys and games

Retailer PO windows, age grade, packaging SKU

The units stop being interchangeable at the packing line, not at the warehouse. Retailer PO windows are tied to shelf resets and the holiday calendar, so the commitment gate is set by the customer rather than by the brand. A retailer pack and a DTC pack can be different finished-goods SKUs off one production run. Pooling then has to be planned upstream, on the unpacked units, with a late decision on which pack they become.

Seven ways a two-channel plan goes wrong

None of these is a mistake anyone makes on purpose. Each is a reasonable simplification that stops being reasonable once there are two channels drawing on one buy — a total that hides a distinction, a buffer bought twice, an average that describes neither side. They are grouped here because they share a failure mode: the plan still balances afterwards, which is exactly why none of them surfaces until the season is already committed.

Adding booked and forecast into one demand number

A commitment and a distribution do not have the same standing, and one total treats them as if they do. Once summed, there is no way to see how much of the buy is contractually protected and how much is exposed. The plan looks tidier and every downstream risk conversation gets harder, because the one figure that would answer it has been averaged away.

Two safety buffers and one warehouse

A buffer inside each channel line buys protection twice for a risk that only arrives twice in one case. The units sit in one building and can serve either channel, so the second buffer is paying for the case where both channels miss in the same direction in the same week. That case is worth protecting only if you believe it is likely, and the belief belongs in the plan next to the number rather than inside it.

Assuming pooling always works

A shared reserve only helps when the reserve unit fits whoever calls for it. If wholesale needs the middle of the size run in September and DTC needs the tails in November, the pool is a label rather than a mechanism. Pooling fails on size, on colourway, and on delivery date, and it fails silently — the plan still balances, the units just cannot move where they are needed.

Letting the minimum order quantity choose the assortment

A colourway that clears the factory minimum only because one channel booked it pulls the assortment toward that channel. Repeat it across a few seasons and the DTC range is a subset of the wholesale line, chosen by accounts for their own floors. That is a reasonable explanation for soft full-price DTC sell-through, and it is invisible from the marketing plan, because the decision that produced it was recorded as a sourcing constraint.

Setting the DTC markdown calendar on the DTC curve alone

A promotion scheduled off your own receipts can land in the account’s third week on the floor. The account then competes with the brand on its own newness, using inventory it paid for, and the next prebook is smaller. The discount was not the cause — the calendar was, and the calendar was set months earlier by someone who was only looking at one channel.

Allocating scarce units by percentage

A proportional cut is the default because it requires no decision. It breaks the wholesale size run and thins the DTC assortment at the same time, which converts one solvable shortage into two. Scarcity should be taken out of one place, deliberately, with the affected party told before they discover it.

Managing to a blended margin percentage

In the worked example above, the blended rate sits within a point of both channel rates while contribution per unit is nearly double on one side. Every marginal-unit decision depends on the dollars, not the rate. A blended percentage is the one number that cannot inform the decision it is quoted in, because it is an average of two positions rather than a description of either.

Where a two-channel plan goes stale

Everything above assumes the plan knows the current order book, the current production position and the current DTC read at the same moment. In a spreadsheet it does not, and the reason is structural rather than careless: bookings live in the sales system, purchase orders live with production, DTC demand lives in the commerce platform, and the plan lives in a file that reconciles all three by hand, on whatever cadence someone has time for.

That gap is expensive here in a specific way. A cancelled booking frees units the DTC side does not know exist. A slipped delivery moves a wholesale ship window that the reserve was sized against. A DTC week running ahead of plan is a reorder signal that has to be acted on before the reorder cutoff, which is a date that has to be derived rather than looked up. When the order book, the production position and the demand read sit on one data model, the reserve, the channel allocation and the wholesale-versus-DTC open-to-buy position all move the same day the underlying facts do — and the scarcity rule agreed before the season is applied while it is still cheap to apply.

See the connected workflow in RetailNorthstar

Frequently asked questions

How do you plan wholesale and DTC from a single production buy?
Size the buy as three separate lines rather than one demand number: the booked wholesale quantity net of a stated cancellation allowance, the DTC forecast at its expected case, and one shared reserve sized to the width of the DTC range. Keep the three visible in the plan so anyone can see how much of the buy is contractually protected. Then set the channel split as a decision made at receipt, not at commitment, because the split is the last thing that stays genuinely open.
Can you add booked wholesale orders to a DTC forecast?
Not without losing the information that matters. A booked wholesale quantity is a near-certainty carrying cancellation and chargeback risk; a DTC forecast is a distribution with a mean and a spread. Summing them produces a total whose error is made of two incompatible kinds of uncertainty, so it can no longer tell you how much of the buy is exposed. Plan them as separate lines, apply a stated haircut to the booked figure, and use the width of the DTC range — not the total — to size protection.
What is a shared reserve, and when does pooling not help?
A shared reserve is one pool of units that either channel can draw on, held instead of a safety buffer inside each channel plan. It is cheaper than two buffers to the extent that the two channels do not miss in the same direction at the same time — which is an assumption about the buy, not a property of it, so state it where the reserve is sized. It stops working entirely when the units are not interchangeable: when the channels need different sizes or widths, different colourways, or the units on different dates. Test all three before relying on the pool, and plan the portion that fails the test as channel-specific stock.
When units are scarce, should wholesale or DTC get them?
Units against a confirmed PO inside its ship window, where a short-ship triggers a chargeback, come off the top — that is the price of having taken the booking. Beyond those, allocate by contribution dollars per unit adjusted for the probability of selling at that price, not by which channel committed first. "Wholesale first because it is committed" is right contractually and is not automatically right commercially, because a DTC unit can carry more contribution on the same piece of inventory. The cheapest lever is renegotiating the short-ship with the account before the ship date, which converts a chargeback into a conversation.
How do you compare wholesale and DTC margin on the same unit?
Restate the unit twice. The wholesale line is IMU-driven: wholesale price less product cost, less allowances and chargebacks. The DTC line starts at realised retail AUR — after promotion, not at ticket — less the same product cost, less fulfilment, payment processing and a returns provision. Compare the contribution dollars, not the percentages. In the illustrative example on this page the two channels land within a point of each other on margin rate while contribution per unit is nearly double on one side, and every marginal-unit decision depends on the dollars. The dollars are not equally certain either: the wholesale figure is attached to a specific purchase order, while the DTC figure is an average across units that sold at full price and units that sold on promotion.
How do you stop DTC discounting from undercutting wholesale accounts?
Treat the DTC markdown calendar as a wholesale commitment and set it at prebook close rather than in season. Gate the first DTC promotion on wholesale sell-through reaching an agreed point instead of on the DTC receipt curve, and set the DTC launch date relative to the accounts’ floor-set date rather than to your own first receipt. Where MAP applies, the pricing floor is part of the arrangement the prebook was written under. Channel conflict of this kind is created by the calendar, not by the discount.

See how RetailNorthstar holds the order book, the production position and the DTC demand read on one data model, so the shared reserve, the channel allocation and the wholesale-versus-DTC open-to-buy position move the day the facts move.