Product Dataset
This ready-made product dataset contains 27,397 records across 4 tables, covering product information, categories, suppliers, and sales transactions from 2022-01-01 to 2024-12-31. A free sample is available, with the full download requiring credits.
At a glance
- 4tables
- 27,397rows
- 21columns
- Jan 2022 – Dec 2024date range
The 4 tables
preview and data dictionary per tableCategories categories · dimension table · 50 rows
Contains product category and department information.
Preview
| category_iduuid | category_namestring | departmentstring |
|---|---|---|
| 9a48eff2-4709-4f96-8e57-95d1b6d69edd | Pet Supplies | Home |
| 2eec7d93-132c-4aa4-8340-6c566c8908e1 | Home Goods | Home |
| a9bd365f-b2cc-4847-89fd-d35be7e878d6 | Tools & Home Improvement | Home |
| b7f69221-ba34-4b89-b1f7-cce31f03f83e | Tools & Home Improvement | Home |
| 9960c9a5-eb73-49ab-9e10-761d3572099e | Tools & Home Improvement | Home |
| 2fde6ffb-90ae-4303-836a-a8f08f8faf1e | Home Goods | Home |
| 3f74480a-6817-4d54-b92c-a029cdefc2cf | Tools & Home Improvement | Home |
| f9112302-c684-4c16-8158-2959e7c6dca3 | Tools & Home Improvement | Home |
| d99a2bf7-3fa9-4da0-bfe8-8a46954e4c6f | Tools & Home Improvement | Home |
| 883c5d4a-cc07-4e9e-bbba-1c3f46c248c1 | Home Goods | Home |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
category_ | uuid | Unique identifier for each product category.unique | 9a48eff2-4709-4f96-8e57-95d1b6d69edd | 0% |
category_ | string | Specific retail category name. | Pet Supplies | 0% |
department | string | High-level retail department grouping related categories. | Home | 0% |
Suppliers suppliers · dimension table · 100 rows
Information about product suppliers.
Preview
| supplier_iduuid | supplier_namestring | countrystring | contact_namestring |
|---|---|---|---|
| 17b8c676-1f11-4be1-abee-7ae42f2041f8 | Rohan Textiles & Agri Exports | India | Priya Sharma |
| a5e96496-783b-4f73-8e9c-3c9447bd8262 | Bharat Cotton Mills | India | Vikram Singh |
| ee67d0cd-dfe4-469d-a83a-2e7386cec807 | Shakti Weavers Co-op | India | Ananya Patel |
| 6ed93dfe-1061-4d93-84e6-150b9ec2f8b3 | Ganga River Commodities | India | Arjun Desai |
| b17c9f2b-4bfd-4770-95e9-e81b8465fef8 | Indus Valley Apparel Ltd. | India | Meera Krishnan |
| 6c380f23-9e78-472d-bd82-dc0ea4255815 | Amazonia Agro-Products Inc. | Brazil | Ricardo Santos |
| 688aed5f-7021-4fe7-8f9d-264bfa5929c6 | Brasilia Fashion Group | Brazil | Isabella Costa |
| e0621824-5d81-4854-86ec-8cb2e65a8483 | Deccan Harvest Foods | India | Sanjay Gupta |
| 77aa35d0-1cc4-4814-99e0-b6e689ab6a1a | Himalayan Silk & Wool | India | Nandini Iyer |
| bb6b2783-8daa-4541-90e3-97b5817ba0dd | Mumbai Garment Makers | India | Rajesh Kumar |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
supplier_ | uuid | Unique identifier for the supplier.unique | 17b8c676-1f11-4be1-abee-7ae42f2041f8 | 0% |
supplier_ | string | Official trade or business name of the supplier company.unique | Rohan Textiles & Agri Exports | 0% |
country | string | Sourcing or operational home country of the supplier. | India | 0% |
contact_ | string | Full name of the designated primary account representative or liaison. | Priya Sharma | 0% |
Products products · table · 5,000 rows
Details about individual products, including cost, price, and stock.
Preview
| product_iduuid | product_namestring | descriptionstring | unit_costdecimal | pricedecimal | stock_quantityinteger | category_iduuid | supplier_iduuid |
|---|---|---|---|---|---|---|---|
| 769fe943-b85d-4341-894c-db8887c09572 | Premium Cat Food - Salmon Flavor | Ergonomic office chair with adjustable lumbar support and mesh back. | 76.07 | 134.84 | 91 | 9a48eff2-4709-4f96-8e57-95d1b6d69edd | b515934d-c5bf-4082-8e2f-395af9f6cdcc |
| 0ca1f6b9-7fb4-40be-a2cf-46b136a7024b | Artisan Ceramic Vase - Blue Glaze | Gourmet dark chocolate bar, 70% cacao, with sea salt flakes. | 21.74 | 27.19 | 115 | 883c5d4a-cc07-4e9e-bbba-1c3f46c248c1 | 6fcd2649-4d56-4631-8d8e-99f3f2d07c78 |
| 61f5625a-ef86-4d46-9dd9-5f284ffa0cc7 | High-Precision Digital Scale | Organic cotton baby onesie, snap closure, soft and gentle on skin. | 85.64 | 194.83 | 30 | e7e52058-be73-4f64-8f35-6f293da0efdd | cd123f6a-14e5-4bde-9abd-2e253eb162b6 |
| a6ea460a-b589-4458-8e65-a70fddfa9aa4 | Men's Cotton Blend Casual Shirt - Navy | Gourmet dark chocolate bar, 70% cacao, with sea salt flakes. | 69.6 | 121.95 | 103 | 3948598e-ff55-4cc9-8cc0-5dfd14989a47 | 064fab43-26c8-4eee-891f-b18697aa3534 |
| bb78edfb-9a93-4be4-bed6-1dfa62e93cf8 | Ergonomic Gel Mouse Pad | Stainless steel travel mug, 16 oz, keeps beverages hot or cold for hours. | 49.74 | 76.03 | 290 | 3f40ade4-21df-470b-a0c2-28aadfd30b25 | 5e9f56e8-2a2f-49a8-9601-7dcf89c8cc30 |
| 61dd8dbe-2973-4fce-86a7-8818cbb8ed71 | The Art of War - Classic Edition | Relaxing chamomile tea bags, caffeine-free, 20 count box. | 80.47 | 183.79 | 256 | a7c98c5f-1096-4c0d-9b46-ed238c6b56f8 | cd123f6a-14e5-4bde-9abd-2e253eb162b6 |
| 56e1fa8c-0033-43c7-9baf-afbb54f7ceb0 | Heavy-Duty Cordless Drill Set | High-quality mechanical keyboard with customizable RGB backlighting. | 106.34 | 189.41 | 105 | b8fa32ea-4d3a-4adb-852a-a85e70abcd16 | 56a11bef-140a-4134-8971-777e829847f5 |
| b994f34f-c4e9-49c7-9c58-217bc3625732 | Wireless Bluetooth Earbuds - Black | Organic whole bean coffee, medium roast, 12 oz bag. | 35.76 | 76.46 | 78 | 05a1fcfc-8e44-4dff-a808-d3f880c1b663 | ee67d0cd-dfe4-469d-a83a-2e7386cec807 |
| 526f4e88-8b37-41e8-b4ef-8478500997af | Acoustic Guitar - Natural Finish | Recycled glass vase, modern minimalist design. | 63.63 | 149.67 | 72 | eac8dbcd-5e63-4fdf-851f-fa4a14d693e2 | a5e96496-783b-4f73-8e9c-3c9447bd8262 |
| 05593fc3-3e49-4b37-8a09-c8151f9e6bc4 | Building Blocks Set - Creative Fun | High-performance running shoes with responsive cushioning and breathable upper. | 79.53 | 151.83 | 42 | bf50d752-3920-4229-ba44-4ee53ebe649a | 1a637f7b-a2cb-42f0-9679-9d39112d18c0 |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
product_ | uuid | Unique identifier for each product record.unique | 769fe943-b85d-4341-894c-db8887c09572 | 0% |
product_ | string | Full commercial title and brand label of the product. | Premium Cat Food - Salmon Flavor | 0% |
description | string | Detailed merchandising description outlining features, materials, and product specifications. | Ergonomic office chair with adjustable lumbar support and mesh back. | 0% |
unit_ | decimal | Direct acquisition or manufacturing cost per unit in USD. | 76.07 | 0% |
price | decimal | Standard retail selling price in USD, maintaining a positive margin over unit cost. | 134.84 | 0% |
stock_ | integer | Total available units physically on hand in warehouse fulfillment centers. | 91 | 0% |
category_ | uuid | Foreign key to categories.category_id. | 9a48eff2-4709-4f96-8e57-95d1b6d69edd | 0% |
supplier_ | uuid | Foreign key to suppliers.supplier_id. | b515934d-c5bf-4082-8e2f-395af9f6cdcc | 0% |
Sales sales · fact table · 22,247 rows
Records of sales transactions, including quantity, amount, and date.
Preview
| sale_iduuid | customer_idinteger | sale_datedate | quantity_soldinteger | sale_amountdecimal | product_iduuid |
|---|---|---|---|---|---|
| 26d9ecd5-a1ba-48f8-bfab-aa7d4d9cd20e | 14809 | 2024-01-26 | 3 | 501.45 | 56e1fa8c-0033-43c7-9baf-afbb54f7ceb0 |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
sale_ | uuid | Unique identifier for the sale transaction. | b2f28e6f-af24-44d7-9c1e-35452bc2c28f | 0% |
customer_ | integer | Identifier of the purchasing customer. | 10630 | 0% |
sale_ | date | Date on which the sales transaction occurred. | 2024-04-21 | 0% |
quantity_ | integer | Number of units purchased in the transaction. | 3 | 0% |
sale_ | decimal | Final monetary amount paid for the transaction after applicable discounts. | 191.53 | 0% |
product_ | uuid | Foreign key to products.product_id. | d6e85188-d826-4f6d-bde0-615f6cbf6af2 | 0% |
How the tables join
products.category_id references categories.category_idmany to one: each Products row points to one Categories rowproducts.supplier_id references suppliers.supplier_idmany to one: each Products row points to one Suppliers rowsales.product_id references products.product_idmany to one: each Sales row points to one Products row
Questions to answer with it
What is the total sales amount for each product category?
Join products with categories and sales, then group by category name and sum sale amount.
tables: products, categories, sales
Which suppliers provide products with the highest unit cost?
Join products with suppliers and order by unit_cost in descending order.
tables: products, suppliers
Analyze the distribution of sales amounts across different product prices.
Join products and sales, then analyze the relationship between product price and sale_amount.
tables: products, sales
Create a dashboard showing top-selling products by quantity sold over time.
Join products and sales, group by product name and sale_date, and sum quantity_sold.
tables: products, sales
Starter SQL
run against this data before publishingTable names match the SQLite file and the SQL script.
Total Sales Amount per Product Category
SELECT c.category_name, SUM(s.sale_amount) AS total_sales
FROM sales s
JOIN products p ON s.product_id = p.product_id
JOIN categories c ON p.category_id = c.category_id
GROUP BY c.category_name
ORDER BY total_sales DESC
LIMIT 20;Top 5 Suppliers by Average Product Unit Cost
SELECT su.supplier_name, AVG(p.unit_cost) AS average_unit_cost
FROM products p
JOIN suppliers su ON p.supplier_id = su.supplier_id
GROUP BY su.supplier_name
ORDER BY average_unit_cost DESC
LIMIT 5;Sales Quantity for Each Product
SELECT p.product_name, SUM(s.quantity_sold) AS total_quantity_sold
FROM sales s
JOIN products p ON s.product_id = p.product_id
GROUP BY p.product_name
ORDER BY total_quantity_sold DESC
LIMIT 20;Products with Stock Below 50 Units
SELECT product_id, product_name, stock_quantity
FROM products
WHERE stock_quantity < 50
ORDER BY stock_quantity ASC
LIMIT 20;Load it with pandas
import pandas as pd
# Unzip the CSV download first: one file per table
categories = pd.read_csv("categories.csv")
suppliers = pd.read_csv("suppliers.csv")
products = pd.read_csv("products.csv")
sales = pd.read_csv("sales.csv")
# Join products to categories
df = products.merge(categories, left_on="category_id", right_on="category_id", how="left", suffixes=("", "_categories"))
print(df.groupby("category_name").size().sort_values(ascending=False))Using it in your tool
- Excel
- Load each table into a separate sheet. Use XLOOKUP to join tables or Power Query for more complex data transformations. Create PivotTables on the sales data to analyze sales by category or over time.
- Power BI
- Model the data using a star schema: 'sales' as the fact table, and 'products', 'categories', and 'suppliers' as dimension tables. Create relationships between 'sales.product_id' and 'products.product_id', and 'products.category_id' and 'categories.category_id'. Example DAX Measures: Total Sales = SUM(sales[sale_amount]) Total Quantity Sold = SUM(sales[quantity_sold]) Average Unit Cost = AVERAGE(products[unit_cost])
- SQL
- Load the SQLite or SQL dump into your preferred database. The primary keys and foreign keys are defined in the schema, allowing for joins between tables like sales to products and products to categories or suppliers.
- Python
- Use pandas to load CSV or SQL data. Merge tables using `pd.merge()` and perform aggregations with `groupby()` and `agg()`. Utilize libraries like Matplotlib or Seaborn for visualizations.
Formats available
- CSV (zip)One CSV file per table, zipped
- Excel workbookOne worksheet per table
- SQLite databaseA ready-to-query database file with every table
- Parquet (zip)One Parquet file per table, zipped
- SQL scriptCREATE TABLE with primary and foreign keys, then INSERTs
- CSVA single CSV file
- JSONA single JSON file
How this data was generated
Synthetic data. Every row was generated: no real people, customers or companies are in this dataset.
Synthetic data generated by GoMask DataFactory from a relational blueprint: keys, links and rules are enforced in code, text columns are filled by a language model. No real people, companies or transactions.
- Data generated by GoMask DataFactory.
- Synthetic data mimics product catalog and sales transaction structures.
- Includes relationships between products, categories, and suppliers.
- Checked by an automated quality gate: unique keys, no orphan foreign keys, required columns filled, declared rules and date ranges (realism score 92).
Limitations
- The data is synthetic and does not represent actual market conditions.
- Customer behavior and sales patterns are simulated.
- Does not include external factors like marketing campaigns or economic indicators.
- Distributions and correlations are modelled, not measured from real records.
blueprint · product-dataset
Scale this dataset
Same tables. As many rows as you need.
Open the blueprint behind these 4 tables in Data Factory: keep the relationships, change a column, and generate it at the size you need.
- 200,000 rows
- 1,000,000 rows
- Tables
- categories, suppliers, products, sales
- Licence
- yours to use, including commercially
- API slug
- product-dataset