# 电助力自行车渠道分析：项目说明

本项目为个人学习作品，品牌、渠道及经营数据均为模拟，仅用于展示分析思路，不代表任何真实企业。虚构场景为品牌通过北、中、南三区各两家门店销售 City、Trail、Cargo 三款产品，时间为 2025 年 1—6 月。货币单位 CU 也是虚构的。

## 数据字典

每行是一个门店、产品、自然月；共 108 行。`month` 月份；`region` 地区；`store` 门店代码；`product` 产品代码；`opening` 期初库存（台）；`sell_in` 品牌向门店销售（台）；`sell_out` 门店向消费者销售（台）；`closing` 期末库存（台）；`list_price` 模拟标价（CU/台）；`transaction_price` 模拟当月成交价（CU/台）；`promotion` 是否促销。价格假定同一门店产品月内统一，不含税费或运费的额外调整。

生成规则见 `generate.cjs`：初始每组库存 18 台，基础销量按产品设置并加入不同门店和产品各自相位的确定性月度波动；南区销量总体增加但存在波动；N01 销量整体下降，4 月起额外补货并模拟 15% 促销；C02 的 City 模拟 10% 促销。期末 = 期初 + 进货 − 销量，下一月期初等于上一月期末。假设无退货、调拨、损耗、在途货物或缺货；这些规则是为练习而设计，不是现实规律。运行 `node generate.cjs` 可重建 CSV 和页面数据。

## 指标与局限

- Sell-in、Sell-out：所选记录的台数之和；不能互换，前者并非消费者需求。
- 期末库存：选定期间最后一个自然月的库存快照，不累加月末库存。
- 销量环比：最后一个月销量 ÷ 前一自然月销量 − 1；即使仅选择一个月也使用同样地区、门店、产品筛选下的前月。没有前月或前月为零时显示“—”。
- 库存覆盖天数：最后一个月期末库存 ÷ 该月 Sell-out × 该月自然日数；零销量显示“—”。这是按当月销量速度的静态估算，不是未来预测，不反映库存年龄或缺货结构。
- 平均成交价：按销量加权的模拟成交价；促销销量占比 = 促销记录中的 Sell-out ÷ 全部 Sell-out。没有销量时不计算。标价在同一产品下固定。

所有筛选组合没有匹配记录时显示空表；跨产品的覆盖天数是总库存除以总销量，可能掩盖结构差异。图表是线索而非因果证据；没有真实客流、毛利、退货、库龄、竞争环境和门店访谈，不能认定积压、促销效果或市场趋势。

## 三个练习案例

1. N01 销量整体下滑，4 月起补货高于终端销量，库存上升。核实客流、产品结构、订单与在途情况；与门店复核补货并设定短周期跟踪。
2. N01 4 月起模拟 15% 降价，但销量仍下行。不能断言促销无效；核实活动时间、曝光、竞品与客流，之后设计可比测试。
3. 南区销量呈增长信号，这是生成规则中的设定。核实季节性、门店活动和覆盖变化；与当地团队交流并检查补货能力。

## 可用于简历的项目介绍

**渠道经营与价格分析看板｜个人学习项目**  
围绕虚构电助力自行车品牌，设计 Sell-in、Sell-out、库存和价格的分析问题，使用模拟月度数据探索渠道差异，并提出需要与门店核实的信息及初步行动。项目不使用任何企业内部数据，也不代表真实业务成果。

**分工表述建议：** 我提出项目目标、业务问题与真实性边界，并需要在实际学习和核对后确认指标口径、案例和讲解；AI 协助设计数据结构与生成规则、编写页面和整理说明。请根据本人实际参与和理解程度修改，不要声称独立完成尚未亲自完成的工作。

## 面试讲解提纲

1. **问题**：先分清品牌向渠道销售和渠道向消费者销售，再寻找销量、库存和价格之间值得调查的组合。
2. **数据**：解释门店 × 产品 × 月份的粒度和库存平衡；展示下一月期初如何衔接。
3. **指标**：销量衡量流量，期末库存衡量存量；覆盖天数把两者放在同一尺度，环比用于观察方向。价格按销量加权，避免把销量不同的记录简单平均。
4. **案例**：讲 N01 的库存增加与销量下降，再提出门店访谈和补货核查；强调促销与销量同时变化不证明因果。
5. **边界和下一步**：模拟规则本身决定了案例；真实应用需要核对数据质量、退货、调拨、库龄、客流、在途和季节性，并与海外本地团队验证。
6. **个人与 AI**：如实说明自己提出的问题、亲自核查和学到的内容，以及 AI 在生成、编码和文案上的协助。

## 使用

直接打开 `index.html`；将整个文件夹上传到个人网站即可保留样式、交互与数据。若嵌入现有网站，保留相对路径并检查目标站点的链接和样式隔离。页面不需要服务器或第三方库。
