一句话问题:门店营收数字(比如 2026 年第二季度卖了多少钱)在官网、招商页、投资人更新、融资材料里各自手抄,同一个季度已经出现了两个不同的数,而且没人知道哪个数字被抄到了哪里。
| 在哪 | 写的是什么 | 问题 |
|---|---|---|
| 公司事实表 | 2026 Q2 营收 = 333,540 美元(09-04 用收银系统逐月对过,分毫不差) | 这是唯一的正本,本身没问题 |
| 投资人更新 09-01 两份草稿 | Q2 2026 = $333,541,Q2 2025 = $140,640 | 跟正本各差 1 美元:写手是拿收银日线自己加的,四舍五入方式不同 |
| 融资演示稿(pitch deck) | 「333.5」(缩成千位)、「$1.3M」 | 缩写口径没有登记在正本里,下次正本变了不会有人想起来改它 |
| Series A 数据室计划 | 手抄 2026 年 1 到 6 月每个月的数 | 6 个数手抄,正本 09-04 又补了 7、8 月,这份不会自己跟上 |
| 官网首页「运营者」段 + 招商页首屏 | 同一句「3 stores · 240,000+ cups served · 25+ LOIs」复制了两份;还有一句「Q1 2026 连续三个月环比增长」 | 「25+ LOI」在事实表里按标签查不到;「连续三个月环比增长」对应的那条事实(CF-88)标着「洞 · 不许对外」 |
| 事实表的「用在哪些页面」这一列 | 140 行里只有 9 行填了 | 表自己也不知道谁在引用它 |
| 事实表的数值写法 | CF-01 写「$262,534」,CF-02 写「333540 USD/quarter」,CF-83 写「from 17995 · to 50203 · growth_pct 178.98 …」 | 三种写法,直接复制不能用,每次都要人手「翻译」一遍 |
| 事实文件有四份 | Supabase 事实表(正本)、视频工具自带的一份、公司故事仓库的一份、投资人更新仓库钉在 8 月 2 日的一份 | 投资人更新工具里那个「点一下插入事实」面板读的是 8 月 2 日那份旧文件,里面根本没有 Q2 2026 |
只认一处:Supabase 数据库里的公司事实表(表名 company_facts)。它有 140 行,每行一条事实,带编号(CF-01、CF-02 …)。「营收与经营」这一组有 74 行,其中 52 行标着「可用」。用 ops/analytics/run-readonly-sql.mjs 这个只读工具能直接查。
| 字段 | 拿来干什么 |
|---|---|
| cf_number | 编号,消费方引用时写的就是它(例:CF-02) |
| label_zh / label_en | 这条事实叫什么(中/英) |
| value_text | 原始数值,写法不统一,素材包要先按固定规则整理成「$333,540」这种能直接贴的形式 |
| basis_note / source_ref | 这个数怎么算出来的、原始文件在哪,给较真的人查证用 |
| evidence_tier | 可信度档位(审计·POS / 推算·创始人说的 / 没出处·过期),对外材料只能用前两档 |
| publishable + status | 能不能对外、现在能不能用;素材包只收 publishable = true 且 status = 可用 的行 |
| regcf_rule | 众筹合规备注(营收组 74 行里只有 1 行填了,素材包先原样带着) |
| updated_at / superseded_by_id | 什么时候改的、有没有被更新的行替代——这两个是「发现过期」的钥匙 |
| used_on_pages | 用在哪些页面。现在几乎没填,以后由生成脚本反向回填 |
| 编号 | 数字 | 可信度 | 说明 |
|---|---|---|---|
| CF-18 | 2025 Q2 营收 $140,641 | 审计·POS | 同比的分母 |
| CF-01 | 2026 Q1 营收 $262,534 | 审计·POS | |
| CF-02 | 2026 Q2 营收 $333,540 | 审计·POS | 09-04 刚从「创始人说的」升为「收银系统核过」 |
| 派生 | Q2 同比 +137.2% | 算出来的 | 333,540 ÷ 140,641 − 1;素材包现算,不另存一行 |
| CF-126 | 2026 年 1–8 月逐月营收(8 个数) | 审计·POS | 含销售税口径,见 CF-304 |
| CF-83 | Champaign 两店 2026 Q1 环比 +178.98%($17,995 → $50,203) | 审计·POS | 不含 Palo Alto,句子里必须带这句话 |
| CF-302 | 近 12 个月(到 2026-08)营收 $1,055,822,同比 +113.1% | 推算 | 含税;税前另有一个数 |
| CF-11 | 2026 全年营收计划 $1,300,000 | 推算·创始人说的 | 是计划不是预测,对外要按合规规矩措辞 |
| CF-12 | 累计 240,000+ 杯 | 审计·POS | 首页和招商页正在用 |
| CF-14 | 3 家店 | 审计·POS | |
| CF-58 | 审计年报 FY2025 营收 $554,212(FY2024 $414,341) | 审计 | Series A 材料要的是这个口径,不是收银口径 |
两个现在在用、但不在正本里的数字:「25+ LOI」(意向书数量)按标签在表里查不到;「Q1 2026 连续三个月环比增长」对应 CF-88,但那行标着「洞 · 不许对外」。要么补进表并定级,要么从页面上撤下来——这是不管选哪种做法都得先做的事。
「素材包」指的是:从事实表算一次、导出来的一份固定文件,里面每个数字带编号、带中英文整句、带出处、带能不能对外。下面四条路都以它为中心,差别在消费方怎么拿数和漂了谁来发现。
<span data-cf="CF-02">$333,540</span>)。发生产时多一步:拿素材包把标签里的数对一遍,对不上就拒绝发布(或自动改成正本的值)。投资人的纯文本材料走另一条:投资人更新工具里已有的「点一下插入事实」面板,把它的数据源从 8 月 2 日的旧文件换成这份素材包。| 做法 A | 做法 B | 做法 C | |
|---|---|---|---|
| 建设 | 1 个会话 | 2–3 个会话(含 A) | 半个会话 |
| 每次刷新 | 约 30 分钟,人手贴 | 约 5 分钟,自动 | 0 |
| 漂移 | 会漂,但会响 | 标签处不会漂;散文会漂但会响 | 不会漂,但没人审 |
| 动生产 | 不动 | 动两页 + 发布脚本 | 动所有相关页 |
| 管得到投资人纯文本材料 | 管得到(整句清单) | 管得到(面板换源) | 管不到 |
| 合规(数字逐字、人审) | 过 | 过(句子仍人审) | 不过 |
Claude 的倾向(不是拍板):先做 A,一个会话;等它真的刷新过两次、对账脚本真的抓到过一次漂移之后,再决定要不要升到 B。理由:A 已经解决「没人知道数字抄到了哪」和「漂了没人发现」这两个最疼的问题,B 多花的两个会话买的是「刷新时不用人手贴」,而现在一个季度才刷新一次。放弃了什么:C 整条放弃;B 里「投资人面板换数据源」这一块其实可以单独拆出来先做,不必等页面打标签——列在第 6 节 P1-3。
| 消费方 | 现在怎么引用 | 做法 A 之后 | 做法 B 之后 |
|---|---|---|---|
| 官网首页 §04 「运营者」段 site/index.html | 手写:3 家店、240,000+ 杯、25+ LOI、「Q1 2026 连续三个月环比增长」。首页第 3 屏(机型段)现查没有营收数字,不在范围 | 人手换成素材包整句,旁边留编号注释;对账脚本盯它 | 数字包标签,发布时自动对齐 |
| 招商加盟页首屏 site/partner.html | 跟首页同一句,复制粘贴的第二份 | 同上;两处从「两份复制」变成「两处引用同一编号」 | 同上 |
| 投资人更新草稿 investor-update 仓 05-updates/ | 写手拿收银日线自己加总,写出 $333,541;工具里的「插入事实」面板读的是 8 月 2 日旧文件 | 从素材包的整句清单复制,句子自带编号 | 面板换成读素材包,点一下插入的就是正本 |
| 融资演示稿 p08 wefunder-pitch 仓 pitch-deck/ | 「333.5」千位缩写、「$1.3M」;事实表里有 4 行标了「用于 pitch-deck p08」,是全表唯一填了用途的地方 | 缩写口径登记进素材包的「显示规则」,对账脚本盯 deck.html | 同 A(演示稿不走网站发布流程) |
| Series A 数据室计划 / 中文一页简介 wefunder-pitch 仓 campaign-comms/ | 手抄 1–6 月逐月数;正本已补到 8 月 | 从素材包复制 CF-126 整段;对账脚本盯它 | 同 A |
| 公司 GTM 战略稿附录 docs/prd/company-gtm-strategy-appendix.html | 手抄但每个数都标了 CF 编号——这正是想要的引用方式,可以当样板 | 不用改 | 不用改 |
| 环节 | 谁 | 什么时机 | 怎么做 |
|---|---|---|---|
| 改正本 | Jack(在后台管理系统 Directus 里改事实表——事实表的编辑界面就在那里) | 每月收银结账后;每季度末 | 不变,跟现在一样 |
| 重新生成素材包 | 改了正本的那个人/会话 | 改完正本立刻 | 跑一条命令,提交结果。忘了跑也没关系——下一环会抓 |
| 发现「素材包比正本旧」 | 脚本 | 常开的那台电脑每天跑一次 | 比事实表的 updated_at 和素材包的生成时间;旧了就发 Slack 测试频道 |
| 发现「消费方比素材包旧」 | 脚本 | 每天一次 + 每次发生产之前 | 拿监视清单扫消费方文件:出现旧值黑名单里的值、或数字跟素材包不同,报红并点名文件和行号 |
| 发现「线上跟本地不一样」 | 脚本(已有) | 每次发生产之后 | 发布脚本现有的「线上文件逐个比对」那道门,不用新做 |
| 处理报警 | 当周维护网站的会话 | 报警当天 | 按点名位置替换;Jack 不用看报警 |
| 回填「用在哪」 | 生成脚本 | 每次生成时 | 把消费方清单反向写回事实表的 used_on_pages 列,让表自己知道被谁引用 |
成本一句话:每天一次检查,跑几秒钟,要联网查一次数据库;每季度一次真正的刷新,做法 A 约 30 分钟人工、做法 B 约 5 分钟。