FMCG Manufacturing Product Performance Set (EU)

MFGFMC920· 376K records · 24 tables · v2.0.2 · Updated 2026-08-14
Retail Consumer Packaged Goods Dataset API
CSV JSON SQL Imagesfmcgeuanalyticsmaintenanceforecastingrelational-data

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.

Crispmorn Classic Cereal
Crispmorn Classic CerealSKU0001Breakfast Cereals
73.2MUnits sold
USD 169MNet sales
41.1%Margin
4.4Rating
Units, thousandsProductionSalesInventory
1 / 4

Row Counts by Table

Counted from the files that ship, not estimated.

TableRows
eu_fmcg_years12
eu_fmcg_countries8
eu_fmcg_companies8
eu_fmcg_plants12
eu_fmcg_categories22
eu_fmcg_products132
eu_fmcg_product_media36
eu_fmcg_materials40
eu_fmcg_bill_of_materials523
eu_fmcg_production_batches30,585
eu_fmcg_quality_tests30,585
eu_fmcg_locations12
eu_fmcg_channels7
eu_fmcg_customers40
eu_fmcg_shipments30,585
eu_fmcg_inventory_monthly45,756
eu_fmcg_promotions2,958
eu_fmcg_sales_monthly166,996
eu_fmcg_returns16,879
eu_fmcg_trade_spend10,168
eu_fmcg_product_financials10,168
eu_fmcg_consumer_ratings10,168
eu_fmcg_forecast_features10,168
eu_fmcg_sales_forecasts10,168

Table Relationships

One parent record and seven child tables, each joined back on the same key.

70%
Loading diagram

Schema

Every table ships with typed columns, referential integrity, and documentation.

eu_fmcg_years· Rows: 12
ColumnTypeDescription
year_idvarchar(8)Stable identifier for year; use it for declared joins.
calendar_yearintegerCalendar year for the eu_fmcg_years record.
period_startdatePeriod start for the eu_fmcg_years record.
period_enddatePeriod end for the eu_fmcg_years record.
source_statusvarchar(32)source status in the declared lifecycle or operational vocabulary.
eu_fmcg_countries· Rows: 8
ColumnTypeDescription
country_idvarchar(8)Stable identifier for country; use it for declared joins.
country_codevarchar(8)Stable code for country.
country_namevarchar(24)Human-readable country name; names are fictional where the disclosure states so.
region_namevarchar(16)Human-readable region name; names are fictional where the disclosure states so.
currency_codevarchar(8)Stable code for currency.
price_level_indexnumeric(7,2)price level index as the declared analytical measure.
eu_fmcg_companies· Rows: 8
ColumnTypeDescription
company_idvarchar(16)Stable identifier for company; use it for declared joins.
company_codevarchar(8)Stable code for company.
company_namevarchar(32)Human-readable company name; names are fictional where the disclosure states so.
country_idvarchar(8)Stable identifier for country; use it for declared joins.
portfolio_strategyvarchar(24)Portfolio strategy for the eu_fmcg_companies record.
fictional_entity_flagbooleanBoolean indicator for fictional entity.
eu_fmcg_plants· Rows: 12
ColumnTypeDescription
plant_idvarchar(16)Stable identifier for plant; use it for declared joins.
company_idvarchar(16)Stable identifier for company; use it for declared joins.
country_idvarchar(8)Stable identifier for country; use it for declared joins.
plant_namevarchar(24)Human-readable plant name; names are fictional where the disclosure states so.
city_namevarchar(16)Human-readable city name; names are fictional where the disclosure states so.
process_typevarchar(24)Process type for the eu_fmcg_plants record.
annual_capacity_tintegerAnnual capacity t for the eu_fmcg_plants record.

+3 more columns in eu_fmcg_plants. The full schema ships with the download.

eu_fmcg_categories· Rows: 22
ColumnTypeDescription
category_idvarchar(16)Stable identifier for category; use it for declared joins.
category_codevarchar(8)Stable code for category.
category_namevarchar(32)Human-readable category name; names are fictional where the disclosure states so.
storage_classvarchar(16)Storage class for the eu_fmcg_categories record.
shelf_life_daysintegerShelf life days for the eu_fmcg_categories record.
demand_patternvarchar(24)Demand pattern for the eu_fmcg_categories record.
eu_fmcg_products· Rows: 132
ColumnTypeDescription
product_idvarchar(16)Stable identifier for product; use it for declared joins.
company_idvarchar(16)Stable identifier for company; use it for declared joins.
category_idvarchar(16)Stable identifier for category; use it for declared joins.
product_codevarchar(16)Stable code for product.
product_namevarchar(40)Human-readable product name; names are fictional where the disclosure states so.
pack_sizeintegerPack size for the eu_fmcg_products record.
pack_unitvarchar(16)Pack unit for the eu_fmcg_products record.

+6 more columns in eu_fmcg_products. The full schema ships with the download.

eu_fmcg_product_media· Rows: 36
ColumnTypeDescription
product_media_idvarchar(16)Stable identifier for product media; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
image_filevarchar(24)Image file for the eu_fmcg_product_media record.
image_formatvarchar(16)Image format for the eu_fmcg_product_media record.
image_width_pxintegerImage width px for the eu_fmcg_product_media record.
image_height_pxintegerImage height px for the eu_fmcg_product_media record.
packaging_variantvarchar(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.

eu_fmcg_materials· Rows: 40
ColumnTypeDescription
material_idvarchar(16)Stable identifier for material; use it for declared joins.
material_codevarchar(8)Stable code for material.
material_namevarchar(32)Human-readable material name; names are fictional where the disclosure states so.
material_groupvarchar(16)Material group for the eu_fmcg_materials record.
unit_of_measurevarchar(16)Unit of measure for the eu_fmcg_materials record.
allergen_or_hazard_codevarchar(16)Stable code for allergen or hazard.
unit_cost_usdnumeric(6,2)unit cost in United States dollars.

+2 more columns in eu_fmcg_materials. The full schema ships with the download.

eu_fmcg_bill_of_materials· Rows: 523
ColumnTypeDescription
bom_item_idvarchar(16)Stable identifier for bom item; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
material_idvarchar(16)Stable identifier for material; use it for declared joins.
quantity_per_unitnumeric(7,4)Quantity per unit for the eu_fmcg_bill_of_materials record.
scrap_factor_pctnumeric(5,2)scrap factor expressed as a percentage.
effective_fromdateeffective from as an ISO 8601 calendar date.
effective_totexteffective to as an ISO 8601 calendar date.

+1 more columns in eu_fmcg_bill_of_materials. The full schema ships with the download.

eu_fmcg_production_batches· Rows: 30,585
ColumnTypeDescription
production_batch_idvarchar(16)Stable identifier for production batch; use it for declared joins.
plant_idvarchar(16)Stable identifier for plant; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
year_idvarchar(8)Stable identifier for year; use it for declared joins.
batch_datedatebatch date as an ISO 8601 calendar date.
lot_codevarchar(16)Stable code for lot.
planned_unitsintegerPlanned units for the eu_fmcg_production_batches record.

+7 more columns in eu_fmcg_production_batches. The full schema ships with the download.

eu_fmcg_quality_tests· Rows: 30,585
ColumnTypeDescription
quality_test_idvarchar(16)Stable identifier for quality test; use it for declared joins.
production_batch_idvarchar(16)Stable identifier for production batch; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
year_idvarchar(8)Stable identifier for year; use it for declared joins.
test_datedatetest date as an ISO 8601 calendar date.
test_typevarchar(24)Test type for the eu_fmcg_quality_tests record.
measured_valuenumeric(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.

eu_fmcg_locations· Rows: 12
ColumnTypeDescription
location_idvarchar(16)Stable identifier for location; use it for declared joins.
country_idvarchar(8)Stable identifier for country; use it for declared joins.
location_codevarchar(8)Stable code for location.
location_namevarchar(40)Human-readable location name; names are fictional where the disclosure states so.
location_typevarchar(24)Location type for the eu_fmcg_locations record.
city_namevarchar(16)Human-readable city name; names are fictional where the disclosure states so.
capacity_unitsintegerCapacity units for the eu_fmcg_locations record.

+2 more columns in eu_fmcg_locations. The full schema ships with the download.

eu_fmcg_channels· Rows: 7
ColumnTypeDescription
channel_idvarchar(8)Stable identifier for channel; use it for declared joins.
channel_codevarchar(8)Stable code for channel.
channel_namevarchar(24)Human-readable channel name; names are fictional where the disclosure states so.
channel_groupvarchar(24)Channel group for the eu_fmcg_channels record.
margin_structurevarchar(24)Margin structure for the eu_fmcg_channels record.
eu_fmcg_customers· Rows: 40
ColumnTypeDescription
customer_idvarchar(16)Stable identifier for customer; use it for declared joins.
country_idvarchar(8)Stable identifier for country; use it for declared joins.
channel_idvarchar(8)Stable identifier for channel; use it for declared joins.
customer_codevarchar(8)Stable code for customer.
customer_namevarchar(40)Human-readable customer name; names are fictional where the disclosure states so.
customer_tiervarchar(32)Customer tier for the eu_fmcg_customers record.
payment_terms_daysintegerPayment terms days for the eu_fmcg_customers record.

+2 more columns in eu_fmcg_customers. The full schema ships with the download.

eu_fmcg_shipments· Rows: 30,585
ColumnTypeDescription
shipment_idvarchar(16)Stable identifier for shipment; use it for declared joins.
production_batch_idvarchar(16)Stable identifier for production batch; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
customer_idvarchar(16)Stable identifier for customer; use it for declared joins.
location_idvarchar(16)Stable identifier for location; use it for declared joins.
year_idvarchar(8)Stable identifier for year; use it for declared joins.
shipment_datedateshipment date as an ISO 8601 calendar date.

+7 more columns in eu_fmcg_shipments. The full schema ships with the download.

eu_fmcg_inventory_monthly· Rows: 45,756
ColumnTypeDescription
inventory_month_idvarchar(16)Stable identifier for inventory month; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
location_idvarchar(16)Stable identifier for location; use it for declared joins.
year_idvarchar(8)Stable identifier for year; use it for declared joins.
month_numbervarchar(8)Month number for the eu_fmcg_inventory_monthly record.
opening_unitsintegerOpening units for the eu_fmcg_inventory_monthly record.
receipts_unitsintegerReceipts units for the eu_fmcg_inventory_monthly record.

+7 more columns in eu_fmcg_inventory_monthly. The full schema ships with the download.

eu_fmcg_promotions· Rows: 2,958
ColumnTypeDescription
promotion_idvarchar(16)Stable identifier for promotion; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
customer_idvarchar(16)Stable identifier for customer; use it for declared joins.
channel_idvarchar(8)Stable identifier for channel; use it for declared joins.
year_idvarchar(8)Stable identifier for year; use it for declared joins.
starts_ondatestarts on as an ISO 8601 calendar date.
ends_ondateends on as an ISO 8601 calendar date.

+5 more columns in eu_fmcg_promotions. The full schema ships with the download.

eu_fmcg_sales_monthly· Rows: 166,996
ColumnTypeDescription
sales_month_idvarchar(16)Stable identifier for sales month; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
customer_idvarchar(16)Stable identifier for customer; use it for declared joins.
country_idvarchar(8)Stable identifier for country; use it for declared joins.
channel_idvarchar(8)Stable identifier for channel; use it for declared joins.
year_idvarchar(8)Stable identifier for year; use it for declared joins.
month_numbervarchar(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.

eu_fmcg_returns· Rows: 16,879
ColumnTypeDescription
return_idvarchar(16)Stable identifier for return; use it for declared joins.
shipment_idvarchar(16)Stable identifier for shipment; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
customer_idvarchar(16)Stable identifier for customer; use it for declared joins.
year_idvarchar(8)Stable identifier for year; use it for declared joins.
return_datedatereturn date as an ISO 8601 calendar date.
quantity_unitsintegerQuantity units for the eu_fmcg_returns record.

+5 more columns in eu_fmcg_returns. The full schema ships with the download.

eu_fmcg_trade_spend· Rows: 10,168
ColumnTypeDescription
trade_spend_idvarchar(16)Stable identifier for trade spend; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
customer_idvarchar(16)Stable identifier for customer; use it for declared joins.
channel_idvarchar(8)Stable identifier for channel; use it for declared joins.
year_idvarchar(8)Stable identifier for year; use it for declared joins.
spend_typevarchar(32)Spend type for the eu_fmcg_trade_spend record.
planned_usdnumeric(11,2)planned in United States dollars.

+5 more columns in eu_fmcg_trade_spend. The full schema ships with the download.

eu_fmcg_product_financials· Rows: 10,168
ColumnTypeDescription
product_financial_idvarchar(16)Stable identifier for product financial; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
country_idvarchar(8)Stable identifier for country; use it for declared joins.
year_idvarchar(8)Stable identifier for year; use it for declared joins.
revenue_usdnumeric(12,2)revenue in United States dollars.
variable_cost_usdnumeric(11,2)variable cost in United States dollars.
manufacturing_variance_usdnumeric(10,2)manufacturing variance in United States dollars.

+6 more columns in eu_fmcg_product_financials. The full schema ships with the download.

eu_fmcg_consumer_ratings· Rows: 10,168
ColumnTypeDescription
consumer_rating_idvarchar(16)Stable identifier for consumer rating; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
country_idvarchar(8)Stable identifier for country; use it for declared joins.
year_idvarchar(8)Stable identifier for year; use it for declared joins.
rating_datedaterating date as an ISO 8601 calendar date.
overall_ratingnumeric(4,1)overall rating as the declared analytical measure.
taste_or_performance_ratingnumeric(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.

eu_fmcg_forecast_features· Rows: 10,168
ColumnTypeDescription
forecast_feature_idvarchar(16)Stable identifier for forecast feature; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
country_idvarchar(8)Stable identifier for country; use it for declared joins.
channel_idvarchar(8)Stable identifier for channel; use it for declared joins.
year_idvarchar(8)Stable identifier for year; use it for declared joins.
feature_source_cutoffdateLatest source date available to the feature row; it precedes the prediction target.
lag_units_1yintegerLag units 1y for the eu_fmcg_forecast_features record.

+8 more columns in eu_fmcg_forecast_features. The full schema ships with the download.

eu_fmcg_sales_forecasts· Rows: 10,168
ColumnTypeDescription
sales_forecast_idvarchar(16)Stable identifier for sales forecast; use it for declared joins.
forecast_feature_idvarchar(16)Stable identifier for forecast feature; use it for declared joins.
product_idvarchar(16)Stable identifier for product; use it for declared joins.
country_idvarchar(8)Stable identifier for country; use it for declared joins.
channel_idvarchar(8)Stable identifier for channel; use it for declared joins.
year_idvarchar(8)Stable identifier for year; use it for declared joins.
forecast_created_ondateforecast 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_idproduct_idmaterial_idquantity_per_unitscrap_factor_pcteffective_fromeffective_to
BOM000001PRD00001MAT000010.09192.52015-01-01
BOM000002PRD00001MAT000120.30852.72015-01-01
BOM000003PRD00001MAT000230.11972.452015-01-01

Version History

v2.0.22026-08-14Production 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