ERP Synthetic Data Generator
收藏资源简介:
这是一个可配置的Python脚本,生成用于演示、测试和分析原型的现实合成业务数据,特别是当真实的ERP/CRM数据集不可用(或无法用于长期历史时期)时。该项目模拟了一家在空气清新剂类别(扩散器生态系统)中运营的公司的销售数据。产品目录简单但业务现实,分为四个产品组:设备、补充装、配件和备件。客户活动是按客户和按天生成的,客户行为自然分化。该数据集设计用于支持10-15年以上的交易,适合构建和测试CRM/ERP分析仪表板、细分和保留分析、流失/休眠逻辑、客户生命周期模型和数据工程管道。
This is a configurable Python script that generates realistic synthetic business data for demonstrations, testing, and analytical prototyping, particularly when real ERP/CRM datasets are unavailable or cannot be utilized for long-term historical periods. This project simulates the sales data of a company operating in the air freshener category (diffuser ecosystem). The product catalog is simple yet business-realistic, divided into four product groups: equipment, refills, accessories, and spare parts. Customer activities are generated on a per-customer and per-day basis, with natural variations in customer behavior. This dataset is designed to support transactional records spanning over 10 to 15 years, and is suitable for building and testing CRM/ERP analytics dashboards, segmentation and retention analysis, churn/hibernation logic, customer lifecycle models, and data engineering pipelines.
ERP 合成数据生成器数据集概述
数据集背景
该数据集模拟一家经营空气清新剂品类(香薰机生态系统)公司的销售数据。
数据集特点
- 大规模:可生成数十万客户及多年的历史数据。
- 长周期:设计支持10–15年以上的交易记录。
- ERP风格且关系型:包含清晰的主表、事实表及外键关联。
- 行为化(非均匀随机):每个客户随时间形成独特的购买模式。
适用场景
- CRM/ERP分析仪表盘构建与测试。
- 客户细分与留存分析。
- 流失/休眠逻辑分析。
- 客户生命周期模型构建。
- 数据工程管道(主表 + 事实表 + 键)测试。
生成的数据表(CSV格式)
- Products(产品主表)
- Customers(客户主表)
- Sales Transactions(销售交易事实表,发票行级别)
数据模型详情
products 表
| 列名 | 类型 | 主键 | 外键 | 说明 |
|---|---|---|---|---|
| product_id | INTEGER | ✅ | 内部产品标识符 (1..N) | |
| product_name | TEXT | 描述性产品名称 | ||
| brand | TEXT | 品牌标签 | ||
| category | TEXT | 类别:DEVICE、REFILL、ACCESSORY、SPARE_PART |
||
| gramm_g | INTEGER | 克重(以克为单位),非消耗品允许为NULL |
customers 表
| 列名 | 类型 | 主键 | 外键 | 说明 |
|---|---|---|---|---|
| customer_id | INTEGER | ✅ | 内部客户标识符 (1..N) | |
| created_at | TEXT | ISO日期格式 YYYY-MM-DD |
||
| first_name | TEXT | 可选(可配置缺失) | ||
| last_name | TEXT | 可选(可配置缺失) | ||
| TEXT | 可选(可配置缺失) | |||
| phone | TEXT | 可选(可配置缺失) | ||
| email_opt_in | INTEGER | 0/1(概率取决于邮箱是否可用) | ||
| sms_opt_in | INTEGER | 0/1(概率取决于电话是否可用) | ||
| call_opt_in | INTEGER | 0/1(概率取决于电话是否可用) |
sales_transactions 表
| 列名 | 类型 | 主键 | 外键 | 说明 |
|---|---|---|---|---|
| invoice_id | TEXT | 业务发票标识符 | ||
| customer_id | INTEGER | ✅ customers.customer_id |
客户引用 | |
| invoice_date | TEXT | ISO日期格式 YYYY-MM-DD |
||
| product_id | INTEGER | ✅ products.product_id |
产品引用 | |
| quantity | NUMERIC | 购买数量 | ||
| revenue | NUMERIC | 净收入金额(简单定价模型,可按需扩展) | ||
| store_id | INTEGER | 门店标识符 |
产品目录结构
产品目录分为四个产品组:
- Devices — 香薰机设备。
- Refills — 与设备配套使用的消耗品/液体。
- Accessories — 支架、固定器、贴纸、附加组件。
- Spare parts — 盖子、密封件、灯芯、适配器等。
客户行为模拟
客户活动按逐个客户和逐日生成,因此客户行为自然分化:
- 部分客户购买一次后消失。
- 部分客户成为忠诚客户并重复购买补充装。
- 部分客户随时间增加或减少购买频率。
- 部分客户长期休眠后再次回归。
- 部分客户永久流失(模拟“流失决定日期”)。
- 活跃客户偶尔可能在同一天生成多张发票。
生成工具与依赖
- 该数据集由一个可配置的Python脚本生成。
- 项目依赖:
pandas、Faker。
免责声明
本项目生成的所有数据均为合成数据,随机生成,不包含任何真实的客户或公司信息。




