返回 Skill 列表
extension
分类: 数据与分析无需 API Key

电商零售分析

电商零售分析

person作者: user_7b1bb74dhubcommunity

电商订单明细 · 业务健康度 + 用户价值 分析流水线

适用于单表逐行订单数据(列通常含:InvoiceNo, StockCode, Description, Quantity, InvoiceDate, UnitPrice, CustomerID, Country)。输出一份自包含 HTML 报告。

环境

  • 用 managed Python 建 venv:.../binaries/python/versions/X/python.exe -m venv .../envs/default,再装 pandas numpy scipy openpyxl plotly
  • 未装 pyarrow 时 df.to_parquet 会报错 → 用 try/except 退化到 to_csv

关键字段语义(先建数据字典,标注不确定点)

  • InvoiceNo:6位;C 开头 = 取消/退货单(Quantity 多为负、金额为负)。
  • Quantity/UnitPrice 可为负或 0(调整项/错误录入),Revenue = Quantity×UnitPrice。
  • CustomerID 常大量缺失(线下/批发/无注册),缺失行无法做用户级分析。
  • 粒度 = 发票×商品行;无单一主键,候选复合键 (InvoiceNo, StockCode, InvoiceDate) 但重复导入会破坏唯一性。

质量审计 → 清洗规则清单(每条含:原因/影响面/可回滚策略)

统计项:缺失率、取消单数、Quantity 负/零/极端(>99.9分位)、UnitPrice ≤0、完全重复、逻辑重复(InvoiceNo+StockCode+Qty+Price+Date)、国家分布、时间边界。 分析基(analysis base) 建议口径:CustomerID 非空 & 非取消 & Quantity>0 & UnitPrice>0 & 去逻辑重复。每条规则保留标记列以便回滚(如 IsCancel/dup_flag/extreme_flag)。

月度核心指标

GMV(剔除取消单)、订单数(去重 InvoiceNo)、客单价 AOV=GMV/订单、活跃买家(去重 CustomerID)、月内复购率(同月≥2张发票客户占比)、取消单占比(取消发票/总发票)。 用 Plotly:make_subplots(secondary_y=True) 做双轴趋势;histogram 看 Quantity/UnitPrice 分布(截尾+log);bar 看 Top 国家/商品。

RFM 分群

  • 快照日 = 最大 InvoiceDate + 1 天。R=距末次交易天数(反向打分),F=去重发票数,M=累计GMV。
  • 五分位 qcut(数据右偏、无既定阈值);R/F/M 各 1–5,2×2×2 简化映射为 6~8 个运营可直接落地的分群。
  • 输出分群规模 + 收入占比表。

Cohort LTV(简化版)

  • 每位客户首购月 = cohort;CohortIdx = 订单月 − 首购月(pd.PeriodIndex(...).astype("int64") 相减,不要 .apply(lambda x:x.n),会 AttributeError)。
  • 透视得各 cohort×offset 的 GMV 与 客户数,人均累计 LTV = cumsum(Revenue/客户数)。
  • 局限:数据仅 13 个月,晚 cohort 右端空白多,跨 cohort 直接比较需谨慎;未折现。

异常检测

月度 GMV/订单数序列用稳健 Z-score(0.6745*(x-med)/MAD)标 |z|>2;日级 GMV 标 |z|>3。对异常点给"可能原因假设 + 验证方法"(季节性/边界不完整月/批量导入/超大单)。

报告拼装(避免踩坑)

  • 图表:fig.to_html(full_html=False, include_plotlyjs=False),在 HTML <head> 手动放一次 https://cdn.plot.ly/plotly-2.35.2.min.js(离线打开需联网)。
  • 把计算结果(指标/审计/规则/分群/cohort/异常)先 dump 成 analysis_outputs.json,报告脚本单独读取,与重计算解耦。
  • 建议字符串不要在 f-string 里留 {x} 之类的占位符(会 NameError);先算好变量再拼接。
  • 报告脚本记得 import pandas as pdpd.DataFrame(O["seg_summary"])(JSON 里是 dict 不是 DataFrame)。

交付

结构化 HTML:Executive Summary(KPI 卡) + 数据字典 + 质量审计&清洗规则 + 月度看板 + RFM + Cohort LTV + 异常 + 5 条建议(每条含预期收益指标/验证实验设计/风险点)。用 present_files 交付。

反馈与评分

如果本技能帮你节省了时间、解决了问题,欢迎到 SkillHub 为它打分(搜索对应 slug 即可)。你的评分是我持续迭代、补充场景的动力。