1. Objective The Product Master dataset supports:
- Linking transactions to products
- Margin calculation (via unit_cost)
- Category-level analytics
- Brand & assortment analysis
- Elasticity modeling
- Price corridor analysis
One sellable product (SKU level)
2. Referential integrity (critical)
The following fields must match exactly with Transaction History:| Product File | Transaction File |
|---|---|
| product_id | product_id |
product_iddoes not match, transactions cannot be linked.
3. Product Master – Unified Specification
| Field Name | Required | Type | Format | Description | Example | Alternative Names |
|---|---|---|---|---|---|---|
| product_id | ✅ Yes | string | Unique | Unique product identifier (used in transactions) | P001 | |
| product_name | ✅ Yes | string | Text | Full product name | Cordless Drill 18V Blue | SKU Name, Product Title, Product Variant Name |
| price | ✅ Yes | decimal(12,2) | Dot separator | The actual selling price. Current Price | 129.99 | Current Price, Actual Price |
| unit_cost | ✅ Yes | decimal(12,2) | 2 decimals | Cost per unit at time of sale | 80.00 | Cost Price, Purchase Cost, Purchase Price |
| sku | ⬜ Optional | string | Text | Stock Keeping Unit | SKU-1001 | SKU Code |
| barcode | ⬜ Optional | string | EAN/UPC | Barcode value | 5901234123457 | EAN, UPC, GTIN |
| brand | ⬜ Optional | string | Text | Brand name | Bosch | Brand Name, Label, Trademark |
| manufacturer | ⬜ Optional | string | Text | Manufacturer name | Bosch | Producer, Vendor, Supplier |
| product_group | ⬜ Optional | string | Text | Logical product group | Drill-18V | Pricing group, Assortment Group, Product family |
| status | ⬜ Optional | string | active / inactive | Product lifecycle status | active | Lifecycle Status, Availability status |
| stock | ⬜ Optional | integer | ≥ 0 | Current stock level | 125 | Inventory level, Stock_on_hand, Available quantity |
| product_type | ⬜ Optional | string | Text | Product classification | Power Tools | Item type |
| category1 | ⬜ Optional | string | Text | Top-level category | Tools | Department |
| category2 | ⬜ Optional | string | Text | Subcategory | Power Tools | |
| category3 | ⬜ Optional | string | Text | Subcategory level 3 | Drills | |
| category4 | ⬜ Optional | string | Text | Subcategory level 4 | Cordless | |
| category5 | ⬜ Optional | string | Text | Subcategory level 5 | 18V | |
| image_url | ⬜ Optional | string | URL | Product image URL | https://… | |
| product_url | ⬜ Optional | string | URL | Product page URL | https://… | |
| rrp | ⬜ Optional | decimal(12,2) | 2 decimals | Recommended retail price | 129.99 | MSRP, List Price, Recommended Price |
| regular_price | ⬜ Optional | decimal(12,2) | Dot separator | The standard, non-discounted price of the product | 139.99 | Base price, Normal price, Standard price |
| product_created_date | ⬜ Optional | date | YYYY-MM-DD | Product creation date | 2024-01-15 | Product Launch date |
| price_effective_date | ⬜ Optional | date | YYYY-MM-DD | Price effective date | 2026-02-01 | Price start date, Price valid from |
| cost_effective_date | ⬜ Optional | date | YYYY-MM-DD | Cost effective date | 2026-01-15 | Cost start date, Cost valid from |
| size | ⬜ Optional | decimal or string | Numeric or text | Size value | 12 | Cariant size |
| uom | ⬜ Optional | string | Unit code | Unit of measure | pcs | Unit, Measurement unit |
| tax_rate | ⬜ Optional | decimal(5,4) | 0–1 | VAT rate (0.20 = 20%) | 0.20 | Tax rate, Vat percentage |
| currency | ⬜ Optional | string(3) | ISO code | Currency | EUR | Currency code, Iso currency |
4. Alignment with transaction schema
4.1 Keys Mandatory alignment:currency, product file must include **currency
**4.3 VAT Consistency **If VAT is included in transaction prices:
- Provide vat_rate in product file
- Clarify whether unit_price in transactions is gross or net
5. Data format requirements
5.1 Dates- Decimal separator:
. - No currency symbols
- No thousand separators
6. Custom attributes (extensibility model)
You can add additional attributes as extra columns. Examples:- material
- color
- season
- gender
- supplier_id
- competitor_reference
- margin_group
- elasticity_cluster
- Must not overwrite required column names
- Must follow consistent naming
- Must contain a single value per row
- No nested JSON inside Excel cells
| product_id | product_name | material | color |
|---|---|---|---|
| P001 | Tent 3P | Polyester | Green |
7. File format
Accepted:- CSV (UTF-8 preferred)
- XLSX
No formulas.
Raw data only.
