The plan is a budget for stock, not for sales

A sales plan says what the business expects to sell. A merchandise plan says how much stock it will hold to sell it, and therefore how much it may still buy. Open-to-buy is the difference between the stock the plan allows at the end of a period and the stock already owned or committed for it. Everything on this page exists to make that one subtraction trustworthy at every class and period.

The Cybex Merchandise Planning & OTB dataset holds the plan, the actuals that overwrite it as the period elapses, the purchase commitments that consume it, and the demand features that say whether the plan is still right. The buy itself is a separate fact, at style, colour and size, so a purchase order can be raised from the requirement and posted back against the OTB it consumed. Nothing here is specific to one retailer: the retail calendar, class hierarchy, PO status codes and forecast horizons are mapped to generic values at load time.

Top-down
Financial plan
Sales, markdown, margin and stock targets by division and period, on the retail calendar.
Bottom-up
Class plan
The same measures by class and period, reconciled to the financial plan and rolled from actuals as periods close.
Committed
Purchase orders
One definition of "open" for units, retail and cost, keyed to the period the stock is due.
Demand-checked
Forecast
A de-seasonalised rate per style and colour says whether the plan, and the buy, still match the sell.

Five facts, one retail calendar

FactGrainQuestion it answersLoaded from
Merchandise planOne row per class and retail period; division and total roll upWhat did we plan to sell, mark down, receive and hold, and what actually happened?Planner input, monthly movement actuals, last-year actuals
Purchase commitmentsOne row per PO line, rolled to class and due periodWhat is on order, at what cost and retail, due when, in what status?PO headers and lines, receipts, cancellations, product master
OTB positionOne row per class and period, derivedHow much may we still buy for this period?Plan, commitments, opening stock, receipts to date
Demand featuresOne row per style and colour with forward horizonsHow fast is it selling, de-seasonalised, and what will it sell over 4, 13, 26 and 52 weeks?Weekly sales history, seasonality index, weeks in stock, size curve
Buy requirementOne row per style, colour and size, with a blank and private label variantHow many units must be bought, or cut, to cover the horizon after supply?Demand features, stock on hand, open POs, work orders, size curve
Plan and PO ledger retail calendar (4-5-4) · class hierarchy · monthly movement · PO ledger · weekly sales one identity: class · period, and style · colour · size beneath it Planclass × periodplan, actual, LY CommitmentsPO line → classopen, due OTBclass × periodroom to buy Demandstyle × colour4 / 13 / 26 / 52W Buystyle × colour × sizeneed − supply BI: plan grid, OTB, POs plan vs actual, OTB by period AI: reforecast, suggest suggested POs, plan drift

Figure: the plan, the commitments and the OTB share class and period; the demand and buy facts sit beneath them at style, colour and size and post back through the class.

Generic dataset attributes

Attributes are grouped by role. BI marks the ones the plan grid, OTB and purchasing reports aggregate; AI marks the ones the forecasting and buying engines consume. Most are both.

Merchandise plan

GroupAttributesNotesUsed by
IdentityDivision, Department, Class, Subclass, Retail year, Retail period, Period key (year + period), Period start and end dates, Weeks in periodThe retail calendar is a table, not a date function: a 4-5-4 period never agrees with a calendar month, and January belongs to the prior retail year.BIAI
Plan measuresSales plan, Markdown plan, Margin plan, Receipts plan, Stock plan at beginning of period, Stock plan at end of period, Units plan for eachRetail and units carried side by side; cost derived from the planned mark-up. End-of-period stock is a snapshot and is never summed across periods.BIAI
ActualsSales, Markdown, Margin, Receipts, Stock at beginning and end of period, Units for each, Elapsed flagWritten by the ETL from the monthly movement ledger as periods close. Plan columns are never overwritten by actuals; the two coexist so variance survives.BIAI
Last yearSales LY, Markdown LY, Receipts LY, Stock LY, Units LYSame period one retail year back, so the comparison is like for like on the 4-5-4 calendar.BI
DerivedSales to plan %, Stock to sales, Turn, Sell-through, Forward cover in weeks, Markdown rate, Margin rate, Plan varianceComputed in the presentation view from the stored measures, so a rate change is a view change.BIAI
GovernancePlan version, Locked flag, Last rescaled, Rescale factor, OwnerA rescale of sales, markdown and stock invalidates end-of-period stock and OTB, which must be recomputed in the same step.BI

Purchase commitments

GroupAttributesNotesUsed by
IdentityPO number, Line, Vendor, Style, Colour, Size, SKU, Class, Department, Season, Order date, Date required, Cancel date, Due periodDue period = the retail period of the required date, or the cancel date when later; this is the period whose OTB the line consumes.BIAI
QuantitiesOrdered, Received, Cancelled, Open units (ordered − received − cancelled), Status (open, partial, complete, cancelled)One definition of open, applied everywhere. Summing ordered units without a status filter overstates commitment by a multiple.BIAI
ValuesUnit cost, Unit retail (regular), Open cost, Open retail, Received cost, Received retail, Landed cost, Currency, Exchange rateRetail valued at regular price so plan and commitment are on the same basis; cost for cash and margin.BI
SupplyLead time (weeks), Ship mode, DC or direct-to-store, Confirmed flag, First receipt dateLead time is a vendor attribute and drives when a buy must be placed to land in its period.BIAI

OTB position

GroupAttributesNotesUsed by
IdentityClass, Period key, As-of date, Plan versionDerived nightly from the plan and the commitments; never keyed by hand.BI
InputsStock plan end of period, Sales plan, Markdown plan, Opening stock (actual if elapsed, planned if not), Received to date, On order for the periodEach input is a column so the subtraction can be audited on screen.BIAI
ResultOTB retail, OTB cost, OTB units, Over-bought flag, Cumulative OTB to season endUnits and retail computed with the same terms; an OTB that subtracts on-order in retail but not in units is wrong in one of them.BIAI
ReforecastForecast sales for the period, Forecast end stock, Forecast OTB, Plan driftThe demand fact re-projects the period; the gap between planned and forecast OTB is the reforecast signal.AI
OTB(period) = StockPlan(end of period) + SalesPlan + MarkdownPlan − Stock(beginning of period) − OnOrder(due in period) − Received(to date in period)

Demand features

GroupAttributesNotesUsed by
IdentityStyle, Colour, Class, Season code, Lifecycle stage, First received, Weeks in stockWeeks in stock caps the averaging window so a new style is not divided by weeks it did not exist.AI
HistoryWeekly units for the trailing year (W1 onward), Trailing 4, 13, 26 and 52-week totals, Markdown units, Year-to-dateThe week in progress is never used: it is incomplete and lagging by construction.BIAI
Rate and horizonsDe-seasonalised base weekly rate, Seasonality index by week, Forward factors, Forecast 4, 13, 26 and 52 weeksRolling horizons carry a forward seasonal factor; the 52-week horizon carries none because it spans one full cycle.AI
ApportioningStore index, Size index, Size curve by model, style or colourIndices sum to one per style, so a class total and a size tile reconcile.AI
ProductivityGross margin trailing 12 months, Inventory at cost, GMROI, TurnRanks what deserves the OTB, not just what needs it.BIAI

Buy requirement

GroupAttributesNotesUsed by
IdentityStyle, Colour, Size, SKU, Vendor, Class, Horizon (4, 13, 26, 52 weeks), Size basis (model, style, colour)Horizon is discrete and matches the demand fact; never linearly extrapolated.BIAI
SupplyOn hand (stores), On hand (DC), On order, Available to sell, Work orders openAvailable to sell = on hand + on order − committed work orders, at the grain being bought.BIAI
RequirementForecast for horizon, Requirement (forecast − available, floored at zero), Requirement by size (largest-remainder rounded), Suggested PO units, Estimated landed costSize rounding ties exactly to the colour total, so a PO never drifts from its requirement.BIAI
Blank and private label styleBlank style, Private label styles on the blank, Blank supply (blank on hand + finished private label styles + blank on order − private label on order), Private label requirement (cut), Blank requirement (buy)Two outputs per colour and size: what to cut from blanks already owned, and what raw blanks to buy. Finished private label styles count as supply.BIAI
OTB checkClass and due period of the buy, OTB remaining before, OTB remaining after, Over-OTB flagPosts the buy against the period it lands in, so the plan grid and the PO workbench agree before the order is placed.BIAI

Functional areas and what each reads

Functional areaReadsDeciding attributesBI outputAI output
Financial planningPlan (division level)Sales, markdown, margin, stock targets by period; LYTop-down plan grid by division and period with LY and varianceSeasonal shape and growth proposals from history and forecast
Class planningPlan (class level), DemandClass sales and stock plan, sell-through, forward coverBottom-up plan grid; reconciliation to the financial plan; rescaleClass-level reforecast and plan-drift alerts
Open-to-buy managementOTB, Plan, CommitmentsEnd stock plan, opening stock, on order due, received to dateOTB by class and period in retail, cost and units; over-bought flags; cumulative OTBBuy timing: which periods to release, which to hold
Purchasing and PO workbenchCommitments, Buy requirementOpen units and value by due period, vendor, lead time; requirement by sizeOpen by month, retail by month, WIP by week; PO creation from the suggested quantitiesSuggested POs per style, colour and size for a chosen horizon
Private-label and private label planningBuy requirement (blank and private label)Blank supply, private label forecast, size curve by blankCut versus buy by colour and size; blank size curve versus each colour's curveBlank reorder and production work-order suggestions that respect finished stock
In-season reforecast and markdownDemand, Plan actualsSales to plan, forward cover, weeks of supply, markdown rateSales-to-plan trend, cover bands, markdown candidatesReforecast of remaining periods; markdown timing by cover
Store sales budgetingPlan (store, day grain)Weekly store budgets for sales, units, tickets, traffic, hoursStore plan by week and month versus actuals; conversion, sales per hour, UPT reconstructedStore-level reforecast from traffic and conversion trend
Vendor and lead timeCommitments, DemandLead time, confirmed flag, first receipt, fill against orderVendor open and received, late lines, fill rateOrder-by dates per vendor for each horizon

Rules the dataset carries

Calendar and plan integrity

  • Scope by the retail calendar. Periods and years come from the calendar table; nothing derives a period from a date function, and the January weeks belong to the retail year that started the previous February.
  • Plan and actual never share a column. Actuals arrive as periods close; plan columns stay as written so variance can be read for the whole year.
  • End-of-period stock is a snapshot. It is compared, not summed. Flow measures (sales, markdown, receipts) are additive across periods; stock is not.
  • Rescale recomputes downstream. A change to sales, markdown or stock plan recomputes end-of-period stock and OTB in the same step, and never resets the commitment columns.

Commitment and OTB

  • One definition of open. Ordered minus received minus cancelled, excluding completed and cancelled orders, keyed to the due period, valued at regular retail and at cost. Every consumer reads the same fact.
  • Units and retail move together. OTB in units subtracts on-order units exactly as OTB in retail subtracts on-order retail; the two are written in one statement so they cannot drift.
  • Every class row has a department. A commitment that cannot be placed in the hierarchy is held in an exceptions pool and reported, not silently dropped or summed into a blank row.
  • The plan ties the PO ledger. The sum of on-order across the plan equals the sum of open across the commitments, and the check runs after every load.

Demand and buy

  • One rate, de-seasonalised. The base weekly rate averages completed weeks only, over weeks the style was in stock, divided by their seasonal weight. Nothing re-derives a rate from raw sales rows.
  • Discrete horizons. A buy is sized at 4, 13, 26 or 52 weeks from the demand fact; a 26-week forecast doubled is not a 52-week forecast.
  • Supply includes what is already committed. On order and work orders in progress reduce the requirement, and finished private-label stock counts as blank supply.
  • Sizes tie to the colour. The size split uses the chosen size curve with largest-remainder rounding, so the PO total equals the requirement that justified it.

Process workflow

The planning cycle is annual with a monthly turn. The Hub runs the loads and the derivations; planners and buyers run the middle; the AI layer reforecasts and suggests, then learns from what was bought and how it sold.

01
Plan
Financial plan by division and period; class plan built beneath it and reconciled. Store budgets spread from weeks to days.
02
Load
Nightly: actuals from the monthly movement ledger, commitments from the PO ledger, demand features from completed weeks.
03
Derive OTB
Per class and period: opening stock, on order due, received to date, OTB in retail, cost and units. Tie plan to PO ledger.
04
Reforecast
Demand fact re-projects each open period; plan drift and over-bought periods are flagged with drivers.
05
Suggest the buy
Requirement by style, colour and size for the horizon, netted of supply, posted against the period's OTB.
06
Commit
Buyers review in the workbench, adjust sizes and vendors, and raise the PO; the commitment fact consumes the OTB the same night.
07
Learn
Receipts, sell-through and markdowns close the loop: seasonality and indices refresh; horizon accuracy is scored.

Cadence

WhenStepOutputOwner
Annually, then by seasonPlanFinancial and class plans; store weekly budgetsMerchandise planning, finance, store operations
NightlyLoad, derive OTB, reforecastActuals, commitments, OTB position, demand features, drift flagsAI Data Hub
WeeklySuggest and commitSuggested POs by horizon; purchase orders raised; OTB consumedBuyers, planners
Period closeActualiseElapsed periods locked; plan versus actual; LY rolledMerchandise planning
MonthlyLearn and tuneSeasonality and index refresh, horizon accuracy, lead-time reviewPlanning, data science

Where BI ends and AI begins

BI on the planning dataset

QuestionPlan, actual, committed, remaining
UnitRetail, cost, units by period
SurfacePlan grid, OTB, purchasing matrix, PO workbench
RulesCalendar, open definition, OTB formula
OutputNumbers a buyer commits against

AI on the same dataset

QuestionIs the plan still right, and what to buy
UnitForecasts, requirements, drift
SurfaceSuggested POs, reforecast, insight pages
RulesLearned from sell-through and receipts
OutputA buy sized to demand and OTB

Both read the same five facts. The OTB a planner sees is the number a suggested PO is checked against, and the PO that results is the commitment the grid shows the next morning.

What a conforming dataset delivers

Target outcomes from a Merchandise Planning & OTB dataset deployment

An OTB that ties. Plan, commitments and PO ledger agree to the unit and the dollar every night, in retail, cost and units, with exceptions listed rather than lost.

A buy sized to the sell. Requirements come from a de-seasonalised rate at discrete horizons, netted of every committed unit, split to size without drift, and posted against the period they land in.

Plans that learn. Actuals and reforecasts sit beside the plan for the whole year, so the next plan starts from measured drift, not from last year's spreadsheet.

5
Facts on one retail calendar
1 open
Definition of commitment, everywhere
4 horizons
4, 13, 26 and 52 weeks, never extrapolated

Deployment approach

01
Map calendar, hierarchy and PO status · Week 1

Load the retail calendar, map the class hierarchy the plan is kept at, and define open for the PO ledger: status codes, received and cancelled quantities, due-period rule, retail and cost basis.

02
Load plan, actuals and commitments · Weeks 2–3

Import the current plan, actualise elapsed periods from the movement ledger, load commitments and prove the plan ties the PO ledger. Derive OTB and publish the plan grid and purchasing reports.

03
Demand and buy · Week 4

Build the demand features and the buy requirement, including the private-label cut-versus-buy variant, and reconcile the suggested quantities across the workbench, the style card and the planning grid.

04
Close the loop · Weeks 5–6

Post suggested buys against OTB, switch on reforecast and drift flags, load store weekly budgets, and start the monthly seasonality, index and horizon-accuracy review.