FMCG Manufacturing Product Performance Set (EU)
Overview
This longitudinal fmcg manufacturing product performance set connects company, plant, product, material, batch, quality, location, channel, customer, shipment, inventory, promotion, sales, return, trade-spend, finance, rating and forecast data. It separates modelled observations, estimates and projections and preserves feature-source cutoffs for time-aware predictive evaluation. Real geography and official standards provide context only. Commercial entities, people, assets, transactions, measurements and financial values are modelled.
Analytics
Four entries from the packaged tables, with the performance the dataset records for them. Every value below is read from the shipped files.

Row Counts by Table
Counted from the files that ship, not estimated.
| Table | Rows |
|---|---|
| eu_fmcg_years | 12 |
| eu_fmcg_countries | 8 |
| eu_fmcg_companies | 8 |
| eu_fmcg_plants | 12 |
| eu_fmcg_categories | 22 |
| eu_fmcg_products | 132 |
| eu_fmcg_product_media | 36 |
| eu_fmcg_materials | 40 |
| eu_fmcg_bill_of_materials | 523 |
| eu_fmcg_production_batches | 30,585 |
| eu_fmcg_quality_tests | 30,585 |
| eu_fmcg_locations | 12 |
| eu_fmcg_channels | 7 |
| eu_fmcg_customers | 40 |
| eu_fmcg_shipments | 30,585 |
| eu_fmcg_inventory_monthly | 45,756 |
| eu_fmcg_promotions | 2,958 |
| eu_fmcg_sales_monthly | 166,996 |
| eu_fmcg_returns | 16,879 |
| eu_fmcg_trade_spend | 10,168 |
| eu_fmcg_product_financials | 10,168 |
| eu_fmcg_consumer_ratings | 10,168 |
| eu_fmcg_forecast_features | 10,168 |
| eu_fmcg_sales_forecasts | 10,168 |
Table Relationships
One parent record and seven child tables, each joined back on the same key.
Schema
Every table ships with typed columns, referential integrity, and documentation.
| Column | Type | Description |
|---|---|---|
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| calendar_year | integer | Calendar year for the eu_fmcg_years record. |
| period_start | date | Period start for the eu_fmcg_years record. |
| period_end | date | Period end for the eu_fmcg_years record. |
| source_status | varchar(32) | source status in the declared lifecycle or operational vocabulary. |
| Column | Type | Description |
|---|---|---|
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| country_code | varchar(8) | Stable code for country. |
| country_name | varchar(24) | Human-readable country name; names are fictional where the disclosure states so. |
| region_name | varchar(16) | Human-readable region name; names are fictional where the disclosure states so. |
| currency_code | varchar(8) | Stable code for currency. |
| price_level_index | numeric(7,2) | price level index as the declared analytical measure. |
| Column | Type | Description |
|---|---|---|
| company_id | varchar(16) | Stable identifier for company; use it for declared joins. |
| company_code | varchar(8) | Stable code for company. |
| company_name | varchar(32) | Human-readable company name; names are fictional where the disclosure states so. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| portfolio_strategy | varchar(24) | Portfolio strategy for the eu_fmcg_companies record. |
| fictional_entity_flag | boolean | Boolean indicator for fictional entity. |
| Column | Type | Description |
|---|---|---|
| plant_id | varchar(16) | Stable identifier for plant; use it for declared joins. |
| company_id | varchar(16) | Stable identifier for company; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| plant_name | varchar(24) | Human-readable plant name; names are fictional where the disclosure states so. |
| city_name | varchar(16) | Human-readable city name; names are fictional where the disclosure states so. |
| process_type | varchar(24) | Process type for the eu_fmcg_plants record. |
| annual_capacity_t | integer | Annual capacity t for the eu_fmcg_plants record. |
+3 more columns in eu_fmcg_plants. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| category_id | varchar(16) | Stable identifier for category; use it for declared joins. |
| category_code | varchar(8) | Stable code for category. |
| category_name | varchar(32) | Human-readable category name; names are fictional where the disclosure states so. |
| storage_class | varchar(16) | Storage class for the eu_fmcg_categories record. |
| shelf_life_days | integer | Shelf life days for the eu_fmcg_categories record. |
| demand_pattern | varchar(24) | Demand pattern for the eu_fmcg_categories record. |
| Column | Type | Description |
|---|---|---|
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| company_id | varchar(16) | Stable identifier for company; use it for declared joins. |
| category_id | varchar(16) | Stable identifier for category; use it for declared joins. |
| product_code | varchar(16) | Stable code for product. |
| product_name | varchar(40) | Human-readable product name; names are fictional where the disclosure states so. |
| pack_size | integer | Pack size for the eu_fmcg_products record. |
| pack_unit | varchar(16) | Pack unit for the eu_fmcg_products record. |
+6 more columns in eu_fmcg_products. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| product_media_id | varchar(16) | Stable identifier for product media; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| image_file | varchar(24) | Image file for the eu_fmcg_product_media record. |
| image_format | varchar(16) | Image format for the eu_fmcg_product_media record. |
| image_width_px | integer | Image width px for the eu_fmcg_product_media record. |
| image_height_px | integer | Image height px for the eu_fmcg_product_media record. |
| packaging_variant | varchar(24) | Packaging variant for the eu_fmcg_product_media record. |
+2 more columns in eu_fmcg_product_media. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| material_id | varchar(16) | Stable identifier for material; use it for declared joins. |
| material_code | varchar(8) | Stable code for material. |
| material_name | varchar(32) | Human-readable material name; names are fictional where the disclosure states so. |
| material_group | varchar(16) | Material group for the eu_fmcg_materials record. |
| unit_of_measure | varchar(16) | Unit of measure for the eu_fmcg_materials record. |
| allergen_or_hazard_code | varchar(16) | Stable code for allergen or hazard. |
| unit_cost_usd | numeric(6,2) | unit cost in United States dollars. |
+2 more columns in eu_fmcg_materials. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| bom_item_id | varchar(16) | Stable identifier for bom item; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| material_id | varchar(16) | Stable identifier for material; use it for declared joins. |
| quantity_per_unit | numeric(7,4) | Quantity per unit for the eu_fmcg_bill_of_materials record. |
| scrap_factor_pct | numeric(5,2) | scrap factor expressed as a percentage. |
| effective_from | date | effective from as an ISO 8601 calendar date. |
| effective_to | text | effective to as an ISO 8601 calendar date. |
+1 more columns in eu_fmcg_bill_of_materials. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| production_batch_id | varchar(16) | Stable identifier for production batch; use it for declared joins. |
| plant_id | varchar(16) | Stable identifier for plant; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| batch_date | date | batch date as an ISO 8601 calendar date. |
| lot_code | varchar(16) | Stable code for lot. |
| planned_units | integer | Planned units for the eu_fmcg_production_batches record. |
+7 more columns in eu_fmcg_production_batches. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| quality_test_id | varchar(16) | Stable identifier for quality test; use it for declared joins. |
| production_batch_id | varchar(16) | Stable identifier for production batch; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| test_date | date | test date as an ISO 8601 calendar date. |
| test_type | varchar(24) | Test type for the eu_fmcg_quality_tests record. |
| measured_value | numeric(8,2) | Measured value for the eu_fmcg_quality_tests record. |
+5 more columns in eu_fmcg_quality_tests. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| location_id | varchar(16) | Stable identifier for location; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| location_code | varchar(8) | Stable code for location. |
| location_name | varchar(40) | Human-readable location name; names are fictional where the disclosure states so. |
| location_type | varchar(24) | Location type for the eu_fmcg_locations record. |
| city_name | varchar(16) | Human-readable city name; names are fictional where the disclosure states so. |
| capacity_units | integer | Capacity units for the eu_fmcg_locations record. |
+2 more columns in eu_fmcg_locations. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| channel_id | varchar(8) | Stable identifier for channel; use it for declared joins. |
| channel_code | varchar(8) | Stable code for channel. |
| channel_name | varchar(24) | Human-readable channel name; names are fictional where the disclosure states so. |
| channel_group | varchar(24) | Channel group for the eu_fmcg_channels record. |
| margin_structure | varchar(24) | Margin structure for the eu_fmcg_channels record. |
| Column | Type | Description |
|---|---|---|
| customer_id | varchar(16) | Stable identifier for customer; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| channel_id | varchar(8) | Stable identifier for channel; use it for declared joins. |
| customer_code | varchar(8) | Stable code for customer. |
| customer_name | varchar(40) | Human-readable customer name; names are fictional where the disclosure states so. |
| customer_tier | varchar(32) | Customer tier for the eu_fmcg_customers record. |
| payment_terms_days | integer | Payment terms days for the eu_fmcg_customers record. |
+2 more columns in eu_fmcg_customers. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| shipment_id | varchar(16) | Stable identifier for shipment; use it for declared joins. |
| production_batch_id | varchar(16) | Stable identifier for production batch; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| customer_id | varchar(16) | Stable identifier for customer; use it for declared joins. |
| location_id | varchar(16) | Stable identifier for location; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| shipment_date | date | shipment date as an ISO 8601 calendar date. |
+7 more columns in eu_fmcg_shipments. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| inventory_month_id | varchar(16) | Stable identifier for inventory month; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| location_id | varchar(16) | Stable identifier for location; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| month_number | varchar(8) | Month number for the eu_fmcg_inventory_monthly record. |
| opening_units | integer | Opening units for the eu_fmcg_inventory_monthly record. |
| receipts_units | integer | Receipts units for the eu_fmcg_inventory_monthly record. |
+7 more columns in eu_fmcg_inventory_monthly. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| promotion_id | varchar(16) | Stable identifier for promotion; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| customer_id | varchar(16) | Stable identifier for customer; use it for declared joins. |
| channel_id | varchar(8) | Stable identifier for channel; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| starts_on | date | starts on as an ISO 8601 calendar date. |
| ends_on | date | ends on as an ISO 8601 calendar date. |
+5 more columns in eu_fmcg_promotions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| sales_month_id | varchar(16) | Stable identifier for sales month; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| customer_id | varchar(16) | Stable identifier for customer; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| channel_id | varchar(8) | Stable identifier for channel; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| month_number | varchar(8) | Month number for the eu_fmcg_sales_monthly record. |
+9 more columns in eu_fmcg_sales_monthly. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| return_id | varchar(16) | Stable identifier for return; use it for declared joins. |
| shipment_id | varchar(16) | Stable identifier for shipment; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| customer_id | varchar(16) | Stable identifier for customer; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| return_date | date | return date as an ISO 8601 calendar date. |
| quantity_units | integer | Quantity units for the eu_fmcg_returns record. |
+5 more columns in eu_fmcg_returns. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| trade_spend_id | varchar(16) | Stable identifier for trade spend; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| customer_id | varchar(16) | Stable identifier for customer; use it for declared joins. |
| channel_id | varchar(8) | Stable identifier for channel; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| spend_type | varchar(32) | Spend type for the eu_fmcg_trade_spend record. |
| planned_usd | numeric(11,2) | planned in United States dollars. |
+5 more columns in eu_fmcg_trade_spend. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| product_financial_id | varchar(16) | Stable identifier for product financial; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| revenue_usd | numeric(12,2) | revenue in United States dollars. |
| variable_cost_usd | numeric(11,2) | variable cost in United States dollars. |
| manufacturing_variance_usd | numeric(10,2) | manufacturing variance in United States dollars. |
+6 more columns in eu_fmcg_product_financials. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| consumer_rating_id | varchar(16) | Stable identifier for consumer rating; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| rating_date | date | rating date as an ISO 8601 calendar date. |
| overall_rating | numeric(4,1) | overall rating as the declared analytical measure. |
| taste_or_performance_rating | numeric(4,1) | taste or performance rating as the declared analytical measure. |
+5 more columns in eu_fmcg_consumer_ratings. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| forecast_feature_id | varchar(16) | Stable identifier for forecast feature; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| channel_id | varchar(8) | Stable identifier for channel; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| feature_source_cutoff | date | Latest source date available to the feature row; it precedes the prediction target. |
| lag_units_1y | integer | Lag units 1y for the eu_fmcg_forecast_features record. |
+8 more columns in eu_fmcg_forecast_features. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| sales_forecast_id | varchar(16) | Stable identifier for sales forecast; use it for declared joins. |
| forecast_feature_id | varchar(16) | Stable identifier for forecast feature; use it for declared joins. |
| product_id | varchar(16) | Stable identifier for product; use it for declared joins. |
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| channel_id | varchar(8) | Stable identifier for channel; use it for declared joins. |
| year_id | varchar(8) | Stable identifier for year; use it for declared joins. |
| forecast_created_on | date | forecast created on as an ISO 8601 calendar date. |
+9 more columns in eu_fmcg_sales_forecasts. The full schema ships with the download.
Sample Data
A snapshot of real rows from the dataset (values are fully synthetic).
| bom_item_id | product_id | material_id | quantity_per_unit | scrap_factor_pct | effective_from | effective_to |
|---|---|---|---|---|---|---|
| BOM000001 | PRD00001 | MAT00001 | 0.0919 | 2.5 | 2015-01-01 | |
| BOM000002 | PRD00001 | MAT00012 | 0.3085 | 2.7 | 2015-01-01 | |
| BOM000003 | PRD00001 | MAT00023 | 0.1197 | 2.45 | 2015-01-01 |
Version History
| v2.0.2 | 2026-08-14 | Production plans to the month it serves and closes a third of the gap to target stock, the way a sales and operations cycle does, so output tracks demand within a tenth instead of swinging between nothing and four times it. Every distribution centre is rated for the stock it actually holds, with headroom: the warehouses had been carrying up to forty-five times their declared capacity. Inventory settles at two months of cover, the 55 to 75 days the industry reports. The product packshots that ship in the image directory are refreshed in this release; the data, its schema and every identifier are unchanged from 2.0.1. |
Related Datasets
European Skincare Product Operations and Sales Analytics Set (EU)
RetailCPGSKN934 is a deterministic synthetic skincare operations and sales warehouse for fictional London-based Alderquay, linking brands and products to research, regulation, sourcing, production, inventory, customers, sales teams, returns, disposal and profitability across Europe, North America and selected Asian markets.
FMCG Manufacturing Product Performance Set (US)
RetailA complete United States analytical warehouse covering company, plant, product, material, batch, quality, location, channel, customer, shipment, inventory, promotion, sales, return, trade-spend, finance, rating and forecast data.
Food Traceability, Recall, HACCP and Cold-Chain Analytics Set (US)
RetailFNBTRC999 is a deterministic synthetic food traceability warehouse linking a modelled food group, farms, suppliers, production, lots, safety controls, cold-chain transport, sales, recalls and finance.