Inventory Management Dataset for Excel
This ready-made dataset provides a sample of inventory management data, perfect for analysts practicing with Excel. Explore product details, warehouse information, stock levels, and transaction history.
At a glance
- 4tables
- 35,571rows
- 18columns
- Jan 2023 – Dec 2024date range
The 4 tables
preview and data dictionary per tableProducts products · table · 5,000 rows
Contains details about each product in the inventory.
Preview
| product_iduuid | product_namestring | categorystring | unit_pricedecimal |
|---|---|---|---|
| 3ad7abe5-7157-436f-a41f-cbe38eaf792b | Merino Wool V-Neck Sweater | Clothing | 88.35 |
| 6ef0079e-9c55-4a80-a74d-d2d2a549c512 | Slim Fit Chinos | Clothing | 62.75 |
| 711f3018-dfde-4a94-bbab-66ba0c8c448b | Waterproof Hiking Jacket | Clothing | 102.7 |
| de166538-dc5f-4022-a5f6-e47f3ca49849 | Cotton Crew Neck T-Shirt | Clothing | 17.32 |
| 7524a9fc-7b64-485f-a070-ec8a21809797 | Denim Jeans | Clothing | 44.93 |
| b373d309-312b-45cd-aad6-4d4d0bb79b0d | Down Puffer Vest | Clothing | 106.61 |
| 2c6b3673-ebdb-4724-ab0a-13ff9961b20e | Linen Blend Dress Shirt | Clothing | 48.67 |
| 0e25a079-8f62-43db-96f6-0f20bc3f151f | Athletic Shorts | Clothing | 20.06 |
| c7b84d5a-347e-4b7c-b157-7cafec321268 | Trench Coat | Clothing | 114.21 |
| d53f9467-a21b-40b0-bac1-32d388bf3f1c | Graphic Print Hoodie | Clothing | 50 |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
product_ | uuid | Unique identifier for the product.unique | 3ad7abe5-7157-436f-a41f-cbe38eaf792b | 0% |
product_ | string | Commercial name of the product. | Merino Wool V-Neck Sweater | 0% |
category | string | Merchandising category for the product. | Clothing | 0% |
unit_ | decimal | Standard retail unit selling price in USD. | 88.35 | 0% |
Warehouses warehouses · dimension table · 10 rows
Information about each warehouse facility.
Preview
| warehouse_iduuid | warehouse_namestring | locationstring |
|---|---|---|
| 5f578a76-4384-45c0-8c61-1687b3ad5c4f | Central Distribution | Houston |
| da15e864-888d-4f01-8bce-27cc064a0daa | Midwest Depot | Chicago |
| 019156aa-3c27-42c1-ae51-be954fc23461 | East Coast Hub | New York |
| c66ae24f-7ff2-4550-b1ee-695281ff640b | West Coast Hub | Los Angeles |
| 892df107-8c38-4046-9784-13fb2da5f15d | Southwest Logistics Center | Phoenix |
| 41c60ae0-1448-4616-b98c-d5c49cdf6ea9 | Northern Hub | San Jose |
| 31d4fe79-04a2-406d-9bcd-64db7d921d80 | Pacific Distribution Depot | San Diego |
| 8ced2585-20bd-4d56-ad92-95eee5ac5a65 | Southern Regional Logistics | Dallas |
| 86a94de1-7712-44f5-af85-b3b692d1349a | Warehouse A | Philadelphia |
| a8745edb-3b82-4b49-ae08-792a4249fdac | Warehouse B | San Antonio |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
warehouse_ | uuid | Unique identifier for the warehouse facility.unique | 5f578a76-4384-45c0-8c61-1687b3ad5c4f | 0% |
warehouse_ | string | Formal designated name of the warehouse facility.unique | Central Distribution | 0% |
location | string | Metropolitan city location of the warehouse facility.unique | Houston | 0% |
Inventory levels inventory_levels · fact table · 15,122 rows
Current stock quantities for products in specific warehouses.
Preview
| inventory_level_iduuid | stock_quantityinteger | last_updateddatetime | product_iduuid | warehouse_iduuid |
|---|---|---|---|---|
| 908f28ea-97e0-48c8-af0a-241650284d34 | 73 | 2024-12-23 17:23:12 | 3ad7abe5-7157-436f-a41f-cbe38eaf792b | a8745edb-3b82-4b49-ae08-792a4249fdac |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
inventory_ | uuid | Unique identifier for the inventory record. | 385fe7e6-5acf-49fa-a131-ecce9d36f34d | 0% |
stock_ | integer | Current on-hand inventory count in the warehouse. | 231 | 0% |
last_ | datetime | Timestamp when stock was last counted or reconciled. | 2024-07-25 14:58:26 | 0% |
product_ | uuid | Foreign key to products.product_id. | 1f426329-5a67-46f0-be60-127e9d3c1924 | 0% |
warehouse_ | uuid | Foreign key to warehouses.warehouse_id. | da15e864-888d-4f01-8bce-27cc064a0daa | 0% |
Transactions transactions · fact table · 15,439 rows
Records of inventory movements in and out of warehouses.
Preview
| transaction_iduuid | transaction_typestring | quantityinteger | transaction_datedatetime | product_iduuid | warehouse_iduuid |
|---|---|---|---|---|---|
| c2d22a79-518d-48e6-aa1f-3f77a3af1175 | OUT | 1 | 2024-07-17 04:35:03 | 2823195f-c345-4a77-931b-32ab4bd7abb6 | 5f578a76-4384-45c0-8c61-1687b3ad5c4f |
| 0a0a36f6-2c6a-4bf3-929b-66a87d64d926 | OUT | 1 | 2023-09-06 14:10:06 | 96ce6722-e195-4ef7-b25f-c0febed8ec67 | c66ae24f-7ff2-4550-b1ee-695281ff640b |
| e3f1b44e-4116-4881-916e-a91a7de9f843 | OUT | 1 | 2023-09-25 09:43:49 | bbbdfd4c-e3cf-41db-9f9a-380601d0260f | c66ae24f-7ff2-4550-b1ee-695281ff640b |
| 5ce0d01c-996b-4c94-8cab-aba378b8ed83 | OUT | 1 | 2023-12-16 08:04:10 | 604082b4-d732-4edf-b360-f01c1523ed02 | da15e864-888d-4f01-8bce-27cc064a0daa |
| cc2c717e-6e4e-4470-afaf-ec071b8c2054 | OUT | 8 | 2023-03-20 14:16:37 | 26be08cb-29d1-4235-872e-b95f5fd39100 | c66ae24f-7ff2-4550-b1ee-695281ff640b |
| c7f55ee8-3ccf-4b9a-b8f6-ada25ab90532 | OUT | 6 | 2024-12-13 08:45:20 | e8f6192a-36fc-49de-90e6-5dfe3f2463ea | 31d4fe79-04a2-406d-9bcd-64db7d921d80 |
| ef3bcd4c-c2d0-4def-bc52-3b770de1ebd9 | OUT | 3 | 2024-12-11 12:11:58 | 2a219a9c-b948-4b0b-894e-77bf32c31f09 | 019156aa-3c27-42c1-ae51-be954fc23461 |
| 3b4f25d1-c268-4fbc-a7d5-2a821fd8f28e | OUT | 3 | 2023-06-06 12:38:26 | 280a7af5-989c-4a07-828b-632a6888a273 | c66ae24f-7ff2-4550-b1ee-695281ff640b |
| 61fd974d-38ef-45cd-921a-22676eee99e7 | OUT | 3 | 2024-11-11 13:33:16 | 0c68571e-4730-4e75-89b7-d9a03f8586c5 | 019156aa-3c27-42c1-ae51-be954fc23461 |
| 58d902b6-7cef-4d6c-baf2-44d2d4572291 | OUT | 2 | 2023-11-14 09:26:57 | 54864ffe-66f3-4e30-a338-5c765bedc8ce | c66ae24f-7ff2-4550-b1ee-695281ff640b |
Data dictionary
| column | type | description | example | null % |
|---|---|---|---|---|
transaction_ | uuid | Primary key identifier for the inventory movement transaction. | c2d22a79-518d-48e6-aa1f-3f77a3af1175 | 0% |
transaction_ | string | Direction of inventory movement: IN for restock or return, OUT for sale, transfer, or fulfillment. | OUT | 0% |
quantity | integer | Number of units moved in this transaction (must be positive). | 1 | 0% |
transaction_ | datetime | Timestamp when the inventory movement occurred between 2023-01-01 and 2024-12-31. | 2024-07-17 04:35:03 | 0% |
product_ | uuid | Foreign key to products.product_id. | 2823195f-c345-4a77-931b-32ab4bd7abb6 | 0% |
warehouse_ | uuid | Foreign key to warehouses.warehouse_id. | 5f578a76-4384-45c0-8c61-1687b3ad5c4f | 0% |
How the tables join
inventory_levels.product_id references products.product_idmany to one: each Inventory levels row points to one Products rowinventory_levels.warehouse_id references warehouses.warehouse_idmany to one: each Inventory levels row points to one Warehouses rowtransactions.product_id references products.product_idmany to one: each Transactions row points to one Products rowtransactions.warehouse_id references warehouses.warehouse_idmany to one: each Transactions row points to one Warehouses row
Questions to answer with it
Use Excel filters to find all products in the 'Electronics' category with a stock quantity below 50 in any warehouse.
Filter the products table by category, then link to inventory_levels and filter by stock_quantity.
tables: products, inventory_levels
Calculate the total value of inventory for each warehouse using Excel SUMIF or SUMIFS functions.
Join products and inventory_levels, then use SUMIFS with warehouse_id and product_id to calculate total value per warehouse.
tables: products, inventory_levels, warehouses
Create a pivot table in Excel to summarize the total quantity of incoming and outgoing transactions for each product per month.
Extract month from transaction_date, group by product and month, summing quantities for IN and OUT transactions.
tables: products, transactions
Determine the top 5 products by total stock value across all warehouses.
Calculate stock value per product (unit_price * stock_quantity) and sum across all warehouses, then rank.
tables: products, inventory_levels
Starter SQL
run against this data before publishingTable names match the SQLite file and the SQL script.
Low Stock Products
SELECT p.product_name, w.warehouse_name, il.stock_quantity FROM inventory_levels il JOIN products p ON il.product_id = p.product_id JOIN warehouses w ON il.warehouse_id = w.warehouse_id WHERE il.stock_quantity < 50 LIMIT 20;Total Inventory Value Per Warehouse
SELECT w.warehouse_name, SUM(il.stock_quantity * p.unit_price) AS total_value FROM inventory_levels il JOIN products p ON il.product_id = p.product_id JOIN warehouses w ON il.warehouse_id = w.warehouse_id GROUP BY w.warehouse_name ORDER BY total_value DESC LIMIT 20;Monthly Transaction Summary
SELECT strftime('%Y-%m', t.transaction_date) AS transaction_month, p.product_name, t.transaction_type, SUM(t.quantity) AS total_quantity FROM transactions t JOIN products p ON t.product_id = p.product_id GROUP BY transaction_month, p.product_name, t.transaction_type ORDER BY transaction_month, p.product_name LIMIT 20;Top 5 Products by Stock Value
SELECT p.product_name, SUM(il.stock_quantity * p.unit_price) AS total_stock_value FROM inventory_levels il JOIN products p ON il.product_id = p.product_id GROUP BY p.product_name ORDER BY total_stock_value DESC LIMIT 5;Load it with pandas
import pandas as pd
# Unzip the CSV download first: one file per table
products = pd.read_csv("products.csv")
warehouses = pd.read_csv("warehouses.csv")
inventory_levels = pd.read_csv("inventory_levels.csv")
transactions = pd.read_csv("transactions.csv")
# Join inventory_levels to products
df = inventory_levels.merge(products, left_on="product_id", right_on="product_id", how="left", suffixes=("", "_products"))
print(df.groupby("category").size().sort_values(ascending=False))Using it in your tool
- Excel
- Each table is provided as a separate sheet. Use XLOOKUP to join tables based on product_id or warehouse_id. Create PivotTables to summarize transaction data by month and product.
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 using GoMask DataFactory.
- Synthetic data mimics inventory management scenarios.
- Includes product, warehouse, stock level, and transaction data.
- Checked by an automated quality gate: unique keys, no orphan foreign keys, required columns filled, declared rules and date ranges (realism score 100).
Limitations
- The data is synthetic and does not represent real-world inventory.
- Transaction quantities are positive; negative values are not present.
- No data on product costs or profit margins is included.
- Distributions and correlations are modelled, not measured from real records.
blueprint · inventory-management-dataset-for-excel
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.
- 50,000 rows
- 200,000 rows
- Tables
- products, warehouses, inventory_levels, transactions
- Licence
- yours to use, including commercially
- API slug
- inventory-management-dataset-for-excel