SIETA 店铺运营知识库
SIETA(是她)鞋店业务的单一知识真源。 目的:任何 AI/人接手 SIETA 任务时先读这里,不再靠猜。 建库 2026-10-01,来源:sietadata/docs、8 个 sieta skill、108 篇 handoff。 大头哥持续添加:新内容跟我说,或直接写进
raw/。
怎么用
目录
entities(实体档案)
concepts(口径与规则)
- 数据口径铁律 — 绝不能犯的口径错误(每条都曾出事)
- 虚拟仓(STA902–908) — 门店过季仓(门店编码 +800),封仓/解封靠调拨
- 挂账(STA100) — 返厂售后 / 换码的临时挂账(不是总仓)
- 商品分类与运营规则 — 当季款 / 滞销款 / 补货闸门
- 业务决策记录 — 109 篇 handoff 的 #决策 提炼(可退性 / NEW 徽标 / is_pos 等)
- 财务分析口径 — 利润表 / 存销比 / 配色 / 费用模型 / 商场对账单与保底
- 播报与报表体系 — CEW 22:15 / 22:30、日报、周报
raw(原始材料 / 持续添加区)
- handoff-业务提炼 — 30 篇 handoff 提炼的 59 条业务事实(补充材料)
- 待补充 — 已知缺口 + 待大头哥确认的项
相关
- 项目规则大全(偏系统实现):
~/sietadata/docs/sietadata-rules.md - 工作日志:
~/handoff/(INDEX.md 可查) - 操作流程:
~/.hermes/skills/data-science/sieta-*
更新日志
见 log
店铺档案
SIETA 目前 5 家门店(+1 个总仓)。店铺编码来自 ERP 欧普 V8。
当前门店(5 家)
| 编码 | 店名 | 店型 | 备注 |
|---|---|---|---|
| STA102 | 二店 | 街铺 | |
| STA104 | 四店 | 街铺 | |
| STA105 | 五店 | 街铺 | 长期失血:34 个月中 25 个月亏损,累计 −11.8 万 |
| STA106 | 六店 | 街铺 | |
| STA108 | 八店 | 商场店 | 扣点模式,费用结构不同 |
数据核对:2026-10-01 从
sales_ledger核验编码↔店名,与历史一致。
历史门店(已关闭)
| 编码 | 店名 | 说明 |
|---|---|---|
| STA101 | 一店 | 已关闭;sales_ledger 里存约 1,500 条历史销售;虚拟仓 STA901 |
| STA103 | 三店 | 已关闭;同上;虚拟仓 STA903 |
| STA107 | 七店 | 已关闭;虚拟仓 STA907 |
| STA109 | 九店 | 已关闭(大头哥 2026-10-07:配件已安排调回总仓);归「其他」块 |
这两个编码在库里有店名,但不在当前 5 店体系,统计现役门店时不要算进去。
仓库三层结构
| 层 | 编码 | 作用 |
|---|---|---|
| 门店 | STA102 / 104 / 105 / 106 / 108 | 对外销售 |
| 总仓 | STA000 | 内部调拨/领用,不算门店销售 |
| 挂账 | STA100 | 返厂售后/换码的临时挂账,不是总仓(详见「挂账(STA100)」页) |
| 虚拟仓 | STA902/904/905/906/908(现役门店编码 +800;已关闭店为 STA901/903/907) | 存放该店过季/未陈列库存:季节交替时在门店仓与虚拟仓之间调拨(封仓/解封)。门店销售与「陈列库存」都不算它;存货金额要算。详见 虚拟仓(STA902–908)(大头哥 2026-10-07 口述) |
- 总库存 = 三层合计;店铺库存 = 仅 5 门店;销售 = 仅门店
- 2026-10-01 实测库存占比:门店 85.6% / 虚拟+其他 12.9% / 总仓 1.4%
- 2026-10-07 大头哥订正:STA000 是总仓,STA100 是挂账(此前本档与网页版误写「总仓 = STA000 + STA100」,据此还实现过一次 STA100 显示「总仓」,已全部订正)
铁律
- 固定排序:二店 → 四店 → 五店 → 六店 → 八店(STA102→STA104→STA105→STA106→STA108)。所有报表/页面按此顺序,不用编码排序。
- 报店名不报编码(对着大头哥说话时)。
- STA000(总仓)与 STA100(挂账)一律排除:库存类、销售类统计都排除 —— 都不是门店销售(STA000=内部调拨,STA100=临时挂账)。即时销售页与「近期已售」都已排除;库存查询页里它们显示为「总仓」「挂账」两个标签,不显示 raw 编码。
费用模型
八店(商场店)
- 基础成本:抽成 21% + 给商场提供税票的成本 7~8% ≈ 销售额 × 30%(2026-10-02 大头哥确认)
- 实测口径(2026-10-02,商场对账单 44 个月):基础抽成 21%,加各项扣款后商场实际拿走 32.0%;有年度保底(2024 = 886,700 / 2025·2026 = 770,000),未达标按 21% 补足差额、 达标后超额不返还 → 详见 财务分析口径 §3.1
- 固定费用(房租/工资/分摊)从 2026-05 总费用反推:月固定 ¥18,815(日 ¥627)
街铺(二/四/五/六店)
租金(2026-10-07 大头哥口述)
| 店 | 年租金 | 折日租 | 租期起算 | 议价 |
|---|---|---|---|---|
| 二店 | ¥150,000 | ¥411/天 | 每年 7 月起 → 次年 6 月 | 每年议价 |
| 四店 | ¥70,000 | ¥192/天 | 每年 10 月 14 日起算一年 | 每年议价 |
| 五店 | ¥86,400 + 仓库 ¥7,200/年(= ¥600/月)= ¥93,600 | ¥256/天 | — | 暂不调整 |
| 六店 | ¥140,000 | ¥384/天 | 每年 4 月 1 日起算 | 每年议价 |
- 四店今年降租:去年 ¥80,000(¥219/天)→ 今年起 ¥70,000(¥192/天),降 ¥27.4/天
- 五店仓库租金 ¥600/月 = ¥7,200/年(2026-10-07 大头哥确认单位)
- 议价节点顺序:六店 4/1 → 二店 7/1 → 四店 10/14(五店不调整)
- 约定(2026-10-07):到议价节点必须主动和大头哥 confirm 一次(不靠他记)。
机制 = 3 个年度 cron,各在节点当天 08:00 发一条飞书私聊(大头哥拍板:一年执行一次就够,不要月频)。
| 店 | cron 表达式 | job id |
|----|------|--------|
| 六店 |
0 8 1 4 *|407ff49b5c76| | 二店 |0 8 1 7 *|2955a4c6ee19| | 四店 |0 8 14 10 *|0c6076267778|
脚本 ~/.hermes/scripts/shop_lease_reminder.py:无状态、无阈值、无去重、不补发 —— 一年跑一次、跑一次问一句。
· 节点当天发:「今年房租有没有变化?没变化就不用回我;有变化回一句增加/减少多少」
· 不是节点日 ⇒ 静默退出(大头哥口径:他没回复 = 没变化,所以漏一次无所谓,不存在补发)
· 只有「该发却发不出去」才返回非 0 ⇒ 走 failure_deliver 报飞书私聊
五店(STA105)不建提醒(大头哥 2026-10-07:「五店租金暂时不用管了」)⇒ 提醒只对 二/四/六 三店
四店 2026 年已议价完毕(8 万→7 万)= 脚本 SKIP 表里的 ("STA104", 2026) ⇒ 当年不响,2027 起自动恢复。
- 仍缺:各店工资 / 水电 / 其他固定费用——「固定日费 = 5 月固定月费 ÷ 30」里的月费口径还需按店补齐(见 待补充)
口径提醒
- 编码不区分大小写:sta108 = STA108 = 八店
- 费用对比中「固定 vs 变动」要分清,商场店与街铺不可直接比绝对值
相关
品牌档案
大头哥的口语名 ↔ 库内真名(关键!)
大头哥报品牌习惯用同音字,库里真名不同。听到对不上的品牌名,先当同音字去 product.品牌 里核,不要当成新品牌。
| 大头哥口语 | 库内真名 |
|---|---|
| 娇雅魅妮 | 娇娅媚妮 |
| 伊戈尔施 | 依歌尔诗 |
| 俏俏女孩 | 俏俏姊妹 |
| 思她 / 思他 | 是她(SIETA) |
品牌清单(按 SKU 数,2026-10-01 查 product 表)
| 品牌 | SKU 数 | 说明 |
|---|---|---|
| 娇娅媚妮 | 4269 | 主力代理品牌 |
| 依歌尔诗 | 3381 | 主力代理品牌 |
| 迷人角色 | 1425 | |
| 是她(SIETA) | 797 | 自有品牌,买断不可退 |
| 俏俏姊妹 | 684 | |
| 其他 | 532 | 未归类 |
| 康妮 | 318 | |
| 广州服饰 / 麦露迪 / 丽朵儿 / 悠悠夫人 | 283 / 280 / 239 / 192 | 小体量 |
| 陈茹 / 武汉服饰 / 绝色 / 女人 / 玛迪西亚 | 170 / 96 / 45 / 45 / 41 | 小体量 |
| 1303# / 古典风度 / 主流派 / 欧尚 | 41 / 33 / 23 / 22 | 小体量 |
品牌字段来自 ERP,是「款式来源」标签,不等于结算关系。代理品牌可退,自有品牌不可退——这是库存风险的核心区别。
品牌色标(报表/页面用)
| 品牌 | 颜色 | Hex |
|---|---|---|
| 依歌尔诗 | 淡紫 | #C4B5FD |
| 娇娅媚妮 | 粉色 | #F472B6 |
| 是她 | 深红 | #DC2626 |
| 迷人角色 | 绿色 | #4ADE80 |
| 其他 | 灰色 | #94A3B8 |
来源:
sietadata-rules.md§5.4(2026-06-02)。是否仍生效待确认。
相关
系统与数据资产
站点
- HTTP 根:
https://sieta.vip/sietadata/ - 部署路径:
/var/www/sieta/sietadata/ - 项目目录:
~/sietadata/(数据库db/sieta.db) - 后端:
~/admin-auth-server.py(systemdadmin-auth,端口 7891),nginx/api/代理
页面清单(2026-10-02 实测)
销售
| 页面 | 说明 |
|---|---|
sales_analysis.html |
销售分析(PC,对齐此页设计) |
sales_analysis_mobile.html |
销售分析(手机版) |
sales_pics.html |
销售图片墙(每笔销售的照片+明细+清版标签) |
sales_comparison.html |
销售对比 |
hotsale.html |
热卖商品 |
stock_sales_ratio.html |
存销比 |
arrivals.html |
新到货 |
ERP 工具
| 页面 | 说明 |
|---|---|
erp/instant_sales_pc.html |
即时销售(PC) |
erp/instant_sales.html |
即时销售(手机) |
erp/recent_sales.html |
近期已售 |
erp/stock_detail_pc.html |
库存明细(PC) |
库存
| 页面 | 说明 |
|---|---|
inventory_analysis.html / inventory_analysis_ii.html |
库存多维分析 |
inventory_health.html |
库存健康度 |
inventory_category.html |
品类分析(品类覆盖不全,已搁置) |
inventory_query.html / inventory_single_store.html |
库存查询 |
财务
| 页面 | 说明 |
|---|---|
finance_analysis.html |
财务分析 |
finance_history.html |
历史盈利追踪 |
monthly_profit.html / monthly_profit_mobile.html / monthly_profit_history.html |
月利润(历年同月趋势) |
mall_fees.html |
八店商场费用(自然年 + 当年 vs 上年同期;含保底进度板、10 月逐日进度图) |
其他
same_style.html(同款)、special_query.html(特殊查询)、index.html(首页)
数据库(~/sietadata/db/sieta.db,531MB,2026-10-01)
核心表:
- product — 商品属性(货号/品牌/年份/季节/二类/三类/上市月份)
- sales_ledger — 店铺维度销售(含营业员字段)
- staff_sales — 营业员维度销售(拆分两人名)
- inventory_snapshot — 库存快照(周日 full + 周一至六 delta)
- inventory_ledger — 库存变动流水
派生表(性能优化,聚合品类/店铺维度不需 join product):
- sku_store_window — 商品×店铺窗口(含一类/二类/三类 + 当前库存数量 + 店铺编码)
- sku_store_daily / sku_recent_sales / derived_refresh_run
其他库:
- egos/egos.db — 八店商场对账单(2023-01~2026-08,44 个月):statements / deductions / sales_rows。
源 PDF 与 OCR 中间产物在 ~/sietadata/egos/(egos/、png/ 已 gitignore,ocr_json/ 入库)。
重建:新 PDF 放 egos/<年>/ → /usr/bin/python3 ~/sietadata/egos/run_all.py → gen_page.py
- finance.db — 月度利润表,表名 monthly_finance(store_id 为纯数字:0 = 全公司合计 / 101 一店 / 103 三店 / 102·104·105·106·108 现役店),2026-10-01 实测 282 条
- same_style.db(136K) — 同款查询
- special_query.db(476K) — 特殊查询
定时任务(cron,2026-10-01 实测 enabled)
| ID | 名称 | 时间 |
|---|---|---|
8145a0406c09 |
CEW 每日播报 | 22:15 |
193a24084bb6 |
CEW 二次验证 | 22:30 |
314b745063bd |
Sieta 周报生成 | 周一 6:00 |
c3993741caa7 |
投递-Sieta 周报 | 周一 9:00 |
84c5ff1d1da9 |
库存健康度周报 | 周四/周日 22:30 |
556cdbce934f |
可退性周报生成 | 周一 6:00 |
e6936db737ea |
投递-可退性周报 | 周一 8:30 |
1e93398d4126 |
db 快照 | 周六 22:59 |
87e9cb1d11aa |
飞书群「销售」触发即时报表 | 每分钟轮询 |
deba6ac91d8a |
每日工作日报 | 8:00 |
2b14485dc9ea |
朋友圈&VIP 维护周报 | 周二 6:00 |
cf4fa43000de / dd6ff5bb70aa |
视频日报 13:00 / 视频周报 周一 6:00 | |
ea9bbdc8f880 |
八店商场费用页重建 | 每晚 22:50(排在 CEW 抓数之后) |
ERP
- 欧普 V8(移动报表 / Mobile BI)
- 每晚邮件发 4 个附件(基础库存 / 含二三类库存 / 店铺销售 / 营业员销售)
- 逆向资料见 skill
infrastructure/reverse-engineering
相关
数据口径铁律
每一条都曾经出过错。做任何 SIETA 数据任务前先扫一遍这一页。
1. sales_ledger 与 staff_sales 绝不能加总
这是最严重的错误(已犯 4 次)。
ERP 硬性限制:一次只能导一个维度——要么「店铺维度」(这笔卖在哪个店),要么「营业员维度」(这笔谁卖的)。
两份文件是同一批销售的两个视角(同一块 pizza:一份说在几号桌,一份说哪个厨师做的,pizza 没变成两块)。
| 用途 | 用哪张表 |
|---|---|
| KPI / 各店 / 各品牌 | sales_ledger |
| 营业员业绩 | staff_sales |
| 金额相加 | 翻倍,绝对禁止 |
自检:写 SQL 前问——我在用一张表还是两张?有没有无意中相加? 健康信号:两表金额总数应接近(匹配率 ≥94%,差 <1%),不一致说明合并有 bug。
2. 总仓 STA000 一律排除
内部调拨/领用,不算门店销售。库存统计同样排除。
3. 编码一律不区分大小写
sta108 = STA108 = 八店,yg004312 = YG004312 同一货号(ERP 手工维护很随意)。
不回填历史、不改 ERP。形状不符(长度/字符集,不是大小写)归「其他」。
4. 数据来源与时效
- 我们库里的数据 = ERP 每晚副本,T-1
- 报数必须说明来源与时效:「这是从我们 SQLite 取的(ERP T-1 副本),还是 ERP 实时?」
- ERP 侧的修改(如可退标记)由后台人工逐条做,有专人按大头哥协调的节奏 → 不承诺自动改 ERP
5. ERP 数据质量坑
.0后缀:整数被转浮点,颜色编码105→105.0,年份2026→2026.0。查询时REPLACE(x, '.0', '')再 GROUP BY- UNIQUE + NULL 不防重:
INSERT OR IGNORE在 UNIQUE 列含 NULL 时不防重,批量导入前先DELETE WHERE 日期=? - 颜色数虚高:去店铺维度算颜色数必须先
GROUP BY 货号, 颜色编码合并同色跨店记录
6. 时区/日期
- 日期从 xlsx 文件名提取(最可信),不用系统时钟、不用邮件发送时间
- 三源不一致(文件名 / 邮件正文 / 主题)→ 发飞书告警并中止入库,等确认
相关
挂账(STA100)
一句话
挂账(STA100)= 我们把商品返给供货商做售后 / 换码时的临时存放账号;这些商品一般短期内会由供货商退回给我们。
(2026-10-07 大头哥口述定义。)
它是什么
- 编码 STA100,ERP 里的店铺名称是「临时挂账」,页面上统一显示为 「挂账」。
- 用途:商品返给供货商做售后维修、或换码时的中转站 —— 货不在我们手上,也不是门店在卖。
- 流转:一般短期内供货商返回给我们(不是长期沉淀的仓库)。
与总仓的区别(别混,2026-10-07 曾搞错一次)
| 编码 | 页面显示 | 含义 |
|---|---|---|
| STA000 | 总仓 | 内部调拨 / 领用的总仓,唯一的总仓 |
| STA100 | 挂账 | 返厂售后 / 换码的临时挂账,不是总仓 |
挂账里的两类货(2026-10-07 大头哥补充,别混)
| 类型 | 怎么认 | 性质 | 挂久了怎么办 |
|---|---|---|---|
| 广州供应商的货 | 品牌 「是她」(SIETA 自有品牌);货号多为 STA 开头(品牌表缺行时按此兜底) | 返给广州供应商做售后 → 变成对他们的欠账 | 时间久一点没事(实测有挂 400+ 天的):下次去广州订货时冲抵掉;供应商不合作就变坏账。大头哥要的是每次列出全部、不设阈值 |
| 武汉供应商的货 | 其他全部(娇娅媚妮 / 依歌尔诗 / 迷人角色 / 俏俏姊妹… ) | 返厂售后 / 换码 | 武汉供应商一年四季都合作、要频繁沟通 ⇒ ≥10 天提醒、≥20 天严重,要催回来 |
- 所以「挂账」不是单一含义:是她货 = 对广州供应商的债权(可冲抵、有坏账风险,不用催);武汉供应商货 = 在途返厂,该催。
- 分组判据用品牌(不是看货号前缀):实测 7 个「是她」货号不带 STA 前缀,只按前缀会漏。
看数据时怎么用
- 不算门店销售、不算门店库存:与 STA000 同样排除(门店只有 STA102 / 104 / 105 / 106 / 108 五家)。
- 查某个货号的库存时,如果 STA100 有货 ⇒ 说明该货号当前有商品在外(返厂售后或换码中), 店里拿不到这些货。
- 挂账里的数量不能当作可售库存去满足补货/上货判断。
超期提醒(2026-10-07 大头哥定)
- 只对武汉供应商那批(是她/广州供应商那批不设阈值、每次全列): 货号连续在挂账里 ≥ 10 天 → 提醒;≥ 20 天 → 严重。
- 「连续」= 从最新快照日往前,天天都在挂账里;中间断一天就重新计数(出去过再进来算新一轮)。
- 节奏:每周二自动报一次完整名单(严重档 + 提醒档,标出与上周比「本周新增/升档」的货号);
其余时间静默。大头哥主动问 → 立刻跑一次报给他(
guazhang_aging_alert.py --list)。 - 实现:
~/.hermes/scripts/guazhang_aging_alert.py(cron 每周二 08:00); 数据源~/sietadata/db/sieta.db的sku_store_daily(STA100 行,只读打开)。 - 某货号长期挂着不动也不会漏 —— 每周报的是完整名单,不依赖「是否变化」。
仍未确认
- 供货商返回的典型周期天数(大头哥说「短期内」)—— 提醒线按他给的 10 / 20 天写死,未用该值。
虚拟仓(STA902–908)
2026-10-07 大头哥口述。用途一句话:门店仓(102…)里只放「店里有陈列的」,过季/放不下的封到虚拟仓。
对应关系
| 门店 | 门店仓 | 虚拟仓 | 说明 |
|---|---|---|---|
| 二店 | STA102 | STA902 | 902 = 二店的虚拟仓(大头哥举例) |
| 四店 | STA104 | STA904 | |
| 五店 | STA105 | STA905 | |
| 六店 | STA106 | STA906 | |
| 八店 | STA108 | STA908 |
规律:门店编码 +800(102→902)。二/四/五/六/八店各一个,没有例外。
它是干什么的(大头哥原话口径)
「虚拟仓是我们存放过季鞋子的地方。比如说到了 9 月、10 月,我们就会把夏季的一些款式封仓收起来, 然后在系统里把它从 STA 102 调到 STA 902。到了来年的 4 月、5 月,把老款的封仓凉鞋再拿出来时, 再把它从 902 调回到 102。」
- 封仓:过季款从门店仓 → 虚拟仓(系统里做调拨)
- 解封:到季再从虚拟仓 → 门店仓
- 目的:「保证 102 这个仓库里的所有库存都是我们店里有陈列的」——12 月大冬天店里不会摆凉鞋
- 所以 虚拟仓 = 该店当前没在店里陈列的自家存货(不是别的店的、也不是外部的)
两个口径的名字(大头哥 2026-10-07 点名)
「后期我们做库存分析的时候考虑进去这个因素,什么是店内陈列货品的库存,什么是总库存。」
| 口径 | 包含 | 回答什么问题 |
|---|---|---|
| 店内陈列货品的库存 | 门店仓 STA102/104/105/106/108 | 店里摆着多少、要不要补货、是不是卖不动 |
| 总库存 | 门店仓 + 虚拟仓 9xx | 自己手里一共压着多少货、占用多少资金、季末剩多少 |
总仓 STA000 与挂账 STA100 两个口径都不算。混用会把过季封存的货读成「店里卖不动」。
看数据怎么用(口径)
| 场景 | 要不要算虚拟仓 |
|---|---|
| 门店销售 / 即时销售 / 营业员业绩 | 不算(只在 STA102/104/105/106/108 发生) |
| 「店里能卖多少 / 陈列库存 / 卖完了没」 | 不算(这就是虚拟仓存在的意义) |
| 全公司存货 / 库存金额 / 过季占用资金 | 要算(货还是自家的,只是没摆出来) |
| 总仓(STA000)/ 挂账(STA100) | 都不算门店陈列,也不属于任一店的封仓 |
代码里对应:sku_store_window / admin-auth-server.py 的 include_virtual(STA902–908)、
_CLEARANCE_STORES 只含 5 个门店仓;后端 invb_STORE_NAME_OVERRIDES 与库存查询页把 9xx 显示成「XX店虚拟仓」。
数据层字段(2026-10-07 起)
SQLite 里已经不需要靠编码猜口径了:
| 对象 | 说明 |
|---|---|
dim_store(维表,单一真源) |
店铺编码 / 店铺名称 / 仓库类型 / 对应门店 / 是否陈列口径 / 备注 |
sku_store_daily.仓库类型 / .对应门店 |
日粒度宽表随列携带口径(值由 dim_store 派生) |
sku_store_window.仓库类型 / .对应门店 |
窗口预聚合表同上 |
仓库类型取值:门店陈列 / 虚拟仓 / 总仓 / 挂账 / 其他- 口径 SQL:
仓库类型='门店陈列'→ 店内陈列货品的库存;仓库类型 IN ('门店陈列','虚拟仓')→ 总库存 - 迁移脚本
~/sietadata/scripts/migrate_dim_store.py(幂等);夜间refresh_derived.py重建时会重新写入这两列 STA101/STA103/STA107/STA109都是已关闭门店,归「其他」,两个口径都不算:STA101一店:有历史销售 + 2026-01~06 库存行STA103三店:只有历史销售STA107七店:库里无任何行STA109九店(2026-10-07 大头哥订正,此前误标为「孙学芬/顶班」):手里是配件,已安排同事调到总仓 STA000 —— 预期 2026-10-08 晚抓取后 STA109 名下无产品;那批配件随之进入总仓(总仓本来就不算门店口径)
实测(2026-10-06 快照,数量 > 0)
| 仓 | 货号数 | 件数 | 库存成本 | 季节构成 |
|---|---|---|---|---|
| STA902(二店) | 457 | 632 | ¥109,903 | 冬 439 / 秋 103 / 春 47 / 夏 43 |
| STA905(五店) | 100 | 290 | ¥43,482 | 冬 290(全冬) |
| STA906(六店) | 49 | 137 | ¥20,643 | — |
| STA908(八店) | 79 | 234 | ¥41,679 | — |
| STA904(四店) | 1 | 1 | ¥235 | 几乎空仓 |
- 十月快照下虚拟仓里以冬/秋为主 → 与「当季在店里卖的留在门店仓、其余封起来」一致
- 四店 904 只剩 1 件 = 四店基本没封仓(该店过季款可能清完或没调拨)
待补充
- 封仓/解封的具体日期由谁定、有没有台账(目前只有大头哥口述的季节节奏)
- 904 几乎空仓是否符合预期
商品分类与运营规则
【待定】本页商品分级体系整体待升级。2026-10-04 大头哥决定要升级重定义;以下全部为现状口径记录,只用于理解历史报表/页面,不要据此做新决策。待升级清单见 §7。
0. 两套体系(先分清,别混)
店里商品有两套并行分级,依据不同、用途不同:
| 体系 | 依据 | 用在哪 | 档位 |
|---|---|---|---|
| A 款式分类 | 上市月份(年份+季节推算) | 库存分析的款式构成 | 当季款 / 准新款 / 两年陈 / 老款 |
| B 运营标签 | 上货日期、销售行为 | 销售库存监控(滞销/清版判定) | 新品观察期 / 滞销款(黄橙红) |
1. 【待定】款式分类(按上市月份动态算)
基于 上市月份,SQL 查询时动态计算,不存死值,跨月自动切换。
| 分类 | 条件 |
|---|---|
| 当季款 | 年份 = 当前年;或(年份 = 当前年−1 且 1–2月 且 秋/冬);或 距今 ≤ 0(负数兜底) |
| 准新款 | 不满足当季,距今 ≤ 24 个月 |
| 两年陈 | 24 < 距今 ≤ 36 个月 |
| 老款 | 距今 > 36 个月 |
上市月份换算(从 年份 + 季节 推算,与实际到货无关):
| 季节 | 上市月份 |
|---|---|
| 春 | YYYY-02 |
| 中空 | YYYY-03 |
| 夏 | YYYY-05 |
| 秋 | YYYY-09 |
| 冬 | YYYY-10 |
(季节实际取值:春/夏/秋/冬/中空 + 空值;空值年份 → 上市月份 NULL) 距今月数 = (当前年×12 + 当前月) − (上市年×12 + 上市月)
2. 品类(一二三类)
- 商品分 一类 / 二类 / 三类(
product.二类/三类字段) - 覆盖率(在库口径):一类 100%,二类/三类 仅 ~23% → ERP 侧缺口,不是入库 bug
- 结论:按品类切图/做报告会有一大块「未分类」,暂不做品类切图
3. 【待定】运营标签
依据上货日期与销售行为,用于监控页的滞销 / 清版判定(与款式分类无关)。
3.1 新品观察期
上货日期距今天 < 30 天(上货日期缺失时用 首次销售日 / 首次入库日 兜底)→ 不判滞销,只观察。
来源:2026-09-16 销售库存监控 PRD(~/sietadata/docs/prd/2026-09-16-sales-inventory-monitor-prd.md)。
3.2 滞销款分级(2026-09-16 大头哥亲定,非建议值)
术语铁律:叫「滞销款」,禁止叫「死款」(已两次说错被纠)
| 连续无销售天数 | 级别 | 色 |
|---|---|---|
| ≥ 14 天 | 黄 | |
| ≥ 21 天 | 橙 | |
| ≥ 30 天 | 红 |
前置条件:必须先有库存才能判(否则未上架 / 已清零会被误标)。
4. 补货闸门
- 补货预警优先级远低于滞销款清理(大头哥原话「差的远」)
- 库存健康度含「三道闸」:当季款预警 / 清库天数 / 补货闸门
- 详见 skill
data-science/sieta-inventory-health
5. 「售」按钮渲染规则
- 90 天内没销售的货号不渲染「售」按钮(后端
has_recent标志控制)
6. 术语对照(现状,待升级时统一)
| 口语说法 | 库里是否有此定义 | 现状对应 |
|---|---|---|
| 新品 | 无独立定义 | 款式上≈「当季款」;运营上=「新品观察期(上货 <30 天)」 |
| 一年陈 | 无(全盘检索 0 命中) | 最接近「准新款(距今 ≤ 24 个月)」 |
| 两年陈 | 有 | 款式分类第 3 档(24–36 月) |
7. 待升级清单(2026-10-04 大头哥:这套体系要升级重定义)
- [ ] A 款式分类 与 B 运营标签 是否合并成一套 / 如何衔接
- [ ] 档位与阈值重定:当季/准新/两年陈/老款 的 24 / 36 月阈值是否还合适
- [ ] 「新品」到底按「上市 30 天」还是按「当季款」判定(现两套并存)
- [ ] 命名统一:口语「一年陈」库里无定义 → 是否给「准新款」加别名
- [ ] 是否引入更细档位(如按季度 / 半年的库龄分档)
相关
财务分析口径
1. 分析要求:不止环比同比
大头哥要的是历年同月趋势——销售额是否在降、费用是否同步降、净利润最终表现、库存走势、整体是否进入危险期。
分析要从「报数字」升级为「判趋势 + 判风险」。
2. 配色:中国习惯「红涨绿跌」(与西方相反)
| 含义 | 颜色 |
|---|---|
| 增长 / 盈利 | 红 |
| 减少 / 亏损 | 绿 |
| 存销比等「水平警示值」(非涨跌) | 橙色(避免被误读成绿=下降) |
2026-07-08 大头哥纠正。所有月报/财务页通用。
3. 费用模型
- 八店(商场店):抽成 21% + 给商场提供税票的成本 7~8% ≈ 基础成本 30%(大头哥 2026-10-02 确认的构成); 对账单实测商场实际拿走 32.0%(多出来的是各项扣款与保底补足,见 §3.1);固定费用月 ¥18,815(日 ¥627)
- 街铺:固定日费 = 5 月固定月费 ÷ 30
- 费用预估线用绿色虚线
#059669
3.1 商场对账单与保底(2026-10-02 实测入库)
数据源:武商黄石购物中心对账单,专柜「依歌尔诗」= 八店 STA108(联营,供应商代码 12610542),
2023-01 ~ 2026-08 共 44 个月。原件是纯扫描 PDF ⇒ 300dpi + RapidOCR(tesseract 中文糊)解析
→ 入库 ~/sietadata/egos/egos.db(statements 44 / deductions 509 / sales_rows 47,
六重算术自洽校验 44/44 通过)。页面:https://sieta.vip/sietadata/mall_fees.html
44 个月合计(实测)
| 项 | 金额 | 占销售额 |
|---|---|---|
| 销售额 | 2,883,895.81 | 100% |
| 基础抽成(21%) | 605,618.11 | 21.0% |
| 其他扣款合计 | 283,911.81 | 9.8% |
| 保底补足净额 | 32,614.43 | 1.1% |
| 商场拿走合计 | 922,144.35 | 32.0% |
| 实际应付(结算给 SIETA) | 1,961,751.46 | 68.0% |
保底规则(从对账单反推,已与 3 年数据完全对齐) - 年度补足额 = 21% × max(0, 年度保底 − 年度实际销售) - 年内 6 月先按「半年保底 = 年度保底 ÷ 2」扣一次;12 月按全年重算、多退少补 - 达标后超额不返还 —— 保底是下限,不是分成
| 年份 | 保底 | 实际销售 | 达成率 | 全年净补足 |
|---|---|---|---|---|
| 2023 | 未知(未触发) | 907,199.60 | — | 0.00 |
| 2024 | 886,700 | 768,658.20 | 86.7% | 24,788.78 |
| 2025 | 770,000 | 732,735.00 | 95.2% | 7,825.65 |
| 2026 | 770,000 | — | — | — |
** 口径要点 - 「基础成本 30%」的构成(2026-10-02 大头哥口径):抽成 21% + 税票成本 7~8% —— 我们要按销售额给商场开税票,税票本身是成本 ⇒ 21% + 8% ≈ 30%。别把 21% 当成全部成本。 对账单实测商场实际拿走 32.0%(21% 抽成 + 9.8% 各项扣款 + 1.1% 保底净额) - 保底基数 = 商场对账单销售额,不是 ERP 销售额 - ERP 与对账单口径差:2025 全年 −0.18%(对账单 732,735 vs ERP 731,425);逐日比对约 0.7% ⇒ 可混用**,但页面上必须标明哪里用的是对账单、哪里是 ERP 估算 - 未决:2025-03 有一笔 12,091.12 元保底扣款按规则对不上(上半年已超半年保底、本不该扣), 已被 12 月结算吸收、全年净额正确,来源待向商场核实(见 待补充)
4. 核心指标
- 存销比(库存 / 销售)——库存健康核心指标
- 利润表环比 / 同比 / 历年同月
- 库存走势与风险期判断
5. 访问注意
- 财务接口
/api/finance/*需 JWT 登录(cookieadmin_token7 天过期) - 首页是公开页,直接点财务页 → 无 token → 401 → 「框架在、内容空」
- 须先登录
/portal/admin.html(bighead / chenru)
相关
播报与报表体系
1. 每日销售播报(CEW 双通道)
- 22:15
8145a0406c09CEW 每日播报 → 发大头哥私聊 - 22:30
193a24084bb6CEW 二次验证(v2 全量对比,判据=「差异笔数」)→ 发私聊 - 周日跑 1 号 + 16 号 full
- 详细 PITFALL 见 skill
data-science/sietadata-pipeline
2. 日报格式铁律(大头哥多次纠正)
- 店铺顺序固定:二店→四店→五店→六店→八店
- 不要「单数」(几单),只要双数 + 金额
- 用店名不用编码
- 发错必须补发「(更正版)」,标注
之前日报数据有误,以此份为准
3. 周报
| 报表 | 生成 | 投递 |
|---|---|---|
| Sieta 销售周报 | 周一 6:00 | 周一 9:00 |
| 库存健康度周报 | — | 周四/周日 22:30 |
| 可退性周报 | 周一 6:00 | 周一 8:30 |
| 视频日报 / 视频周报 | 每日 13:00 / 周一 6:00 | 全员群 |
| 朋友圈&VIP 维护周报 | 周二 6:00 | 周二 11:00 |
生成与投递分离(谷时生成 + 准点投递),见 skill
infrastructure/cron-offpeak-delivery
4. 飞书投递目标
| 内容 | 目标 |
|---|---|
| 销售日报 / 周报 | 销售群 oc_9eeddda2511e3e8c62ed671017134814 |
| 库存 / 错误告警 | 大头哥私聊 oc_569a01e75d67f5f0422a994aa7132365 |
| 测试/诊断消息 | 只发私聊,绝不发群 |
5. 即时报表触发
飞书群里发「销售」→ 87e9cb1d11aa 每分钟轮询 → 触发即时报表
相关
业务决策记录
从 109 篇 handoff 的 #决策 标记中提取的 SIETA 业务规则,按主题归类。每条都是大头哥拍过板的,不是建议。
1. 可退性规则(2026-09-19 大头哥亲定)
品牌白名单(仅 4 个)
娇娅媚妮、依歌尔诗、迷人角色、俏俏姊妹 (大头哥口语:「娇雅魅妮 / 伊戈尔施 / 俏俏女孩」= 同音字)
- 是她(SIETA 自有品牌)= 买断,肯定不可退(他口语会说「思他」)
- 不在白名单的品牌一律不可退
时间窗口
- 上货 1 个月内可退,顶多 2 个月,最多不超过 3 个月
- 硬闸:上货满 90 天一律不可退(判据 = 上货日期 + 90 天 < 今天)
判定顺序:前缀 优先于 品牌/日期
| 前缀 | 含义 | 判定 | 库内数量 |
|---|---|---|---|
DM |
厂家代卖 | 一律可退(不看日期、不看品牌) | 338 |
DH |
处理货 | 一律不可退 | 730 |
其余:品牌在白名单 且 上货日期 > 今天−90 天 → 可退;白名单但无上货日期 → 判不了。
权威口径(大头哥原话)
SQLite 已按原则改成「不可退」的即为标准,SietaData 查数与每晚核对以我们库为准; 不要求 ERP 人工逐条改(1696 条会把人弄死);差异只要在清单里就不算冲突。
ERP 的可退标记是人工维护、经常出错 → sku_store_window.可退性 派生自商品名称标记,不可当真相,须按上述规则重算(实测:标可退的 1157 个货号里 925 个已超 90 天)。
参考:飞书文档 v2 https://sietavip.feishu.cn/docx/YYCFd2bTso5SvWxh5I2cuo7Pn3b
2. 滞销款
- 命名:「死款」→「滞销款」(大头哥:「死款名字不好听」)
- 三级预警(库存 > 0 且连续无销售):≥14 天=黄 / ≥21 天=橙 / ≥30 天=红
- 滞销预警页暂停更新(他准备大调整)—— 但派生表任务不能停,可退性靠它每晚跑
3. NEW 徽标口径
| 颜色 | 含义 |
|---|---|
| 红 | 全公司首笔 且 上货 ≤ 60 天 |
| 绿「本店NEW」 | 本店首笔 且 上货 ≤ 60 天 |
| 黄 | 非首笔 且 距上次销售 ≥ 30 天(视觉用 #CCF6FF,原黄色与库存按钮撞色) |
4. 销售 / 库存口径
- 当日销售一律
is_pos=0(已审核/已日结);is_pos=1仅白天实时看数用(即时销售表)→ 这是头号「数字对不上」根因 - 弹窗排除总仓 STA000:内部调拨/领用不算门店销售,与页面 5 店口径对齐
- 90 天内没销售的货号不渲染按钮(后端
has_recent标志),不是点开才说「没有销售」 - ERP 零库存语义:库存为 0 时 ERP 不返回库存表,整页只有「无数据或查询超时」→ 判
found=True/rows=[],不算故障(原实现连查 3 个卖光货号即触发 10 分钟熔断,店员卖光一双鞋就能把库存查询打瘫) - 编码不区分大小写:
sta108=STA108=八店,yg004312=YG004312同一货号(他原话「ERP 手工维护、大小写很随意」);不回填历史、不改 ERP(「别搞太复杂」) - 即时销售表要扩展多天视图(3/5/7 天),形态沿用现卡片,不做新汇总表
5. 库存健康度口径
- 秋季销售窗口:8/1 – 10/31(92 天)
- 季末良性剩余:20%
- 加权预测:用去年同季曲线
6. ERP 通道纪律
- ERP 16888 端口对所有人开放(不限定 IP——他电脑/手机动态 IP 会挡掉)
- 补分类只在深夜/增量跑(22:35 增量 + 02:30 补漏),白天不占 ERP 通道
- 教训:回填占满 ERP 通道会影响用户的即时销售页面
7. 页面 / 展示决策
- 是她热力图视觉定稿:店铺间隔 6px + 店铺块 3px 硬投影(无模糊纯黑)+ 画布内缩 4px + 「金额▸双数」切换无动画
- 徽标 = 店铺名黑底白字、固定大小、店铺块几何正中央(不要专属头部带)
- ERP 页品牌名沿用中文短名(娇媚 / 依歌 / 是她 / 迷人),不上 JM/EGOS 缩写
- 即时销售 PC + 手机页均以是她热力图替代圆环排名图;手机版比例 3:4
- 热力图做成共享模块
lib/sieta-heatmap.js(新页面 3 步接入,不拷代码) - 营业员维度 = 店铺 → 营业员,店名取自营业员编码前 5 位(数据源 ERP mode=6)
- 营业员序号配色:1=是她红 #FF5151 / 2=娇娅媚妮粉 #FFD9EC / 3=依歌尔诗浅紫 #E6CAFF / 4=俏俏姊妹 #921AFF
- 财务接口
/api/finance/*需 JWT 登录(详见 财务分析口径)
8. 系统使用范围与账号权限(2026-10-07 大头哥口径)
SietaData 的全部页面与工具只给大头哥 + 陈茹用,不给店里。
原话:「sietadata 的内容不会给店里使用的,我之前想过,后来放弃了,店里就好直接用 erp 好了」
落地含义:
- 管理登录(/portal/admin.html)签发 admin_token(30 天,sub=bighead;陈茹登录也是这个身份),
同时种一个 365 天的 sieta cookie。
- sieta = 店端共享账号的长期 cookie(365 天),手机上常见。_auth_check 优先认 admin_token。
- 进价/成本权限(2026-10-07 收紧):白名单 INVB_FULL_COLS_USERS(默认 bighead,chenru)的账号
才能看到 进价/成本/选择价格;其他账号(含 sieta)由服务端在投影层剔除 ——
此前只靠页面 URL 参数 ?noprice 视觉隐藏,去掉参数即见。
- 已知坑:管理 cookie 30 天到期后会自动退回 sieta 身份 ⇒ 进价列消失;重新登录管理页即可。
相关
handoff 业务提炼(补充材料)
从 30 篇 handoff(2026-05-27 ~ 2026-09-28)提炼的新增业务事实/规则/数字/决策。 已在
concepts/、entities/的不重复(可退白名单、NEW 徽标、is_pos=0、滞销款三级 等见 业务决策记录)。 括号 = 来源日期;「待核实」= 文档未定论。无编造。
店铺经营
- 编码三层:门店 STA102/104/105/106/108 /总仓 STA000 /挂账 STA100 /虚拟仓 STA901–908;※2026-10-07 大头哥订正:原文写「总仓 STA000 + STA100」有误,STA100 是挂账;总库存=三层合计,店铺库存=仅 5 门店,销售=仅门店(总仓销售=内部采购)。(2026-06-02)
- 历史门店(已关闭):一店 STA101、三店 STA103 —— sales_ledger 里各存约 1,500 条历史销售记录,当前 5 店体系不含它们(2026-10-01 核验确认编码↔店名)。
- 库存三层占比(2026-10-01 实测
sku_store_window):门店 85.6%(8,816 双)/虚拟+其他 12.9%(1,329 双、成本 ¥22.5 万)/总仓 1.4%(149 双)。 2026-06-09 handoff 记「虚拟仓占总库存 37%(¥65.6 万)」= 当时旧值,现已不符,勿引用。 - 无店名的 STA902/905/906/908/100 是否入云图待定;非 5 店编码统一落「其他」块,不硬塞进某店。(2026-09-23)
- 五店长期失血:25 个月亏损(2026-10-01 实测 34 个月中 25 个月亏损,累计 −11.8 万;2026-06-09 记 32 个月 −12.4 万)。(2026-06-09 / 2026-10-01)
- 各店销售(2026-09-01~09-22):二店 117 双/¥36,172、四店 103/28,873、五店 109/30,860、六店 119/33,021、八店 95/39,175;另 STA101 12/3,575、STA109 16/5,212。(2026-09-23)
- 同城引流病症:二店 170 播放/频率失控;四店 2 秒跳出 41%、抖音退步 18%;五店同城分发锁死、内容最好却播放最低;六店 5/19 爆款后暴跌 68% 无法复制;八店零视频、全靠朋友圈+VIP。(2026-06-02)
- 同城引流数据源=飞书多维表格(首抓 275 条);阶段策略=播放未到 2000 前,段子 80% + 产品 20%。(2026-05-31 / 2026-06-02)
- 主管会 2026-06-03、06-17 各一次,现场打印各店诊断报告(每店一张 A4)。(2026-05-31 / 2026-06-02)
品牌商品
- 品牌缩写:娇娅媚妮→JM、依歌尔诗→EGOS、迷人角色→MR、俏俏姊妹→QQ;「是她」保持中文;其余空间不够就不显示、归灰色「其他」。(2026-09-21)
- ERP 页品牌名沿用中文短名(娇媚/依歌/是她/迷人),不用 JM/EGOS;店铺×品牌口径 = ERP「商品名称」前 2 字
name[:2],总仓不画。(2026-09-21) - 货号前缀:DM=厂家代卖、DH=处理货、CR=陈茹服饰(旧注释「DH=旧款复刻」不准确)。(2026-09-19)
- 其他前缀:KN 康妮、ML 麦露迪、YY 悠悠夫人、C1/C2 广武服饰、JS 绝色、NR 女人、GD 古典风度——默认不可退,是否其实可退待确认。(2026-09-19)
- BMD = 半码垫(正常商品,非测试数据)。(2026-09-20)
- 「R 版」货号与无 R 版商品名称相同 → 图可从无 R 版复制;另扫出 18 个「有 R 版货号、COS 只存无 R 版图」候选,未处理。(2026-09-28)
- 二类/三类在库覆盖率仅 22.5~23%(在库 10,621 双里 8,179 双无分类值)→ 按品类切图 77% 落「未分类」,属 ERP 源头缺口,需商品部补分类。(2026-09-16 / 2026-09-23)
- 一类在 ERP 源头是全的,此前 0% 是入库丢列,修复后 100%(一类有值 3,107 行);product 主表 12,864 行 0 重复,上市月份 11,672 有效/630 NULL。(2026-06-02 / 2026-09-16 / 2026-09-19)
库存
- 快照 full/delta:周日 + 每月 1 号 + 16 号 = full,其余 delta;2026-01-01~06-19 覆盖 170/170 天零缺失(另回填 139 天,2026-01-01→05-19)。(2026-05-30 / 2026-06-20)
- 规模基线:全量约 6,800 行/12,100 双(AVG≈1.77–1.79 双/行),AVG<0.3 告警;历史导入 82 个月→419,903 条(2023-01-01→2026-05-16)+商品表 10,924 条;2026-06-14 全量 72.9 万行/117 万双/1.95 亿成本。(2026-05-30 / 2026-06-14 / 2026-06-20)
- 派生表:
sku_store_daily1,648,925 行 /sku_store_window16,229 行(0 重复键)。(2026-09-16) - 口径修正(伪行去重):window 16,228→16,167 行;库存 4,641,186 → 4,159,427(−10.38%)——修复后才准,需同步对外材料;红档 3599→3562。(2026-09-20)
- 清版判据 = 昨日库存(T-1) − 今日已售(T) ≤ 0;含总仓(总仓有货不算清版);不在库存表里的货号一律不判。(2026-09-20)
- 库存健康度口径(大头哥+陈茹):秋季窗口 8/1–10/31(92 天);季末良性剩 20%、警戒 40%(目标售罄 80%);预警 10pp 黄/20pp 红;日均近 30 天滚动;补货三道闸 = 整盘清库/批次售罄率/单款滞销。(2026-08-03)
- 加权预测:未来每天期望 = 当前日均 ×(去年该日历周日均 ÷ 去年当前周日均);26 秋款实测加权清库 117 天(近 30 天口径 236)、季末剩 24%(原 62%)→ 黄警、暂缓上货;26 冬款 11 月起切冬季。(2026-08-03)
- 上货日期精确起点 = 2026-04-27;此前(2023–2025 年 100%)是半月粒度填充值(每月 1/16 日),不能裸显示。(2026-09-19)
- 上货日期推定规则:春→当年 01-01、夏→04-01、秋→07-01、冬→10-01;已落库 8,868 行;
2023-01-01占位值 1,721 → 678 行。(2026-09-19) - 假滞销:占位值 2023-01-01 造成约 215 条/350 双/¥75,238;85 行「年份」是脏数据(2060/2043/1940 等)待找来源。(2026-09-16 / 2026-09-19)
- 582 个零库存货号不再追年份/季节(「库存没有就不用管」),其中 123 个连「最早记录日」都没有。(2026-09-19)
- 数据坑:delta 行进价为空 72,768 行、full 行数量为负 5,477 行;895 行成本按 0 计(CR/CF/GXJ 配件类);颜色编码
.0清理 13,371 条;库存明细页不含进价。(2026-06-02 / 2026-09-14 / 2026-09-16)
销售
- 即时销售「业务日」:凌晨 2 点前显示前一天,2 点后切当天;ERP 自凌晨 0 点换日,我们留 2 小时宽限。(2026-09-19)
- 毛利口径 = 金额 − 选择价格金额,页面实时算毛利率。(2026-05-27 / 2026-06-02)
- 近期已售:数据源 ERP mode=11(唯一带尺码),滚动 90 天、不含当天、含全色、退货保留负数、排除总仓;表
sku_recent_sales。(2026-09-20) - 本地库粒度 = 商品行不是小票(日期+货号+颜色(+尺码)+店铺);没有单号/销售时刻/会员信息。(2026-09-20)
- 四张表(行数会随每日入库增长):
sales_ledger(2023-01-01 起,无尺码)/staff_sales/sku_store_daily(2025-08-12 起)/sku_recent_sales(仅 90 天滚动,有尺码)→ 超 90 天查不到尺码。 - 2026-09-20 记录:53,460 / 58,071 / 166 万 / 2,784
- 2026-10-01 实测:53,902 / 58,712 / — / 2,875(product 12,987)
- 两表月度一致性:2026 年 8 个月全部 <0.15%(8 月 0.0%);8/18 实证 is_pos=1 把未审核单(STA3018-1 ¥399)算进当日销售。(2026-08-18)
- 区间销售表(待开工):销售查询要按即时销售表的逐货号卡片形态看多天(3/5/7 天),非现有汇总统计页。(2026-09-20)
财务
- 月度利润表:表
monthly_finance(独立finance.db,store_id为纯数字 0/101/102/103/104/105/106/108,0 = 全公司合计,2026-10-01 实测 282 条);2026-05 全公司销售 363,630、净利 41,322(= 五店合计,已核验逐店吻合)。(2026-06-09 / 2026-10-01) - 存销比:全部 9.6 个月、在店 6.6 个月(女鞋阈值 1.2 个月);趋势结论 281 天(扣退货)、未筑底 → 提销售+减到货+增退货。(2026-06-09 / 2026-06-18)
会员
- 会员系统 2026-07-18 立项预告(替代客总管 SCRM),待细化:会员类型/积分等级/是否打通 ERP 销售/技术栈与部署位置。(2026-07-18)
- 现有数据不含会员信息:ERP 汇总报表(mode=10/4/11)与本地四张表都没有会员字段。(2026-09-20)
ERP 与流程
- mode 对照:10 店铺维度销售/4 营业员维度销售(含「、」多人拆分合并)/7 历史导入用营业员/6 唯一带「营业员编码」/11 唯一带尺码。(2026-05-27 / 2026-09-20 / 2026-09-23)
- 可退性 90 天闸完整口径:90 天以内保留 ERP 原值(是→可退/否→不可退/无标记→未知);≥90 天且非 DM → 强制不可退;DM 唯一例外;恰好 90 天算超期。(2026-09-19)
- 可退性分布(2026-09-18):不可退 12,872/可退 1,375/未知 1,980;货号级(多档取最保守)。(2026-09-19)
- 可退性差异记录:A 类 715 行 + B 类 1,416 行 = 2,131 行;周一 06:15 生成/08:30 投递(避让 06:00 两条周报)。(2026-09-19)
- 可退标记源头 = ERP 商品名称(是)/(否);夜链:22:15 CEW 同步
product.商品名称→ 22:35refresh_derived.py派生sku_store_window.可退性。(2026-09-19) - 上货日期回填口径 =
MIN(snapshot_date) WHERE 数量>0,来源标「首次入库推算」;「无上货日期但有库存」339 → 0。(2026-09-19) - 库存查询页可退性徽标:可退绿/不可退红/未知灰;页脚注明「DM 代卖始终可退」「不是 ERP 人工标记」。(2026-09-19)
- 关键时间面:22:35 派生表刷新(在 22:30 验证后)/22:42 CEW 核对/22:42 近期已售抓取。(2026-09-16 / 2026-09-20)
- CEW 二次验证判据改为「(货号,颜色编码) 差异笔数 > 2」(原「金额差 <1%」)——ERP 手工常漏填营业员,容差 2。(2026-09-28)
- 营业员编码:
staff_sales45,866/58,230 行非全大写;173 个原始编码归一后只剩 92 个(81 个身份被大小写拆开)→ 按营业员编码分组必须 UPPER()。(2026-09-23) - 营业员归店严格档:形状不符(非
sta\d{4})不归店→落「其他」,实测只影响 2 条 ¥551;营业员维度 = 店铺→营业员,店名取编码前 5 位。(2026-09-23) - 飞书群:是她全员群 oc_493、每日销售播报群 oc_9eed、告警/私聊 oc_569a;视频日报投全员群、视频周报双群分发。(2026-06-18 / 2026-06-20 / 2026-06-22)
- 店员版 store-pwa 账号
sieta(Cookie 365 天),库存查询带?noprice隐藏价格;商品「到货即拍图」,变体可能漏拍(如 JM265-08 全变体有图仅它无)需补拍。(2026-06-13 / 2026-07-18)
人员
- 账号/授权:陈茹 ERP 账号 757617;可退清单授权郑雷 full_access;admin 登录 bighead/chenru。(2026-05-27 / 2026-09-19)
- 营业员顶班归因真实(出现在它实际卖过的各店);营业员名单/各店编制/提成规则 —— handoff 无记录(缺口)。(2026-09-23)
供应商
- 退货模式:
商品名称含(是)=可退、(否)=不可退;库存分析必须区分可退/不可退。(2026-06-18) - 可退白名单仅 4 品牌(娇娅媚妮/依歌尔诗/迷人角色/俏俏姊妹);自有品牌「是她」买断不可退 —— 库存风险核心区别。(2026-06-18)
- 前缀规则优先于品牌/日期:DM 一律可退、DH 一律不可退、CR 一律不可退;窗口上货 1 个月内、最多 3 个月、硬闸 90 天。(2026-09-19)
- 「规则一」:SQLite 已按原则改「不可退」的即为标准,以我们库为准,不要求 ERP 人工逐条改。(2026-09-19)
- 待核实:卖过的鞋还能否退给供应商(决定 86 个「卖过却标不可退」货号);代理品牌结算周期/账期/供应商清单 —— handoff 无记录(缺口)。(2026-09-19)
相关
待补充
知识库的缺口清单。大头哥口述 / 粘贴新内容,我负责写进对应页面。
已识别的缺口(我发现的)
店铺
- [ ] 各街铺(二/四/五/六店)的具体固定月费数字
- [ ] 各店铺:位置 / 面积 / 租金 / 开业时间 / 店长
- [x] ~~八店扣点合同细节(扣点率是否恒定 30%?有无保底?)~~ → 已答 2026-10-02: 基础抽成 21%(不是恒定 30%,30% 是含税票的估算),加各项扣款后商场实际拿走 32.0%; 有保底:2024 = 886,700、2025·2026 = 770,000,未达标按 21% 补足、达标后超额不返还。 依据 = 44 个月商场对账单实测 → 见 财务分析口径 §3.1
- [ ] 2025-03 那笔 12,091.12 元保底扣款,按规则对不上(上半年已超半年保底、本不该扣) —— 需向商场问清是什么扣款(已影响不到全年净额,但口径要弄明白)
商品
- [ ] 商品分级体系待升级重定义(大头哥 2026-10-04):现有 A 款式分类(当季/准新/两年陈/老款)
- B 运营标签(新品观察期/滞销款)两套,是否合并、阈值重定、命名统一 → 见 商品分类与运营规则 §7
- [ ] 主力价格带 / 客单价目标
- [ ] 订货节奏(一年几次订货会、订多少、怎么定)
- [ ] 一二三类品类划分的业务含义(不只覆盖率数字)
经营
- [ ] 调休上班日表需按年维护:mall_fees 逐日图的目标线把「周六/周日上班」的调休日按平常日算,
当前只登记了 2026-10-10(周六)、2026-09-27(周日);每年国务院安排出来后要往
gen_page.py的_MAKEUP集合里加,否则那些天会被当成周末、目标线偏高(约 700 元/天) - [ ] 年度/季度经营目标(销售额、毛利率、库存周转)
- [ ] 各店历史经营水平基线(好/中/差的标准)
- [ ] 供应商清单与结算方式(代理品牌可退规则细节)
人员
- [ ] 营业员名单 / 各店编制 / 提成规则
会员
- [ ] 会员系统的业务规则(积分/优惠券/核销)
- [ ] 会员数与复购指标
自媒体/引流
- [ ] 抖音/视频号的账号矩阵与目标
待确认(原文档标注,需大头哥核实时效)
- [ ] 品牌色标(#C4B5FD 等)是否仍生效
- [ ]
sietadata-rules.md(2026-06-02)中的 22:30 每日 Pipeline 描述是否仍准确(现 cron 主链是 CEW 22:15/22:30)
添加方式
直接跟 default 说「知识库补充:<内容>」,或把内容贴进本文件下方并告知。
更新日志
[2026-10-01] 建库
- 新建子 wiki
wiki/SIETA店铺运营/(三层结构:concepts / entities / raw) - 初始内容来源:
sietadata/docs、8 个 sieta skill、108 篇 handoff、数据库实测 - 已建页面:
- index(索引)
- entities:店铺档案、品牌档案、系统与数据资产
- concepts:数据口径铁律、商品分类与运营规则、财务分析口径、播报与报表体系、业务决策记录
- raw:待补充(缺口清单)
- 同批:清理
~/sietadata下 7 个 0 字节 .db 遗留文件(其中 5 个 git 跟踪已 git rm) - 渲染入口:
~/.hermes/scripts/build_sieta_kb.py→ https://sieta.vip/sietadata/knowledge/
[2026-10-01] 内容提炼
- 从 109 篇 handoff 中提取 35 条 SIETA 业务
#决策,归类为 业务决策记录 - 数据库实测:品牌清单(product 表 20+ 品牌)、店铺清单(5 店 + 总仓)、cron 清单(14 个 SIETA 相关任务)
[2026-10-01] 发布渠道
- 网页版:https://sieta.vip/sietadata/knowledge/ (脚本
build_sieta_kb.py) - 飞书版:https://sietavip.feishu.cn/docx/YB8sd2h7covLS6x8Tc0cy3YBnlh (脚本
build_sieta_kb_doc.py) - 一键发布(两个渠道同时更新):
~/.hermes/scripts/publish_sieta_kb.sh - 上级页面入口:https://sieta.vip/sietadata/ 第六个卡片「知识库」
[2026-10-01] handoff 深挖(59 条业务事实)
- 从 30 篇业务相关 handoff 提炼 59 条业务事实 →
raw/handoff-业务提炼.md - 独立核验修正 3 处(subagent 提炼 → 查库/查原文验证): 1. 「虚拟仓占 37%(¥65.6 万)」是 2026-06-09 旧值,2026-10-01 实测 12.9%(¥22.5 万) —— 已标注勿引用 2. 补充历史门店:一店 STA101、三店 STA103(已关闭,仅存历史销售) 3. 五店亏损:34 个月中 25 个月亏损、累计 −11.8 万(原记 32 月 / −12.4 万)
- 核验通过:营业员编码 173→92(完全吻合)、2026-05 全公司销售 363,630 / 净利 41,322、各表行数量级
[2026-10-01] 访问权限收紧
- 飞书文档设为「仅协作者可访问」:
link_share_entity=closed、security_entity/share_entity=only_full_access、external_access=false、invite_external=false - 协作者仅 2 个:大头哥(full_access)+ 机器人账号(full_access,自动更新文档必须保留)
- 匿名访问验证:拿不到任何文档内容(grep 命中 0)
[2026-10-02] 八店商场对账单入库 + 商场费用页
- 武商依歌(八店 STA108)2023-01~2026-08 44 个月对账单:扫描 PDF → 300dpi + RapidOCR → 解析入库
~/sietadata/egos/egos.db(statements 44 / deductions 509 / sales_rows 47,六重自洽校验 44/44) - 答掉一个旧缺口(原 待补充「扣点率是否恒定 30%?有无保底?」): 基础抽成 21%、加扣款后商场实际拿走 32.0%;保底 2024=886,700 / 2025·2026=770,000, 未达标按 21% 补足、达标后超额不返还;年内 6 月按半年保底先扣、12 月多退少补
- 44 个月合计:销售额 2,883,895.81 / 商场拿走 922,144.35(32.0%)/ 实际结算 1,961,751.46
- 新增页面 https://sieta.vip/sietadata/mall_fees.html ,每晚 22:50 cron
ea9bbdc8f880自动重建 - 新增未决项:2025-03 的 12,091.12 元保底扣款按规则对不上(待向商场核实)
- 改动文件:
concepts/财务分析口径.md(新增 §3.1)、entities/店铺档案.md、entities/系统与数据资产.md、raw/待补充.md、index.md
[2026-10-02] 八店成本构成澄清 + 调休日口径
- 大头哥口径:给商场提供税票的成本 7~8% 也是我们的成本 ⇒ 抽成 21% + 税票 ≈ 基础成本 30% (原来的「扣点+税票 = 30%」是对的,只是没写清构成);对账单实测商场实际拿走 32.0%
- mall_fees 逐日图:调休上班日(2026-10-10 周六)按平常日算(1,710 而非 2,392)
- 新增维护项:调休表要按年更新(见 待补充)
[2026-10-04] 商品分级体系标记【待定】(待升级)
- 大头哥要求:把现有商品分级原样记进知识库并标「待定」,他准备升级重定义这套体系
concepts/商品分类与运营规则.md改为 待定 版本(confidence high→medium):- 新增 §0「两套体系」(A 款式分类 / B 运营标签)先分清
- §1 款式分类、§3 运营标签 均标【待定】
- 补 §3.1 新品观察期(上货 <30 天)—— 原来页里没有
- 新增 §6 术语对照:口语「新品 / 一年陈」在库里无对应定义(全盘检索 0 命中);「一年陈」最接近「准新款(≤24 月)」
- 新增 §7 待升级清单(合并两套体系 / 重定阈值 / 新品判定口径 / 命名统一 / 是否细分档位)