# 零售 AI 落地体检

给零售企业的**数据现状体检**：7 天出结论，回答「你现在的数据能支撑哪些 AI 应用，缺哪一格点不亮」。

- 交付说明书（报价、排期、边界）→ [交付说明书](DELIVERY.md)
- 诊断脚本 → `scripts/audit.py`

## 这是什么

不是咨询、不是培训、不是 POC。**是一份可复核的诊断报告。**

```
客户给一份只读库副本 → 脚本跑一遍 → 报告列出 8~10 项能力逐项能不能做
                    → 附补数据清单（缺哪列、补完解锁什么）
```

## 核心特点

| | |
|---|---|
| **不认表名** | 客户的库不会叫 `product_order`。按列名组合自动识别订单表/客户表/商品表，识别不到就报缺，**不猜、不编** |
| **数字可复核** | 每个比例都带分子分母，客户可自己重跑 |
| **客户跨表关联** | 客户表和订单表看起来都100% 有值，也可能一套都 join 不上 —— 这一项单列，最容易被漏 |
| **零依赖** | Python 3.9+ 标准库，不需要装任何东西 |
| **只读** | 连接串级 `mode=ro`，不连生产库、不写任何文件 |

## 快速开始

```bash
# 客户侧：先做只读副本（唯一需要客户配合的动作）
cp /path/to/prod.db /tmp/audit_ro.db

# 跑体检
python3 audit.py /tmp/audit_ro.db --json /tmp/result.json

# 渲染成 Markdown 报告
python3 audit.py /tmp/result.json --render --json 体检报告.md
```

## 报告的 5 大节

1. **数据资产盘点** —— 有几张表、多少行、哪张是订单/客户/商品
2. **字段完整度** —— 按业务问题列（时间/金额/数量/客户/商品/手机/地区），每个都给「有值/总数 = %」+ 判定
3. **客户跨表关联** —— 客户表和订单表能不能 join、匹配率多少、用的是哪一列
4. **能力可算性** —— 8~10 项逐项判「能 / 不能」，每项写清依据与「补什么能做」
5. **结论与 30 天建议** —— 一句总体判断 + 分批建议

## 报告样例（真实跑出来的）

以一个 17 张表、33,178 张订单的库为例：

```
总体结论：🟢 可做 5 项分析 —— 具备落地基础，建议先做 1~2 个场景验证

| 能力                          | 能做吗 | 依据|
|-----------------------------|-------|-----|
| 客户跨表关联（订单↔客户档案）     | ✅| 264/302 对得上（87.4%）|
| 客户总量与结构统计                | ✅    | 客户表姓名完整度 100%      |
| 区域分布 / 门店对比| ✅    | 客户表可用                 |
| 单客户复购率| ❌    | 订单客户标识 100% + **时间 0.0%** |
| RFM 会员分层                    | ❌    | 无会员表 + 订单关联 |
| 企微/短信触达| ✅    | 手机完整度 100%             |
| 客单价 / 连带率| ❌    | 订单金额 **1.4%**        |
| 品类结构 / 爆款分析              | ✅    | 商品表 SKU 完整度 98.6%     |
| 毛利测算| ❌    | 缺售价表 + 成本表 + 收款记录 |
```

**注意「时间 0.0%」这一项**：33,178 张订单里只有 2 张有订单日期。
**字段存在（有 `order_date` 这一列）≠ 有数据（2/33,178 = 0.0%）。**
这就是体检存在的意义—— 这个问题在需求文档里看不出来，只有跑数据才看得见。

## 支持范围

| 数据库 | 状态 |
|---|---|
| SQLite | ✅ 直接支持 |
| MySQL / PostgreSQL | 需另出适配脚本（改 `tables_of` + `cols_of` + 连接方式，约 1~2 小时） |

## 边界（写进合同的那句话）

> 本服务交付的是**诊断报告与建议**，不含系统开发、不含数据治理实施、不承诺「做完就能上AI」。
> 报告结论以体检当日的数据状态为准；客户在报告后新增/修改数据导致结论变化的，不在服务范围内。

更完整的报价、排期与「我明确不做的」，见 [交付说明书](DELIVERY.md)。
