File format

What SKUZero expects in a launch-history upload. Everything is parsed in your own browser. This page is a reference you can send to whoever produces the export.

skuzero-launch-template.csv: the exact header row, with two filled-in example launches.

Column names must be in English. If your export calls them something else, renaming the single header row is enough. The data underneath does not have to change. Matching ignores case, spaces, dots and underscores, so Launch Date, launch_date and LAUNCHDATE are the same column. Required: SKU, Category, Launch Date, Price, Week 1…Week N.

ColumnRequiredTypeFormat / exampleNotes
SKUrequiredtextKL-100Unique identifier for the article. One row per launch in the wide layout.
CategoryrequiredtextValvesUsed to find comparable launches, the single most important match criterion.
Launch Daterequireddate2024-03-01 · 01-03-2024 · an Excel date cellDay-first is assumed for ambiguous text dates. The month drives season matching.
Pricerequirednumber119.50 · 119,50Selling price. Comma and dot decimals both work, as do thousands separators.
Week 1 … Week Nrequirednumber22, 31, 38, …Units sold per week after launch, one column per week (wide layout). At least 2 weeks; fewer than 6 is accepted but flagged as thin evidence.
Week + UnitsalternativenumberWeek = 3, Units = 38Long layout instead of Week 1…N: one row per SKU per week. Use either layout, not both.
Stock 1 … Stock Noptional0/1 · yes/no1, 1, 0, 1 …Whether the article was in stock that week. Strongly recommended: it makes the stock-out correction far more reliable than guessing from the curve. In the long layout, use a single In Stock column.
Days 1 … Days Noptional0 to 77, 7, 2, 7 …Days the article was actually available that week. Worth more than the flag beside it: 30 units sold across two days in stock says the week's demand was about 105, where a flag only says the week was interrupted. If you can get it out of your ERP, this is the single most valuable optional column. In the long layout, use a single In Stock Days column.
Purchase Costoptionalnumber88.00Only the new product's cost is needed for the economics; this is context.
SubcategoryoptionaltextBall valvesSharpens the match when several product families share a category.
BrandoptionaltextRimexShown with each comparable so you can judge the match yourself.
Original Forecast Units per Weekoptionalnumber30The estimate you were working from immediately before you placed the first order, as a weekly rate. The frozen one, not a revised one.
Actual Initial Order Unitsoptionalnumber800Units you ordered on the first purchase order. Not units received, not units allocated to branches.
MOQ Unitsoptionalnumber250The supplier minimum that applied when that order was placed.
Lead Time Weeksoptionalnumber8The lead time you expected at the time of the order, not the one that turned out to be true.
Review Time Weeksoptionalnumber2How long you planned to wait before the next ordering decision.

The five decision-time columns

The last five are optional and they go together. With them, the backtest can compare the forecast you were working from and the order you actually placed against what SKUZero would have recommended. Without them it still scores forecast accuracy, and simply has less to say.

Every one of them means the value you had before the first purchase order went out. That is the whole point of the block, and the one way to get it wrong. A forecast revised in week six, or the lead time that turned out to be true rather than the one quoted, would put knowledge into the check that nobody had on the day. The result would flatter or punish a decision using information that did not exist when it was made, which is worth less than not running the check at all.

So: the frozen estimate rather than a later one, units ordered rather than units received, and the minimum and the lead time that applied at the moment of that order. If a figure is not recorded anywhere, leave the cell blank. A blank costs that launch one comparison and nothing else, and a guess costs you the answer.

What the file should look like

SKUCategoryLaunch DatePriceWeek 1Week 2Week 3Stock 1Days 3
KL-100Valves2024-03-01119.5022313817
KL-140Valves2024-09-01139,5018262917
PM-220Pumps2024-10-15289.00914202

One row per launch, weeks counted from the launch date (not calendar weeks). Both 119.50 and 119,50 are read as the same price. CSV or Excel, comma or semicolon separated: all four combinations are handled.