# Governance for seasonal, size-curve, and channel data
A denim brand runs its Monday sales meeting. Wholesale reports "Spring '26 sold through at 62 percent." E-commerce says the same style is "still 40 percent in stock." Retail insists the season already ended. All three are right, and all three are looking at different definitions of the same product, the same season, and the same inventory. Nobody can act.
This is the daily reality of ungoverned fashion data. The numbers are not wrong. They are unreconciled. This lesson shows you how to fix that with ownership, definitions, and refresh cadences for the three most volatile datasets in apparel: season codes, size curves, and channel-level inventory.
Most data-quality problems in apparel are not calculation errors. They are definition conflicts. Three structural features make fashion especially fragile:
Governance is the discipline of making these agree. Not by forcing one truth, but by defining terms, assigning owners, and setting when data refreshes.
A season code is the identifier that groups products by their selling period (for example, SS26 for Spring/Summer 2026). It is the single most abused field in fashion data because everyone assumes it means the same thing. It does not.
Governance requires you to name each phase and attach a date rule:
| Phase | Definition | Owner |
|---|---|---|
| Design season | When the collection was designed | Product / Merchandising |
| Ship season | When goods are delivered to a channel | Supply Chain |
| Selling season | When the product is on the floor / live | Channel teams |
| Markdown phase | When full-price selling ends | Merchandising |
The failure mode: a planner filters "SS26 sell-through" using ship season, while finance reports using selling season. The gap is weeks, and the numbers never tie.
Rule to adopt: one field per phase, never a single "season" column doing four jobs. Store design_season, ship_season, and selling_season separately.
Assign a data owner (accountable for the definition) and a data stewarddata stewardA business-side owner responsible for the quality, consistency and appropriate use of data in their domain.Voir la définition complète → (maintains the values day to day). Season codes change rarely, so a quarterly review cadence is enough. Lock the code list. New codes require sign-off from the merchandising owner, not ad hoc creation by an analyst.
A size curve is the percentage of units expected or sold across a size range. If a shirt sells XS 10 percent, S 25 percent, M 30 percent, L 25 percent, XL 10 percent, that is its curve.
Size curves drive buying, allocation, and markdown. When they are wrong, you over-buy sizes nobody wants and stock out of the ones they do. This is where broken-size loss (units stranded because the size that sells is gone) originates.
Size curves are computed, not entered, so the risk is methodology drift. Two analysts calculate the "M" share differently: one uses units sold, one uses units received. Same product, different curve.
Define one canonical formula and publish it:
-- Canonical size-curve share, by style and channel
-- Definition: net units sold (sold minus returns) / total net units sold
SELECT
style_id,
channel,
size,
SUM(units_sold - units_returned) AS net_units,
ROUND(
SUM(units_sold - units_returned) * 100.0
/ SUM(SUM(units_sold - units_returned)) OVER (PARTITION BY style_id, channel),
1) AS size_share_pct
FROM fact_sales
WHERE selling_season = 'SS26'
GROUP BY style_id, channel, size;Note PARTITION BY style_id, channel. Curves must be computed per channel. E-com skews larger (returns and try-before-you-buy behavior differ), and retail skews to walk-in demand. A single blended curve hides both.
Say a dress sold these net units in retail: XS 40, S 120, M 150, L 90, XL 20. Total is 420.
Now next season you buy 1,000 units. The governed curve tells you to buy about 357 M and 286 S. If someone had used a stale or blended curve of "20 percent per size," you would have bought 200 M and stocked out in week two.
Size curves refresh weekly during the selling season because early sales reshape the expected curve. Freeze the curve at end of season to serve as the baseline for next year's buy. Owner: planning/allocation lead.
This is where the Monday meeting fell apart. Channel-level inventory means on-hand units by location and by channel: wholesale, owned retail, and e-com.
The word "available" means different things:
E-com typically reports ATS. Wholesale often reports on-hand. Retail may report both under one label. That single-word ambiguity is the root cause of most cross-channel disputes.
Governance rule: every inventory number must carry its definition and its snapshot time. "1,200 units" is meaningless. "1,200 ATS, e-com, as of 06:00 UTC" is auditable.
Cadence must match how fast each channel moves:
Document the cadence in a data contract: a written agreement between the team that produces data and the teams that consume it, specifying schemaschemaA schema is the formal blueprint that defines how data is structured, named, typed, and related within a database, file, or message.Voir la définition complète →, definitions, freshness, and who to call when it breaks. For a practical primer, see dbt's guide to data contracts.
Governance is only real if you measure it. Track these data-quality metrics, not financial ones:
Master ERP says 10,000 units of style SS26-DRESS. Channels report: wholesale 6,000, retail 2,500, e-com 1,400. Sum is 9,900.
Reconciliation gap = (10,000, 9,900) / 10,000 = 1.0 percent.
At the 1 percent threshold, this is a flag, not a crisis, but you investigate the missing 100 units (likely in transit, uncounted). Governance means the gap is visible and assigned, not discovered in a meeting.
Vérification des acquis
1. In the opening scenario, wholesale reports 62% sell-through, e-commerce reports 40% still in stock, and retail says the season already ended. What is the fundamental problem being illustrated?
2. Why does the lesson describe governance as NOT 'forcing one truth'?
3. Why does the lesson argue that a style's sales should be treated as a distribution rather than a single number?
4. Select ALL correct answers about why fashion data is especially fragile for reconciliation.
Sélectionnez toutes les réponses correctes.
5. Select ALL correct answers describing what governance for volatile fashion datasets requires.
Sélectionnez toutes les réponses correctes.
For each of the three datasets, one page answers four questions:
1. What is it? One-sentence definition, no ambiguity.
2. Who owns it? Named owner and steward.
3. How often does it refresh? Explicit cadence with an SLA.
4. How do we know it is right? The quality metric and its threshold.
Season codes: owned by merchandising, quarterly review, measured by orphan rate. Size curves: owned by planning, weekly refresh in season, measured by methodology consistency. Channel inventory: owned per channel with a data contract, refresh matched to velocity, measured by reconciliation gap.
When all three are governed, the Monday meeting changes. Wholesale, retail, and e-com are quoting the same season definition, the same size logic, and inventory numbers that carry their definition and timestamp. The debate moves from "whose number is right" to "what do we do about it."