European Skincare Product Operations and Sales Analytics Set (EU)
Overview
CPGSKN934 follows fictional Alderquay skincare products through research stage gates, permit and patent cost, supplier terms, bill-of-materials cost, internal or contract manufacturing, batch quality release, lot expiry, FEFO inventory, country and channel pricing, customer orders, returns and disposal. Effective-dated salespeople, teams and territories support performance analysis, while product development, regulatory, packaging, manufacturing, freight, marketing, ambassador and event costs feed product, division and company profitability. Historical records are synthetic calibrations, current-period records are synthetic estimates and later periods are synthetic forecasts. Public regulatory and economic sources provide methodology anchors only; they do not make any generated company, brand, product, person, identifier or transaction real.
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_skincare_products | 42 |
| eu_skincare_years | 12 |
| eu_skincare_periods | 144 |
| eu_skincare_countries | 18 |
| eu_skincare_economic_indices_monthly | 2,592 |
| eu_skincare_company_groups | 1 |
| eu_skincare_legal_entities | 10 |
| eu_skincare_business_divisions | 7 |
| eu_skincare_brands | 4 |
| eu_skincare_facilities | 6 |
| eu_skincare_sales_channels | 8 |
| eu_skincare_routes_to_market | 16 |
| eu_skincare_sales_territories | 16 |
| eu_skincare_sales_teams | 16 |
| eu_skincare_salespeople | 48 |
| eu_skincare_salesperson_assignments | 48 |
| eu_skincare_customers | 32 |
| eu_skincare_suppliers | 13 |
| eu_skincare_materials | 24 |
| eu_skincare_supplier_contracts | 19 |
| eu_skincare_research_programmes | 42 |
| eu_skincare_product_media | 42 |
| eu_skincare_bill_of_materials | 378 |
| eu_skincare_research_costs_monthly | 572 |
| eu_skincare_regulatory_filings | 252 |
| eu_skincare_patent_assets | 28 |
| eu_skincare_product_market_entries | 252 |
| eu_skincare_price_lists_monthly | 17,232 |
| eu_skincare_marketing_campaigns | 40 |
| eu_skincare_marketing_spend_monthly | 157 |
| eu_skincare_product_cost_standards_monthly | 3,000 |
| eu_skincare_production_batches | 2,950 |
| eu_skincare_quality_tests | 8,850 |
| eu_skincare_inventory_lots | 2,950 |
| eu_skincare_sales_orders | 321,609 |
| eu_skincare_sales_order_lines | 869,631 |
| eu_skincare_sales_returns | 112,022 |
| eu_skincare_expiry_disposals | 8 |
| eu_skincare_inventory_movements | 942,804 |
| eu_skincare_inventory_monthly | 3,168 |
| eu_skincare_salesperson_performance_monthly | 2,341 |
| eu_skincare_product_market_financials_monthly | 16,916 |
| eu_skincare_division_financials_monthly | 1,008 |
| eu_skincare_company_financials_monthly | 144 |
| eu_skincare_company_financials_annual | 12 |
| eu_skincare_methodology_sources | 25 |
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 |
|---|---|---|
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_products. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_products. |
| brand_id | varchar(8) | Stable identifier for brand; use it for the joins declared for eu_skincare_products. |
| entity_id | varchar(8) | Stable identifier for entity; use it for the joins declared for eu_skincare_products. |
| facility_id | varchar(16) | Stable identifier for facility; use it for the joins declared for eu_skincare_products. |
| research_id | varchar(16) | Stable identifier for research; use it for the joins declared for eu_skincare_products. |
| product_code | varchar(16) | Controlled or synthetic code for product. |
+16 more columns in eu_skincare_products. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| year_id | varchar(8) | Stable identifier for year; use it for the joins declared for eu_skincare_years. |
| calendar_year | integer | Calendar year for the eu_skincare_years record. |
| period_start | date | Period start for the eu_skincare_years record. |
| period_end | date | Period end for the eu_skincare_years record. |
| source_status | varchar(40) | Evidence status for the row: modelled historical, modelled current year or modelled forecast. |
| Column | Type | Description |
|---|---|---|
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_periods. |
| year_id | varchar(8) | Stable identifier for year; use it for the joins declared for eu_skincare_periods. |
| calendar_year | integer | Calendar year for the eu_skincare_periods record. |
| month_number | varchar(8) | Month number for the eu_skincare_periods record. |
| month_name | varchar(16) | Human-readable month name. |
| quarter_number | varchar(8) | Quarter number for the eu_skincare_periods record. |
| period_start | date | Period start for the eu_skincare_periods record. |
+4 more columns in eu_skincare_periods. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_countries. |
| country_code | varchar(8) | Controlled or synthetic code for country. |
| country_name | varchar(24) | Human-readable country name. |
| market_region | varchar(24) | Market region for the eu_skincare_countries record. |
| currency_code | varchar(8) | Controlled or synthetic code for currency. |
| reporting_currency_code | varchar(8) | Controlled or synthetic code for reporting currency. |
| vat_or_sales_tax_pct | numeric(5,1) | vat or sales tax expressed as a percentage. |
+4 more columns in eu_skincare_countries. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| economic_id | varchar(24) | Stable identifier for economic; use it for the joins declared for eu_skincare_economic_indices_monthly. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_economic_indices_monthly. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_economic_indices_monthly. |
| consumer_price_index | numeric(9,4) | consumer price index as a modeled index used by the deterministic methodology. |
| producer_price_index | numeric(9,4) | producer price index as a modeled index used by the deterministic methodology. |
| wage_cost_index | numeric(9,4) | wage cost index as a modeled index used by the deterministic methodology. |
| energy_cost_index | numeric(9,4) | energy cost index as a modeled index used by the deterministic methodology. |
+7 more columns in eu_skincare_economic_indices_monthly. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_company_groups. |
| group_code | varchar(8) | Controlled or synthetic code for group. |
| group_name | varchar(40) | Human-readable group name. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_company_groups. |
| headquarters_city | varchar(16) | Headquarters city for the eu_skincare_company_groups record. |
| product_domain | varchar(16) | Product domain for the eu_skincare_company_groups record. |
| founding_year | integer | Founding year for the eu_skincare_company_groups record. |
+7 more columns in eu_skincare_company_groups. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| entity_id | varchar(8) | Stable identifier for entity; use it for the joins declared for eu_skincare_legal_entities. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_legal_entities. |
| entity_code | varchar(16) | Controlled or synthetic code for entity. |
| entity_name | varchar(40) | Human-readable entity name. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_legal_entities. |
| city_name | varchar(16) | Human-readable city name. |
| entity_role | varchar(48) | Entity role for the eu_skincare_legal_entities record. |
+6 more columns in eu_skincare_legal_entities. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| division_id | varchar(16) | Stable identifier for division; use it for the joins declared for eu_skincare_business_divisions. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_business_divisions. |
| entity_id | varchar(8) | Stable identifier for entity; use it for the joins declared for eu_skincare_business_divisions. |
| division_code | varchar(16) | Controlled or synthetic code for division. |
| division_name | varchar(48) | Human-readable division name. |
| division_type | varchar(32) | Division type for the eu_skincare_business_divisions record. |
| region_name | varchar(24) | Human-readable region name. |
+4 more columns in eu_skincare_business_divisions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| brand_id | varchar(8) | Stable identifier for brand; use it for the joins declared for eu_skincare_brands. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_brands. |
| entity_id | varchar(8) | Stable identifier for entity; use it for the joins declared for eu_skincare_brands. |
| brand_code | varchar(16) | Controlled or synthetic code for brand. |
| brand_name | varchar(16) | Human-readable brand name. |
| brand_positioning | varchar(64) | Brand positioning for the eu_skincare_brands record. |
| target_consumer_segment | varchar(32) | Target consumer segment for the eu_skincare_brands record. |
+4 more columns in eu_skincare_brands. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| facility_id | varchar(16) | Stable identifier for facility; use it for the joins declared for eu_skincare_facilities. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_facilities. |
| entity_id | varchar(8) | Stable identifier for entity; use it for the joins declared for eu_skincare_facilities. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_facilities. |
| facility_code | varchar(16) | Controlled or synthetic code for facility. |
| facility_name | varchar(48) | Human-readable facility name. |
| city_name | varchar(16) | Human-readable city name. |
+9 more columns in eu_skincare_facilities. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| channel_id | varchar(8) | Stable identifier for channel; use it for the joins declared for eu_skincare_sales_channels. |
| channel_code | varchar(8) | Controlled or synthetic code for channel. |
| channel_name | varchar(48) | Human-readable channel name. |
| channel_group | varchar(24) | Channel group for the eu_skincare_sales_channels record. |
| customer_type | varchar(40) | Customer type for the eu_skincare_sales_channels record. |
| standard_margin_pct | integer | standard margin expressed as a percentage. |
| payment_terms_days | integer | payment terms measured in calendar days. |
+2 more columns in eu_skincare_sales_channels. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| route_id | varchar(16) | Stable identifier for route; use it for the joins declared for eu_skincare_routes_to_market. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_routes_to_market. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_routes_to_market. |
| channel_id | varchar(8) | Stable identifier for channel; use it for the joins declared for eu_skincare_routes_to_market. |
| entity_id | varchar(8) | Stable identifier for entity; use it for the joins declared for eu_skincare_routes_to_market. |
| facility_id | varchar(16) | Stable identifier for facility; use it for the joins declared for eu_skincare_routes_to_market. |
| route_code | varchar(24) | Controlled or synthetic code for route. |
+8 more columns in eu_skincare_routes_to_market. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| territory_id | varchar(16) | Stable identifier for territory; use it for the joins declared for eu_skincare_sales_territories. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_sales_territories. |
| division_id | varchar(16) | Stable identifier for division; use it for the joins declared for eu_skincare_sales_territories. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_sales_territories. |
| territory_code | varchar(8) | Controlled or synthetic code for territory. |
| territory_name | varchar(40) | Human-readable territory name. |
| market_region | varchar(24) | Market region for the eu_skincare_sales_territories record. |
+4 more columns in eu_skincare_sales_territories. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| team_id | varchar(16) | Stable identifier for team; use it for the joins declared for eu_skincare_sales_teams. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_sales_teams. |
| division_id | varchar(16) | Stable identifier for division; use it for the joins declared for eu_skincare_sales_teams. |
| territory_id | varchar(16) | Stable identifier for territory; use it for the joins declared for eu_skincare_sales_teams. |
| team_code | varchar(16) | Controlled or synthetic code for team. |
| team_name | varchar(32) | Human-readable team name. |
| sales_model | varchar(24) | sales model as the monetary measure defined for the eu_skincare_sales_teams record. |
+5 more columns in eu_skincare_sales_teams. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| person_id | varchar(16) | Stable identifier for person; use it for the joins declared for eu_skincare_salespeople. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_salespeople. |
| entity_id | varchar(8) | Stable identifier for entity; use it for the joins declared for eu_skincare_salespeople. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_salespeople. |
| employee_code | varchar(16) | Controlled or synthetic code for employee. |
| salesperson_name | varchar(32) | Human-readable salesperson name. |
| role_title | varchar(40) | Role title for the eu_skincare_salespeople record. |
+9 more columns in eu_skincare_salespeople. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| assign_id | varchar(16) | Stable identifier for assign; use it for the joins declared for eu_skincare_salesperson_assignments. |
| person_id | varchar(16) | Stable identifier for person; use it for the joins declared for eu_skincare_salesperson_assignments. |
| team_id | varchar(16) | Stable identifier for team; use it for the joins declared for eu_skincare_salesperson_assignments. |
| territory_id | varchar(16) | Stable identifier for territory; use it for the joins declared for eu_skincare_salesperson_assignments. |
| assignment_role | varchar(40) | Assignment role for the eu_skincare_salesperson_assignments record. |
| assignment_start | date | Assignment start for the eu_skincare_salesperson_assignments record. |
| assignment_end | date | Assignment end for the eu_skincare_salesperson_assignments record. |
+3 more columns in eu_skincare_salesperson_assignments. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| customer_id | varchar(16) | Stable identifier for customer; use it for the joins declared for eu_skincare_customers. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_customers. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_customers. |
| channel_id | varchar(8) | Stable identifier for channel; use it for the joins declared for eu_skincare_customers. |
| route_id | varchar(16) | Stable identifier for route; use it for the joins declared for eu_skincare_customers. |
| territory_id | varchar(16) | Stable identifier for territory; use it for the joins declared for eu_skincare_customers. |
| customer_code | varchar(16) | Controlled or synthetic code for customer. |
+8 more columns in eu_skincare_customers. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| supplier_id | varchar(8) | Stable identifier for supplier; use it for the joins declared for eu_skincare_suppliers. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_suppliers. |
| supplier_code | varchar(16) | Controlled or synthetic code for supplier. |
| supplier_name | varchar(48) | Human-readable supplier name. |
| supplier_type | varchar(32) | Supplier type for the eu_skincare_suppliers record. |
| qualification_status | varchar(16) | qualification status in the controlled vocabulary documented by the dataset. |
| qualified_from | date | qualified from as an ISO 8601 calendar date. |
+5 more columns in eu_skincare_suppliers. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| material_id | varchar(8) | Stable identifier for material; use it for the joins declared for eu_skincare_materials. |
| material_code | varchar(24) | Controlled or synthetic code for material. |
| material_name | varchar(56) | Human-readable material name. |
| material_group | varchar(16) | Material group for the eu_skincare_materials record. |
| material_subgroup | varchar(24) | Material subgroup for the eu_skincare_materials record. |
| unit_of_measure | varchar(16) | Unit of measure for the eu_skincare_materials record. |
| quality_grade | varchar(32) | Quality grade for the eu_skincare_materials record. |
+6 more columns in eu_skincare_materials. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| contract_id | varchar(16) | Stable identifier for contract; use it for the joins declared for eu_skincare_supplier_contracts. |
| supplier_id | varchar(8) | Stable identifier for supplier; use it for the joins declared for eu_skincare_supplier_contracts. |
| material_id | varchar(8) | Stable identifier for material; use it for the joins declared for eu_skincare_supplier_contracts. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_supplier_contracts. |
| facility_id | varchar(16) | Stable identifier for facility; use it for the joins declared for eu_skincare_supplier_contracts. |
| contract_code | varchar(32) | Controlled or synthetic code for contract. |
| contract_name | varchar(88) | Human-readable contract name. |
+12 more columns in eu_skincare_supplier_contracts. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| research_id | varchar(16) | Stable identifier for research; use it for the joins declared for eu_skincare_research_programmes. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_research_programmes. |
| division_id | varchar(16) | Stable identifier for division; use it for the joins declared for eu_skincare_research_programmes. |
| programme_code | varchar(16) | Controlled or synthetic code for programme. |
| programme_name | varchar(64) | Human-readable programme name. |
| research_type | varchar(40) | Research type for the eu_skincare_research_programmes record. |
| intended_product_category | varchar(32) | Intended product category for the eu_skincare_research_programmes record. |
+8 more columns in eu_skincare_research_programmes. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| media_id | varchar(16) | Stable identifier for media; use it for the joins declared for eu_skincare_product_media. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_product_media. |
| image_file | varchar(32) | Dataset-relative path to the linked product image. |
| image_format | varchar(16) | Image format for the eu_skincare_product_media record. |
| image_width_px | integer | Image width px for the eu_skincare_product_media record. |
| image_height_px | integer | Image height px for the eu_skincare_product_media record. |
| background_mode | varchar(24) | Image background treatment, with transparent used for catalogue cutouts. |
+5 more columns in eu_skincare_product_media. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| bom_id | varchar(16) | Stable identifier for bom; use it for the joins declared for eu_skincare_bill_of_materials. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_bill_of_materials. |
| material_id | varchar(8) | Stable identifier for material; use it for the joins declared for eu_skincare_bill_of_materials. |
| bom_version | varchar(16) | Bom version for the eu_skincare_bill_of_materials record. |
| component_sequence | integer | Component sequence for the eu_skincare_bill_of_materials record. |
| cost_bucket | varchar(24) | cost bucket as the monetary measure defined for the eu_skincare_bill_of_materials record. |
| quantity_per_unit | numeric(8,5) | Quantity per unit for the eu_skincare_bill_of_materials record. |
+5 more columns in eu_skincare_bill_of_materials. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| rd_cost_id | varchar(16) | Stable identifier for rd cost; use it for the joins declared for eu_skincare_research_costs_monthly. |
| research_id | varchar(16) | Stable identifier for research; use it for the joins declared for eu_skincare_research_costs_monthly. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_research_costs_monthly. |
| division_id | varchar(16) | Stable identifier for division; use it for the joins declared for eu_skincare_research_costs_monthly. |
| cost_category | varchar(48) | cost category as the monetary measure defined for the eu_skincare_research_costs_monthly record. |
| accounting_treatment | varchar(40) | Management and statutory accounting classification applied to the research or development cost. |
| direct_labour_usd | numeric(9,2) | direct labour in United States dollars. |
+7 more columns in eu_skincare_research_costs_monthly. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| filing_id | varchar(16) | Stable identifier for filing; use it for the joins declared for eu_skincare_regulatory_filings. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_regulatory_filings. |
| entity_id | varchar(8) | Stable identifier for entity; use it for the joins declared for eu_skincare_regulatory_filings. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_regulatory_filings. |
| filing_code | varchar(40) | Controlled or synthetic code for filing. |
| filing_name | varchar(88) | Human-readable filing name. |
| filing_type | varchar(16) | Filing type for the eu_skincare_regulatory_filings record. |
+12 more columns in eu_skincare_regulatory_filings. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| patent_id | varchar(16) | Stable identifier for patent; use it for the joins declared for eu_skincare_patent_assets. |
| research_id | varchar(16) | Stable identifier for research; use it for the joins declared for eu_skincare_patent_assets. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_patent_assets. |
| entity_id | varchar(8) | Stable identifier for entity; use it for the joins declared for eu_skincare_patent_assets. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_patent_assets. |
| patent_code | varchar(24) | Controlled or synthetic code for patent. |
| patent_name | varchar(88) | Human-readable patent name. |
+10 more columns in eu_skincare_patent_assets. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| entry_id | varchar(16) | Stable identifier for entry; use it for the joins declared for eu_skincare_product_market_entries. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_product_market_entries. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_product_market_entries. |
| route_id | varchar(16) | Stable identifier for route; use it for the joins declared for eu_skincare_product_market_entries. |
| filing_id | varchar(16) | Stable identifier for filing; use it for the joins declared for eu_skincare_product_market_entries. |
| market_entry_code | varchar(16) | Controlled or synthetic code for market entry. |
| market_entry_name | varchar(72) | Human-readable market entry name. |
+6 more columns in eu_skincare_product_market_entries. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| price_id | varchar(24) | Stable identifier for price; use it for the joins declared for eu_skincare_price_lists_monthly. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_price_lists_monthly. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_price_lists_monthly. |
| channel_id | varchar(8) | Stable identifier for channel; use it for the joins declared for eu_skincare_price_lists_monthly. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_price_lists_monthly. |
| price_currency_code | varchar(8) | Controlled or synthetic code for price currency. |
| list_price_local | numeric(10,2) | list price in the row currency. |
+8 more columns in eu_skincare_price_lists_monthly. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| campaign_id | varchar(16) | Stable identifier for campaign; use it for the joins declared for eu_skincare_marketing_campaigns. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_marketing_campaigns. |
| brand_id | varchar(8) | Stable identifier for brand; use it for the joins declared for eu_skincare_marketing_campaigns. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_marketing_campaigns. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_marketing_campaigns. |
| channel_id | varchar(8) | Stable identifier for channel; use it for the joins declared for eu_skincare_marketing_campaigns. |
| campaign_code | varchar(32) | Controlled or synthetic code for campaign. |
+14 more columns in eu_skincare_marketing_campaigns. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| spend_id | varchar(16) | Stable identifier for spend; use it for the joins declared for eu_skincare_marketing_spend_monthly. |
| campaign_id | varchar(16) | Stable identifier for campaign; use it for the joins declared for eu_skincare_marketing_spend_monthly. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_marketing_spend_monthly. |
| division_id | varchar(16) | Stable identifier for division; use it for the joins declared for eu_skincare_marketing_spend_monthly. |
| supplier_id | varchar(8) | Stable identifier for supplier; use it for the joins declared for eu_skincare_marketing_spend_monthly. |
| spend_category | varchar(24) | spend category as the monetary measure defined for the eu_skincare_marketing_spend_monthly record. |
| planned_spend_usd | numeric(10,2) | planned spend in United States dollars. |
+6 more columns in eu_skincare_marketing_spend_monthly. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| cost_id | varchar(24) | Stable identifier for cost; use it for the joins declared for eu_skincare_product_cost_standards_monthly. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_product_cost_standards_monthly. |
| facility_id | varchar(16) | Stable identifier for facility; use it for the joins declared for eu_skincare_product_cost_standards_monthly. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_product_cost_standards_monthly. |
| raw_material_cost_usd | numeric(5,2) | raw material cost in United States dollars. |
| primary_packaging_cost_usd | numeric(5,2) | primary packaging cost in United States dollars. |
| secondary_packaging_cost_usd | numeric(5,2) | secondary packaging cost in United States dollars. |
+10 more columns in eu_skincare_product_cost_standards_monthly. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| batch_id | varchar(16) | Stable identifier for batch; use it for the joins declared for eu_skincare_production_batches. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_production_batches. |
| facility_id | varchar(16) | Stable identifier for facility; use it for the joins declared for eu_skincare_production_batches. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_production_batches. |
| cost_id | varchar(24) | Stable identifier for cost; use it for the joins declared for eu_skincare_production_batches. |
| batch_code | varchar(32) | Controlled or synthetic code for batch. |
| batch_name | varchar(72) | Human-readable batch name. |
+15 more columns in eu_skincare_production_batches. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| test_id | varchar(16) | Stable identifier for test; use it for the joins declared for eu_skincare_quality_tests. |
| batch_id | varchar(16) | Stable identifier for batch; use it for the joins declared for eu_skincare_quality_tests. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_quality_tests. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_quality_tests. |
| test_code | varchar(16) | Controlled or synthetic code for test. |
| test_name | varchar(32) | Human-readable test name. |
| test_type | varchar(16) | Test type for the eu_skincare_quality_tests record. |
+10 more columns in eu_skincare_quality_tests. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| lot_id | varchar(16) | Stable identifier for lot; use it for the joins declared for eu_skincare_inventory_lots. |
| batch_id | varchar(16) | Stable identifier for batch; use it for the joins declared for eu_skincare_inventory_lots. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_inventory_lots. |
| facility_id | varchar(16) | Stable identifier for facility; use it for the joins declared for eu_skincare_inventory_lots. |
| lot_code | varchar(32) | Controlled or synthetic code for lot. |
| lot_name | varchar(80) | Human-readable lot name. |
| manufacture_date | date | manufacture date as an ISO 8601 calendar date. |
+6 more columns in eu_skincare_inventory_lots. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| order_id | varchar(16) | Stable identifier for order; use it for the joins declared for eu_skincare_sales_orders. |
| customer_id | varchar(16) | Stable identifier for customer; use it for the joins declared for eu_skincare_sales_orders. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_sales_orders. |
| channel_id | varchar(8) | Stable identifier for channel; use it for the joins declared for eu_skincare_sales_orders. |
| route_id | varchar(16) | Stable identifier for route; use it for the joins declared for eu_skincare_sales_orders. |
| territory_id | varchar(16) | Stable identifier for territory; use it for the joins declared for eu_skincare_sales_orders. |
| person_id | varchar(16) | Stable identifier for person; use it for the joins declared for eu_skincare_sales_orders. |
+12 more columns in eu_skincare_sales_orders. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| line_id | varchar(16) | Stable identifier for line; use it for the joins declared for eu_skincare_sales_order_lines. |
| order_id | varchar(16) | Stable identifier for order; use it for the joins declared for eu_skincare_sales_order_lines. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_sales_order_lines. |
| entry_id | varchar(16) | Stable identifier for entry; use it for the joins declared for eu_skincare_sales_order_lines. |
| price_id | varchar(24) | Stable identifier for price; use it for the joins declared for eu_skincare_sales_order_lines. |
| campaign_id | varchar(16) | Stable identifier for campaign; use it for the joins declared for eu_skincare_sales_order_lines. |
| order_line_number | varchar(8) | Order line number for the eu_skincare_sales_order_lines record. |
+10 more columns in eu_skincare_sales_order_lines. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| return_id | varchar(16) | Stable identifier for return; use it for the joins declared for eu_skincare_sales_returns. |
| line_id | varchar(16) | Stable identifier for line; use it for the joins declared for eu_skincare_sales_returns. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_sales_returns. |
| customer_id | varchar(16) | Stable identifier for customer; use it for the joins declared for eu_skincare_sales_returns. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_sales_returns. |
| return_code | varchar(8) | Controlled or synthetic code for return. |
| return_name | varchar(24) | Human-readable return name. |
+10 more columns in eu_skincare_sales_returns. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| disposal_id | varchar(16) | Stable identifier for disposal; use it for the joins declared for eu_skincare_expiry_disposals. |
| lot_id | varchar(16) | Stable identifier for lot; use it for the joins declared for eu_skincare_expiry_disposals. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_expiry_disposals. |
| facility_id | varchar(16) | Stable identifier for facility; use it for the joins declared for eu_skincare_expiry_disposals. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_expiry_disposals. |
| disposal_code | varchar(8) | Controlled or synthetic code for disposal. |
| disposal_name | varchar(32) | Human-readable disposal name. |
+8 more columns in eu_skincare_expiry_disposals. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| movement_id | varchar(16) | Stable identifier for movement; use it for the joins declared for eu_skincare_inventory_movements. |
| lot_id | varchar(16) | Stable identifier for lot; use it for the joins declared for eu_skincare_inventory_movements. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_inventory_movements. |
| facility_id | varchar(16) | Stable identifier for facility; use it for the joins declared for eu_skincare_inventory_movements. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_inventory_movements. |
| batch_id | varchar(16) | Stable identifier for batch; use it for the joins declared for eu_skincare_inventory_movements. |
| line_id | varchar(16) | Stable identifier for line; use it for the joins declared for eu_skincare_inventory_movements. |
+12 more columns in eu_skincare_inventory_movements. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| inventory_id | varchar(16) | Stable identifier for inventory; use it for the joins declared for eu_skincare_inventory_monthly. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_inventory_monthly. |
| facility_id | varchar(16) | Stable identifier for facility; use it for the joins declared for eu_skincare_inventory_monthly. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_inventory_monthly. |
| opening_units | integer | opening measured in finished-product units. |
| production_receipts_units | integer | production receipts measured in finished-product units. |
| transfer_in_units | integer | transfer in measured in finished-product units. |
+12 more columns in eu_skincare_inventory_monthly. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| performance_id | varchar(16) | Stable identifier for performance; use it for the joins declared for eu_skincare_salesperson_performance_monthly. |
| person_id | varchar(16) | Stable identifier for person; use it for the joins declared for eu_skincare_salesperson_performance_monthly. |
| team_id | varchar(16) | Stable identifier for team; use it for the joins declared for eu_skincare_salesperson_performance_monthly. |
| territory_id | varchar(16) | Stable identifier for territory; use it for the joins declared for eu_skincare_salesperson_performance_monthly. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_salesperson_performance_monthly. |
| target_net_sales_usd | numeric(11,2) | target net sales in United States dollars. |
| gross_sales_usd | numeric(12,2) | gross sales in United States dollars. |
+12 more columns in eu_skincare_salesperson_performance_monthly. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| product_fin_id | varchar(16) | Stable identifier for product fin; use it for the joins declared for eu_skincare_product_market_financials_monthly. |
| product_id | varchar(16) | Stable identifier for product; use it for the joins declared for eu_skincare_product_market_financials_monthly. |
| country_id | varchar(8) | Stable identifier for country; use it for the joins declared for eu_skincare_product_market_financials_monthly. |
| channel_id | varchar(8) | Stable identifier for channel; use it for the joins declared for eu_skincare_product_market_financials_monthly. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_product_market_financials_monthly. |
| gross_sales_usd | numeric(11,2) | gross sales in United States dollars. |
| on_invoice_discount_usd | numeric(10,2) | on invoice discount in United States dollars. |
+13 more columns in eu_skincare_product_market_financials_monthly. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| division_fin_id | varchar(16) | Stable identifier for division fin; use it for the joins declared for eu_skincare_division_financials_monthly. |
| division_id | varchar(16) | Stable identifier for division; use it for the joins declared for eu_skincare_division_financials_monthly. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_division_financials_monthly. |
| net_sales_usd | numeric(12,2) | Gross sales less discounts, rebates and return credits, in United States dollars. |
| cost_of_goods_sold_usd | numeric(12,2) | cost of goods sold in United States dollars. |
| sales_payroll_usd | numeric(10,2) | sales payroll in United States dollars. |
| sales_commission_usd | numeric(10,2) | sales commission in United States dollars. |
+11 more columns in eu_skincare_division_financials_monthly. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| company_fin_id | varchar(16) | Stable identifier for company fin; use it for the joins declared for eu_skincare_company_financials_monthly. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_company_financials_monthly. |
| period_id | varchar(16) | Stable identifier for period; use it for the joins declared for eu_skincare_company_financials_monthly. |
| gross_sales_usd | numeric(12,2) | gross sales in United States dollars. |
| discounts_usd | numeric(12,2) | discounts in United States dollars. |
| return_credit_usd | numeric(10,2) | return credit in United States dollars. |
| net_sales_usd | numeric(12,2) | Gross sales less discounts, rebates and return credits, in United States dollars. |
+23 more columns in eu_skincare_company_financials_monthly. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| annual_id | varchar(16) | Stable identifier for annual; use it for the joins declared for eu_skincare_company_financials_annual. |
| company_id | varchar(8) | Stable identifier for company; use it for the joins declared for eu_skincare_company_financials_annual. |
| year_id | varchar(8) | Stable identifier for year; use it for the joins declared for eu_skincare_company_financials_annual. |
| gross_sales_usd | numeric(13,2) | gross sales in United States dollars. |
| discounts_usd | numeric(13,2) | discounts in United States dollars. |
| return_credit_usd | numeric(11,2) | return credit in United States dollars. |
| net_sales_usd | numeric(13,2) | Gross sales less discounts, rebates and return credits, in United States dollars. |
+18 more columns in eu_skincare_company_financials_annual. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| source_id | varchar(8) | Stable identifier for source; use it for the joins declared for eu_skincare_methodology_sources. |
| source_code | varchar(40) | Controlled or synthetic code for source. |
| source_name | varchar(40) | Human-readable source name. |
| source_organization | varchar(64) | Source organization for the eu_skincare_methodology_sources record. |
| source_title | varchar(96) | Source title for the eu_skincare_methodology_sources record. |
| source_url | varchar(168) | Source url for the eu_skincare_methodology_sources record. |
| source_type | varchar(48) | Source type for the eu_skincare_methodology_sources record. |
+7 more columns in eu_skincare_methodology_sources. The full schema ships with the download.
Sample Data
A snapshot of real rows from the dataset (values are fully synthetic).
| product_id | company_id | brand_id | product_code | product_name | product_category | product_form | package_type | pack_size | pack_unit | lifecycle_status | launch_date |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CPG0001 | GRP001 | BRD002 | ADQ-U01 | DERMYNTHA GENTLE CLOUD CLEANSER | cleanser | cleanser | bottle | 150 | ml | discontinued | 2015-01-12 |
| CPG0002 | GRP001 | BRD001 | ADQ-U02 | VELAQORA BARRIER LIPID SERUM | treatment_serum | serum | bottle | 30 | ml | active | 2015-04-12 |
| CPG0003 | GRP001 | BRD003 | ADQ-U03 | OQURELIA DAILY MINERAL SPF 50 | sun_care | sun_screen | bottle | 50 | ml | active | 2015-08-12 |
Version History
| v1.5.0 | 2026-08-18 | Launch stock corrected. The production plan reads a rate smoothed over a year of demand either side of the month, and that window was skipping months a product had no demand in rather than counting them as zero. Before launch it therefore read back the mature rate from the months after launch, and the line ran flat out for a quarter before the product existed. Each SKU opened with about five months of cover it then spent a year working off, which showed as stock climbing while production fell and nothing had yet been sold. Ahead of its first order a product now only builds the launch pipeline, about six weeks of the first month's demand. Finished goods cover falls again from six weeks to under six, and every other series is unchanged: demand, net sales, order volumes, basket shape, lifespans, seasonality and the exact roll-forward. |
Related Datasets
FMCG Manufacturing Product Performance Set (EU)
RetailA complete Europe analytical warehouse covering company, plant, product, material, batch, quality, location, channel, customer, shipment, inventory, promotion, sales, return, trade-spend, finance, rating and forecast data.
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.