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.
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.
| Column | Required | Type | Format / example | Notes |
|---|---|---|---|---|
SKU | required | text | KL-100 | Unique identifier for the article. One row per launch in the wide layout. |
Category | required | text | Valves | Used to find comparable launches, the single most important match criterion. |
Launch Date | required | date | 2024-03-01 · 01-03-2024 · an Excel date cell | Day-first is assumed for ambiguous text dates. The month drives season matching. |
Price | required | number | 119.50 · 119,50 | Selling price. Comma and dot decimals both work, as do thousands separators. |
Week 1 … Week N | required | number | 22, 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 + Units | alternative | number | Week = 3, Units = 38 | Long layout instead of Week 1…N: one row per SKU per week. Use either layout, not both. |
Stock 1 … Stock N | optional | 0/1 · yes/no | 1, 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 N | optional | 0 to 7 | 7, 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 Cost | optional | number | 88.00 | Only the new product's cost is needed for the economics; this is context. |
Subcategory | optional | text | Ball valves | Sharpens the match when several product families share a category. |
Brand | optional | text | Rimex | Shown with each comparable so you can judge the match yourself. |
Original Forecast Units per Week | optional | number | 30 | The 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 Units | optional | number | 800 | Units you ordered on the first purchase order. Not units received, not units allocated to branches. |
MOQ Units | optional | number | 250 | The supplier minimum that applied when that order was placed. |
Lead Time Weeks | optional | number | 8 | The lead time you expected at the time of the order, not the one that turned out to be true. |
Review Time Weeks | optional | number | 2 | How 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
| SKU | Category | Launch Date | Price | Week 1 | Week 2 | Week 3 | Stock 1 | Days 3 |
|---|---|---|---|---|---|---|---|---|
| KL-100 | Valves | 2024-03-01 | 119.50 | 22 | 31 | 38 | 1 | 7 |
| KL-140 | Valves | 2024-09-01 | 139,50 | 18 | 26 | 29 | 1 | 7 |
| PM-220 | Pumps | 2024-10-15 | 289.00 | 9 | 14 | 2 | 0 | 2 |
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.