SietaData 项目 — 核心记忆(soul)

项目

SietaData:连锁鞋店(5店)进销存分析系统 路径:~/sietadata/ 数据库:~/sietadata/db/sieta.db(SQLite) 上传目录:/home/ubuntu/uploads/(从网站 portal 拖拽上传)

文档

流程

每晚22:00后,收到4个文件(渠道:himalaya邮件或portal上传,大头哥会主动告知): 1. 基础库存.xls(全量+颜色,无二类三类,行数多)→ 主表 2. 带二三类库存.xls(有颜色,有二类三类,行数少)→ 附表 3. 店铺维度销售.xls(店+货+颜色)→ 入 sales_ledger 4. 营业员维度销售.xls(人+货+颜色)→ 入 staff_sales

处理命令:

bash ~/sietadata/pipeline/daily/run_daily.sh \
  基础库存.xls 带二三类库存.xls 店铺销售.xls 营业员销售.xls 日期

磨合期大头哥主动告知,格式固定后走cron自动收himalaya邮件。

三张库存 xls 合并规则(重要)

  1. 基础库存.xls(全量,含颜色,无二类三类)→ 主表
  2. 带二三类库存.xls(有颜色,有二类三类)→ LEFT JOIN
  3. 关联键:(商品编码, 店铺编码, 颜色编码)
  4. 合并后多出:二类、三类 字段

两张销售 xls

  1. 店铺维度销售(店+货+颜色)→ 入 sales_ledger
  2. 营业员维度销售(人+货+颜色)→ 入 staff_sales(两人名如"李秋香、顶班"各分一半)

文件格式清洗规则

. xls 文件表头在 第5行(0-indexed),用 header=5 读取 . 列重命名:商品编码→货号,店铺名称→店铺,选择价格→进价,选择价格金额→成本/销售成本 . 商品名称删除(是)(否) . 删除列:一类,货品性质,数量%,选择价格金额%,折扣,结算金额 . 删除合计行(店铺名称=合计 或 商品编码为空) . 毛利 = 金额 - (进价 × 数量)

营业员→店铺映射规则

营业员编码前两位数字 → 店铺编码 - 02 → STA102(二店) - 04 → STA104(四店) - 05 → STA105(五店) - 06 → STA106(六店) - 08 → STA108(八店) 注意:串店的营业员用此规则不准,所以保留两张销售表

数据库五张表

用途 主键
product 商品属性(品牌/年份/季节/二类三类) 货号
inventory_snapshot 每日库存快照(含颜色) (日期, 货号, 店铺, 颜色编码)
sales_ledger 店铺销售流水(含颜色+营业员) unique(日期,货号,颜色,营业员)
staff_sales 营业员日销售(两人名已拆分) unique(日期,营业员,货号,颜色)
inventory_ledger 变动流水(sale/adjustment) (日期, 货号, 店铺, 颜色, 类型)

定价/成本字段

销售表:进价=选择价格,销售成本=选择价格金额 库存表:进价=选择价格,成本=选择价格金额

分析模型

ana profile = deepseek v4-flash 分析阶段先用大模型,稳定后转纯脚本零 token

飞书推送

注意事项