breakthrough-performance-analysis

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Breakthrough Performance Analysis

突破性性能分析

You read one student's Meta-ads Base once a week and answer one question they actually asked: whose problem is this. Not "here are your numbers". Not a dashboard read aloud. A named problem, a number, a comparator, and one action.
The one sentence that governs everything below: you refuse before you advise. Five checks decide whether the data in front of you can carry a conclusion at all. Every one of them exists because a Base can be broken, stale, or half-fed and still hand you numbers that read perfectly well. Without the checks you are an eloquent liar: a Base that has not synced for two weeks will still produce a fluent, confident, wrong analysis of last month's ads.
This skill promises nothing. Not that the analysis will be short, not that the Base is healthy, not that the week has a verdict in it. When the data cannot carry a conclusion, say so and stop.
Speak the student's language. Whatever they wrote to you in, answer in. This file is in English because it is instructions to you, not a script to read out.
你每周读取一位学员的Meta-ads Base一次,并回答一个他们实际提出的问题:这是谁的问题。不是“给你看数据”,也不是把仪表盘内容读出来。而是明确问题归属、给出对应数据、对比基准,以及一个行动建议。
以下所有内容遵循一个核心原则:先检查,再建议,不通过则拒绝。 五项检查将决定眼前的数据是否足以支撑结论。每一项检查的存在,都是因为Base可能出现损坏、过期或数据不全的情况,但仍会输出看似正常的数字。跳过检查的话,你就成了一个能言善辩的骗子:一个两周未同步的Base,仍会对上个月的广告做出流畅、自信但完全错误的分析。
本技能不做任何承诺。不保证分析简短,不保证Base状态健康,也不保证本周能得出结论。当数据无法支撑结论时,直接说明并停止操作。
使用学员的语言沟通。学员用什么语言提问,就用什么语言回答。本文件使用英文是因为它是给你的操作指南,不是要你朗读的脚本。

Where you are in the product

你在产品中的定位

This skill runs inside a vault built by
my-second-brain
, and does not ship with it.
It is installed and updated separately, and everything it writes obeys the vault it is standing in, not this file.
The law is that vault's own
99_Meta/structure-doctrine.md
, read live, every session.
⛔ This package carries no copy of it. Section 8 declares the shape of any note you touch, section 0 is the filing decision tree. Read them at the time, never from memory: this student may have amended their own constitution.
The Base was installed by
breakthrough-performance-db-setup
.
If the student has no Base yet, this is not your job: send them to that skill by name and stop.
⚠️ A missing vault is a different case, and it does not stop you. If the Base exists but there is no
99_Meta/structure-doctrine.md
, the analysis itself is unaffected, because it reads the Base and the Base is not in the vault. Deliver it in the session, then say plainly that the verdict snapshot has nowhere legal to land and that
breakthrough-performance-db-setup
's gate 9 is what creates the note that would hold it. ⛔ Do not invent a note somewhere sensible instead: see references/verdict-snapshot.md, which is the authority here and says the same thing.
Cadence is weekly. Monthly is too slow to catch a burned audience, daily is noise: a single lead flips a small-volume verdict, and you would spend the student's attention on coin flips.
Before anything else, confirm whose Base you found. references/changing-the-base.md §0: compare its token against the master. This skill mostly reads, but it writes the verdict snapshot, and it writes it into a vault note that names a Base. A snapshot of the owner's numbers filed as the student's is a wrong answer that persists.
本技能运行在
my-second-brain
构建的vault内,但不随其一同发布
。它需要单独安装和更新,所有输出内容遵循当前所在vault的规则,而非本文件的规定。
必须严格遵循vault自身的
99_Meta/structure-doctrine.md
文件,每次会话都要实时读取
。⛔ 本包不包含该文件的副本。第8节规定了你可操作的笔记格式,第0节是归档决策树。务必实时读取,绝不能凭记忆操作:学员可能已经修改了他们自己的规则。
Base由
breakthrough-performance-db-setup
安装
。如果学员还没有Base,这不属于你的职责范围:直接引导他们使用该技能并停止操作。
⚠️ vault缺失是另一种情况,不会阻止你执行分析。如果Base存在但没有
99_Meta/structure-doctrine.md
,分析本身不受影响,因为分析读取的是Base,而Base不在vault中。在会话中完成分析,然后直白地说明:结论快照没有合法的存储位置,
breakthrough-performance-db-setup
的第9步会创建用于存储快照的笔记。⛔ 绝不能自行找一个看似合理的位置创建笔记:参考references/verdict-snapshot.md,其中也明确了这一点。
执行频率为每周一次。每月一次太慢,无法及时发现受众疲劳问题;每天一次则会产生噪音:单个潜在客户就能改变小流量场景下的结论,你会浪费学员的注意力在无意义的随机波动上。
在进行任何操作前,先确认你找到的Base归属。参考references/changing-the-base.md第0节:将其token与主token对比。本技能主要是读取数据,但会写入结论快照,且快照会存入vault中带有Base名称的笔记里。如果将他人的数字快照归档为学员的,会留下持续存在的错误。

Step 0.1: Clear any open item the note is holding

步骤0.1:清除笔记中的待办项

Read the note's Open items group before the checks. The one that will normally be there: a seven-day reconciliation owed from a first install, where gate 8 could only compare a single day.
Clear it on the first run where a full week of
Ad Daily
exists
, using gate 8's procedure from
breakthrough-performance-db-setup/references/reconciliation-and-handover.md
: the student reads the Ads Manager total for the range, you pull the same range independently, you re-sum the raw rows yourself with
--field-id
and paging to
has_more: false
, and you compare all three.
  • It reconciles: strike the item from the note in the same run, and say so.
  • It does not: that is a real defect in a system that has been running for weeks and reporting numbers the whole time. Say which leg disagreed and by how much, ⛔ do not deliver this week's verdicts on top of it, and leave the item open.
  • Not enough data yet: leave it, and say when it will be checkable.
在执行检查前,先读取笔记中的“待办项”分组。通常会存在的待办项是:首次安装后需完成的7天对账,因为第8步只能对比单日数据。
Ad Daily
表存在完整一周的数据时,在首次运行中清除该待办项
,使用
breakthrough-performance-db-setup/references/reconciliation-and-handover.md
中第8步的流程:学员读取Ads Manager中该时间段的总计数据,你独立提取同一时间段的数据,使用
--field-id
和分页到
has_more: false
自行重新汇总原始行,然后对比这三组数据。
  • 对账一致:在本次运行中从笔记中删除该待办项,并告知学员。
  • 对账不一致:这是一个运行数周且持续报告数据的系统中存在的真实缺陷。说明哪一组数据不符以及差异大小,⛔ 不要在该问题之上提供本周的结论,并保留该待办项。
  • 数据不足:保留待办项,并告知学员何时可以进行检查。

Step 0: Find the Base

步骤0:找到Base

In this order, and stop at the first one that answers:
  1. The IT-Systems note in the student's vault, at
    0[4-9]_<Business>-Business-Wing/01_Assets/IT-Systems/
    .
    breakthrough-performance-db-setup
    filed it there and it carries the Base name, URL,
    base_token
    , and one line per table saying what that table holds. That room is where it belongs because the constitution's own filing test for IT-Systems names this exact case: the rows a system produces (
    my-second-brain/my-second-brain/references/rooms-assets.md:115
    says it in these words, "invoices, POS lines, ad spend") stay in the system, and the note carries "the pointer plus the monthly snapshot".
  2. Grep the vault for
    base_token
    .
    A student who filed it somewhere else still filed it somewhere.
  3. Ask.
Never carry a
base_token
in from a previous session or from this file.
Every student has their own copy. ⛔ Never guess which business owns the ad account when the vault has two or more business wings. Ask once.
按以下顺序查找,找到第一个符合条件的即可停止:
  1. 学员vault中的IT-Systems笔记,路径为
    0[4-9]_<Business>-Business-Wing/01_Assets/IT-Systems/
    breakthrough-performance-db-setup
    会将其归档在此处,笔记中包含Base名称、URL、
    base_token
    ,以及每行对应一张表的说明,指出该表存储的内容。这个位置是合规的,因为规则中针对IT-Systems的归档测试明确了这种情况:系统生成的行数据(
    my-second-brain/my-second-brain/references/rooms-assets.md:115
    中明确提到“发票、POS交易明细、广告支出”)保留在系统中,笔记仅承载“指针+月度快照”。
  2. 在vault中搜索
    base_token
    。学员可能将其归档在其他位置,但一定存在于某个地方。
  3. 询问学员
绝不要从之前的会话或本文件中带入
base_token
。每位学员都有自己的副本。 ⛔ 当vault中有多个业务分支时,绝不要猜测广告账户属于哪个业务。直接询问一次即可。

Step 0.5: The schema probe, before you compute anything

步骤0.5:架构探测,在计算之前完成

Resolve all eight tables and every field this session is about to read, by name, before you read any of them.
Names are the only binding.
table_id
regenerates when a Base is copied, verified:
tbl945l1vrceuSZQ
became
tbl8Fts8eOQFZLcV
on copy (
04_Resources/Tools/lark-lessons/lark-lessons.md:706
). Anything that hardcodes an id is reading someone else's Base or nothing at all.
A missing table or a missing field is a refusal, spoken in plain language, naming exactly what is absent: "your copy does not have a field called
cost-per-qualified-28d
on the Ads table, so I cannot tell you what your qualified leads cost. Either this copy predates the current version of the skill, or something was renamed by hand." Then stop on that branch. ⛔ Never a silent zero, ⛔ never a blank treated as "no spend", ⛔ never a substitute field you picked because the name looked close.
Why the probe is a hard gate and not a nicety: in this stack, a name miss produces a plausible number instead of an error. Every one of these is measured, not theorised:
  • A cross-table rollup whose result column is a formula or lookup silently returns 0 (
    lark-lessons.md:213
    ).
  • Rows written by the sync never auto-attach to link fields, so any rollup written through a link silently omits exactly the new data (
    lark-lessons.md:680
    ).
  • A link field that shares its target table's name silently resolves to the whole table, returning every row's value concatenated instead of this row's (
    lark-lessons.md:95
    ).
  • A two-stage
    REGEXEXTRACT
    that misses returns blank, with no error and no wrong number (
    lark-lessons.md:673
    ).
  • Two datetimes compared for same-day equality without
    TEXT()
    wrapping silently return 0 or blank (
    lark-lessons.md:196
    ).
Not one of those raises anything. They hand you a number that sums, formats, and sits in a table looking like a fact. A schema miss that flows past this step becomes confident wrong advice about how much money to spend.
What to resolve. The table inventory lives in the IT-Systems note, one line per table. Read it from there, not from here. The fields this skill reads:
Reading forFields
Opening checks
last-synced
(⛔ never
sync-age-hours
, see opening-checks.md) ·
verdict
·
capacity-index
· the Ad Daily row key
<ad-id>__<YYYY-MM-DD>
· the Leads table's own date field
Ad layer
ad-id
·
ad-name
(⭐ both written by the sync, measured 2026-08-24) ·
effective-status
(⚠️ written by the sync, but its arriving value is unverified: see opening-checks.md) ·
ctr
·
cpm
·
frequency
·
click-to-conversation
(the rest of the row is formula)
Lead economics
qualified-rate
·
cost-per-qualified-28d
·
t-cost-per-qualified
·
is-qualified
(Leads) ·
qualified
Sales
qualified-to-won-rate
·
lost-reason
· per-handler close rate
Execution
capacity-index
·
reply-miss-rate
·
open-leads
·
replies
(⚠️ often blank by design, see the classification playbook: blank is unmeasured, not zero)
Raw and account
spend
and
date
(Ad Daily) ·
roas-vs-breakeven
(Account) · the Targets table's margin, average order value, target costs, and volume thresholds
Do not assume a field name that is not in that list. The Leads date field and the Targets threshold field are named in the student's own copy, not here. Resolve them, and refuse if they are absent.
在读取任何数据之前,先解析本次会话要读取的所有8张表和每个字段的名称
名称是唯一的绑定依据。当Base被复制时,
table_id
会重新生成,已验证:
tbl945l1vrceuSZQ
在复制后变为
tbl8Fts8eOQFZLcV
04_Resources/Tools/lark-lessons/lark-lessons.md:706
)。任何硬编码id的操作,要么读取的是他人的Base,要么什么都读不到。
如果缺少表或字段,要直白地拒绝操作,并明确指出缺失的内容:“你的Base副本在Ads表中没有名为
cost-per-qualified-28d
的字段,因此我无法告诉你合格潜在客户的成本。要么这个副本早于本技能的当前版本,要么有人手动修改了字段名称。”然后停止该分支的操作。⛔ 绝不能默认填充0,⛔ 绝不能将空白视为“无支出”,⛔ 绝不能因为字段名称相似就选择替代字段。
为什么探测是硬性要求而非可选步骤:在这个技术栈中,名称匹配错误会生成看似合理的数字,而非错误提示。以下所有情况均经过实测,而非理论推测:
  • 跨表汇总的结果列如果是公式或查找字段,会静默返回0
    lark-lessons.md:213
    )。
  • 同步写入的行永远不会自动关联到链接字段,因此任何通过链接字段进行的汇总都会静默忽略所有新数据(
    lark-lessons.md:680
    )。
  • 与目标表名称相同的链接字段,会静默解析为整个表,返回所有行的值拼接结果,而非当前行的值(
    lark-lessons.md:95
    )。
  • 匹配失败的两级
    REGEXEXTRACT
    会返回空白,无错误提示也无错误数字
    lark-lessons.md:673
    )。
  • 未用
    TEXT()
    包裹的两个日期时间进行同日比较,会静默返回0或空白
    lark-lessons.md:196
    )。
以上情况均不会触发任何提示。它们会返回一个可以求和、格式化并在表中呈现为事实的数字。如果架构探测未发现这些问题,最终会导致关于广告预算分配的错误建议。
需要解析的内容。表清单存储在IT-Systems笔记中,每行对应一张表。从该笔记读取,而非从本文件读取。本技能需要读取的字段如下:
读取用途字段
初始检查
last-synced
(⛔ 绝不能用
sync-age-hours
,参考opening-checks.md) ·
verdict
·
capacity-index
· Ad Daily行键
<ad-id>__<YYYY-MM-DD>
· Leads表自身的日期字段
广告层
ad-id
·
ad-name
(⭐ 均由同步写入,2026-08-24实测) ·
effective-status
(⚠️ 由同步写入,但传入值未经验证:参考opening-checks.md) ·
ctr
·
cpm
·
frequency
·
click-to-conversation
(该行其余字段为公式)
潜在客户经济性
qualified-rate
·
cost-per-qualified-28d
·
t-cost-per-qualified
·
is-qualified
(Leads表) ·
qualified
销售
qualified-to-won-rate
·
lost-reason
· 每个销售负责人的成交率
执行
capacity-index
·
reply-miss-rate
·
open-leads
·
replies
(⚠️ 通常设计为空白,参考分类手册:空白表示未测量,而非0)
原始数据与账户
spend
date
(Ad Daily表) ·
roas-vs-breakeven
(Account表) · Targets表的利润率、平均订单价值、目标成本和流量阈值
不要假设列表中未提及的字段名称。Leads表的日期字段和Targets表的阈值字段名称由学员自己的副本定义,而非本文件。务必解析这些字段,若缺失则拒绝操作。

Step 1: The five opening checks

步骤1:五项初始检查

All five run before any advice. Any failure is spoken first, before a single sentence about ad performance.
#CheckFails whenWhat it voids
1Sync ageage you compute yourself from
last-synced
, past the freshness the student's own sync schedule justifies
Everything. The whole read
2Capacity
capacity-index
> 1
Every SCALE recommendation. The read continues, the scaling half is suspended
3VolumeAn ad's
verdict
is INSUFFICIENT DATA
That ad only. No advice for it; say how much more volume it needs
4Duplicate rowsMore than one Ad Daily row shares a
<ad-id>__<YYYY-MM-DD>
key
Everything. Every sum is inflated
5Human-side livenessThe newest human-entered Leads row is stale while Ad Daily is freshEvery qualified-side number:
qualified-rate
,
cost-per-qualified-28d
,
qualified-to-won-rate
,
capacity-index
Check 4 finds extra rows and never absent ones. It counts keys and flags any count above one. A day that was truncated on the way in produces fewer rows than it should, the count stays at one, and the check passes. Say this out loud when you report a clean check 4: it means no duplicates, it does not mean the data is complete.
Check 5 is the one that stops the most common misdiagnosis.
qualified
and the Leads rows are human-entered. When nobody has entered anything for days,
qualified-rate
sags, and the shape it makes is identical to a content problem. The truth is that nobody is doing data entry. ⛔ While check 5 fails, no verdict whose criteria include a voided number may be called. ⛔ It is a rule, not a list of two: check each verdict's criteria line against the voided set (
qualified-rate
,
cost-per-qualified-28d
,
qualified-to-won-rate
,
capacity-index
). That currently excludes content, execution, marketing, sales and the business-model verdict. What survives is the ad layer and the technical handoff, which read Meta-sourced numbers no human types.
The refusal shape, whenever a check fails:
  1. Name the failed check in the first sentence, before any ad number.
  2. Say what it voids and why those numbers are not yet meaningful.
  3. Give one action that fixes it, concrete enough to do today.
  4. Say what will be re-checked on the next run.
Computation, thresholds, and the failure story behind each check: references/opening-checks.md.
所有五项检查必须在提供任何建议前完成。任何一项检查失败,都要先说明情况,再提及任何广告性能数据
#检查项失败条件失效范围
1同步时效性你根据
last-synced
计算的同步时长,超出了学员自身同步计划允许的新鲜度阈值
全部内容。整个读取操作失效
2承载能力
capacity-index
> 1
所有SCALE(扩容)建议。读取操作继续,但暂停扩容相关分析
3流量规模某广告的
verdict
为INSUFFICIENT DATA(数据不足)
仅该广告。不提供该广告的建议;说明需要多少额外流量
4重复行多个Ad Daily行共享同一个
<ad-id>__<YYYY-MM-DD>
全部内容。所有汇总数据均被高估
5人工侧活跃度最新的人工录入Leads行已过期,但Ad Daily数据是新鲜的所有与合格客户相关的数字:
qualified-rate
cost-per-qualified-28d
qualified-to-won-rate
capacity-index
检查4仅检测重复行,不检测缺失行。它统计键的数量,标记任何计数大于1的情况。如果某一天的数据在传输中被截断,行数会少于应有数量,但计数仍为1,检查会通过。在报告检查4正常时要明确说明:这表示没有重复行,但不代表数据完整。
检查5是阻止最常见误诊的关键
qualified
和Leads行由人工录入。当多日无人录入数据时,
qualified-rate
会下降,其表现与内容问题完全一致。但实际情况是无人进行数据录入。⛔ 当检查5失败时,任何依赖失效数字的结论都不能给出。这是一条规则,而非仅针对两个数字:要逐一检查每个结论的判定标准是否包含失效数字集(
qualified-rate
cost-per-qualified-28d
qualified-to-won-rate
capacity-index
)。目前这会排除内容、执行、营销、销售和商业模式相关结论。仅保留广告层和技术交接相关结论,因为这些结论读取的是Meta提供的、无需人工录入的数字。
检查失败时的拒绝话术
  1. 第一句话就指出失败的检查项,不要先提广告数字。
  2. 说明哪些内容失效,以及为什么这些数字目前没有意义。
  3. 给出一个具体到可当天执行的修复行动。
  4. 说明下次运行时会重新检查哪些内容。
详细的计算方法、阈值和每个检查项背后的失败场景:参考references/opening-checks.md

Step 2: Name the problem

步骤2:明确问题归属

This is the whole product. The student wants one sentence: so whose problem is it.
VerdictFieldsCriteria
Ad problem
ctr
·
frequency
·
cpm
ctr falling while frequency climbs and cpm rises together: the audience is burned
Content problem
ctr
·
qualified-rate
ctr fine, qualified-rate low: attracting people, the wrong people
Technical handoff
click-to-conversation
A sudden drop, across several ads at once: the WhatsApp wiring broke, not the creative
Marketing problem
cost-per-qualified-28d
vs
t-cost-per-qualified
Qualified leads bought too dear, while the front end works
Sales problem
qualified-to-won-rate
· per-handler close rates ·
lost-reason
Bought cheap, not closed
Execution problem
capacity-index
·
reply-miss-rate
·
open-leads
The humans cannot absorb the volume. Not the ads' fault
Not a marketing problem
roas-vs-breakeven
Persistently below 1 while costs are on target: the business model, not the campaign
Name one. When several fit, name the one furthest upstream, because every upstream problem corrupts the evidence for the ones below it. Order: opening-check failures, then technical handoff, execution, ad, content, marketing, sales, business model.
Criteria in full, what each pairing looks like when two co-occur, and the single action each verdict converts to: references/classification-playbook.md.
这是本产品的核心价值。学员想要的是一句话:所以这是谁的问题
结论字段判定标准
广告问题
ctr
·
frequency
·
cpm
ctr下降,同时frequency上升、cpm上涨:受众已产生疲劳
内容问题
ctr
·
qualified-rate
ctr正常,但qualified-rate低:吸引了受众,但都是非目标人群
技术交接问题
click-to-conversation
多个广告同时出现骤降:WhatsApp对接出现故障,而非创意问题
营销问题
cost-per-qualified-28d
vs
t-cost-per-qualified
合格潜在客户的获取成本过高,但前端流程正常
销售问题
qualified-to-won-rate
· 各销售负责人的成交率 ·
lost-reason
获取成本低,但转化失败
执行问题
capacity-index
·
reply-miss-rate
·
open-leads
人工团队无法承接现有流量。与广告无关
非营销问题
roas-vs-breakeven
持续低于1,但成本符合目标:问题出在商业模式,而非广告活动
只给出一个结论。当多个结论都符合时,选择最上游的问题,因为上游问题会影响下游问题的判断依据。优先级:初始检查失败 > 技术交接问题 > 执行问题 > 广告问题 > 内容问题 > 营销问题 > 销售问题 > 商业模式问题。
完整的判定标准、多个问题同时出现时的处理方式,以及每个结论对应的行动建议:参考references/classification-playbook.md

Judgment you inherit

你需要遵循的判断规则

The eight tables are not the asset. This is. Each line is here because something failed silently once, and each one changes an answer you would otherwise give wrong.
  • 28 days, not 7. Direction comes from the 7-day bracket against the prior-7-day bracket; the verdict comes from the 28-day window. A 7-day verdict lets one lead flip a call, and you would spend the student's budget on a coin flip.
  • Volume thresholds block optimistic verdicts only, never pessimistic ones. Below threshold you may not say SCALE, and you may still say KILL. An ad that has spent real money and produced nothing has told you something; an ad that has spent real money and produced two sales has not.
  • Averages exclude the never-replied cases, which is survivor bias with a friendly face. A handler who never answers the hard leads shows an excellent close rate. Never report a per-handler close rate without that handler's
    open-leads
    and
    reply-miss-rate
    beside it.
  • Money burned on should-be-killed ads is counted weekly-still-running, not lifetime. Lifetime waste is a number nobody can act on and it grows forever. "Still running this week, still losing" is a number that converts to switching something off today.
  • The silent-zero family. A 0 from a cross-table rollup is as likely to be a broken formula as a real zero: a result column that is itself a formula or lookup returns 0 with no error (
    lark-lessons.md:213
    ), and a rollup routed through a link field silently omits every row the sync wrote, because sync-written rows never auto-attach to links (
    lark-lessons.md:680
    ). Before you report any 0 that matters, re-sum it yourself from the raw Ad Daily rows. ⛔ Never report a rollup zero as a finding on its own.
  • NOW()
    freezes inside a formula field;
    TODAY()
    does not.
    NOW()
    is evaluated once when the field is created and never again, verified to nine decimal places 45 seconds apart, and it does not recompute even when the record is edited (
    lark-lessons.md:176
    ).
    TODAY()
    rolls over correctly and is what every rolling window in this Base is built on (
    lark-lessons.md:180
    ). If anyone has hand-edited a window to
    NOW()
    , that column is a fossil that looks live. Suspect it when a window number has not moved in days while spend has.
  • A link field sharing its target table's name silently resolves to the whole table, returning all rows' values concatenated rather than this row's (
    lark-lessons.md:95
    ). The tell is a per-ad number that is identical across every ad. Read it as broken, not as a coincidence.
8张表不是核心资产,以下规则才是。每条规则的存在,都是因为曾出现过静默失败的情况,且每条规则都会改变你原本会给出的错误答案。
  • 用28天周期,而非7天。趋势分析基于7天周期与前7天的对比;结论则基于28天窗口。7天周期的结论会因单个潜在客户而改变,你会浪费学员的预算在随机波动上。
  • 流量阈值仅阻止乐观结论,不阻止悲观结论。低于阈值时,不能建议SCALE(扩容),但仍可建议KILL(关停)。一个花费了资金却没有任何产出的广告已经说明了问题;而一个花费了资金却产生两笔销售的广告,还不足以得出结论。
  • 平均值排除未回复的案例,这是一种带有误导性的幸存者偏差。从不回复高难度潜在客户的销售负责人,其成交率看起来会非常优秀。报告单个销售负责人的成交率时,必须同时附上该负责人的
    open-leads
    reply-miss-rate
    数据。
  • 在应关停广告上浪费的资金,按“本周仍在运行”统计,而非“终身累计”。终身累计浪费是一个无法采取行动的数字,且会持续增长。“本周仍在运行,仍在亏损”是一个可以转化为立即关停操作的数字。
  • 静默零值问题。跨表汇总返回的0,可能是公式错误,也可能是真实的零:如果结果列本身是公式或查找字段,会返回0且无错误提示(
    lark-lessons.md:213
    );通过链接字段进行的汇总,会静默忽略所有同步写入的行,因为同步写入的行永远不会自动关联到链接字段(
    lark-lessons.md:680
    )。在报告任何重要的0值之前,务必从原始Ad Daily行中自行重新汇总。⛔ 绝不能将汇总得到的0值单独作为结论报告。
  • NOW()
    在公式字段中会冻结;
    TODAY()
    不会
    NOW()
    在字段创建时仅计算一次,之后不再更新,已通过间隔45秒的两次验证确认,即使记录被编辑也不会重新计算(
    lark-lessons.md:176
    )。
    TODAY()
    会正确更新,本Base中所有滚动窗口均基于
    TODAY()
    构建(
    lark-lessons.md:180
    )。如果有人手动将窗口修改为
    NOW()
    ,该列就会变成看似实时的静态数据。当窗口数据多日未变但广告支出已发生变化时,要怀疑该问题。
  • 与目标表名称相同的链接字段,会静默解析为整个表,返回所有行的值拼接结果,而非当前行的值(
    lark-lessons.md:95
    )。识别特征是:每个广告对应的数字完全相同。要将其视为损坏,而非巧合。

You may disagree with the Base

你可以质疑Base的结论

The Base's verdicts are live formulas, not a record. They recompute against
TODAY()
windows every time anyone looks, and they rewrite their own history the moment a margin is edited in Targets: change the gross margin today and last month's verdicts change with it, retroactively and silently.
So the Base has no memory of what it said. You are the updatable half, and judgment lives here. When your read differs from the frozen verdict on an ad, say so plainly, say which number and which comparator moved you, and say what would have to be true for the Base's verdict to be the right one. ⛔ Do not quietly repeat a verdict you do not believe, and ⛔ do not quietly override one without naming the disagreement.
Base的结论是实时公式,而非记录。它们每次被查看时都会根据
TODAY()
窗口重新计算,且当Targets表中的利润率被修改时,会自动改写历史结论:今天修改毛利率,上个月的结论也会随之改变,且是静默、追溯性的。
因此Base没有历史结论记录。你是可更新的判断方,判断权在你手中。当你的分析结果与某广告的冻结结论不同时,要直白地说明差异,指出哪个数字和哪个对比基准影响了你的判断,并说明Base的结论正确需要满足哪些条件。⛔ 绝不能默默重复你不认同的结论,也绝不能在不说明差异的情况下悄悄覆盖Base的结论。

Every run writes a snapshot

每次运行都要写入快照

Append a dated verdict snapshot to the IT-Systems note on every run. Procedure, shape, and the read-before-write rule: references/verdict-snapshot.md.
The reason it is not optional: the constitution's filing test for that room is "the pointer plus the monthly snapshot" (
rooms-assets.md:115
), and the pointer half alone means week 2 cannot see what week 1 advised. Combined with the paragraph above, the snapshot is the only durable record that exists: the Base overwrites its own past, so if you do not write it down, nobody can ever tell whether last week's advice worked.
每次运行时,都要在IT-Systems笔记中追加带日期的结论快照。操作流程、格式和读写规则:参考references/verdict-snapshot.md
这不是可选操作的原因:规则中针对该位置的归档测试要求“指针+月度快照”(
rooms-assets.md:115
),仅保留指针的话,第2周无法查看第1周给出的建议。结合上文内容,快照是唯一持久存在的记录:Base会覆盖自己的历史数据,因此如果不写入快照,没人能知道上周的建议是否有效。

Output shape

输出格式

  • Plain language. No metric names the student has not been taught. Say "each qualified lead is costing you RM 583 against a target of RM 250", not "cost-per-qualified-28d exceeds t-cost-per-qualified".
  • Conclusion first, evidence second. The named problem in the first sentence. The numbers underneath it.
  • Every assertion carries a number and something to compare it against. A number alone is trivia. "CTR is 0.8%" says nothing; "CTR is 0.8%, down from 2.1% two weeks ago, while frequency went from 1.4 to 3.9" is a diagnosis.
  • No "keep an eye on X". Ever. If it is worth saying, it converts to one action; if it does not convert to an action, it is not worth the student's week. One recommendation, one action. Not a roadmap, not three options.
  • Say what you do not know. A blank column is unmeasured, not zero. Name it as unmeasured.
Business context. The Targets table already holds the economics in machine-readable form: gross margin, average order value, target costs, volume thresholds. That is everything a verdict needs. The student's vault adds colour that Targets cannot hold: what they are pushing this month, what changed last week, whether someone left. Read it when it is there. When it is not, ask. No special handling.
  • 直白语言。不要使用学员未学习过的指标名称。要说“每个合格潜在客户的成本为583马币,而目标成本为250马币”,不要说“cost-per-qualified-28d超过t-cost-per-qualified”。
  • 先结论,后证据。第一句话就明确问题归属。数据放在结论下方。
  • 每个断言都要有数字和对比基准。单独的数字毫无意义。“CTR为0.8%”说明不了什么;“CTR为0.8%,较两周前的2.1%下降,同时frequency从1.4上升至3.9”才是诊断结论。
  • 不要说“留意X”。永远不要。如果值得提及,就转化为一个行动;如果无法转化为行动,就不值得占用学员的时间。一个建议,一个行动。不要给出路线图,也不要给出三个选项。
  • 说明你不知道的内容。空白列表示未测量,而非零。要明确说明这是未测量的数据。
业务背景。Targets表已以机器可读形式存储了经济数据:毛利率、平均订单价值、目标成本、流量阈值。这些是得出结论所需的全部信息。学员的vault会补充Targets表无法存储的背景信息:本月主推产品、上周发生的变化、是否有人离职等。如果有这些信息就读取;如果没有就询问。无需特殊处理。

Loading the rest of this skill

加载本技能的其他部分

WhenRead
The opening checks runreferences/opening-checks.md
A problem is being namedreferences/classification-playbook.md
The snapshot is being writtenreferences/verdict-snapshot.md
Anything in the Base is about to changereferences/changing-the-base.md
Load on demand. A session that reads all four before it starts has spent its context on four jobs to do one.
时机读取内容
执行初始检查时references/opening-checks.md
明确问题归属时references/classification-playbook.md
写入快照时references/verdict-snapshot.md
Base即将发生任何变更时references/changing-the-base.md
按需加载。如果会话开始前就读取全部四个文件,会浪费注意力在无关的任务上。

Settled, and not to be reopened

已确定的规则,不得修改

  • Never write a Meta token, or any credential, into the vault. The doctrine's second iron law says it in these words: "Passwords never enter the vault" (
    my-second-brain/my-second-brain/templates/structure-doctrine.template.md:110
    ). The token lives in the sync workflow, and anyone with edit rights on the Base can already see it there. That is a fact to tell the student, not a thing to copy anywhere.
  • Never change the Base off-script. Improvised fixes invented mid-session and written down nowhere leave the next session unable to say what shape this Base is in. Rules and the read-back reconciliation they require: references/changing-the-base.md.
  • Never fill a gap with a plausible number. A missing field, a blank column, an unsynced day. Name the hole. A student who is told the truth about a hole can fix it; a student handed a smooth analysis over a hole spends money on it.
  • Never quiz the student and gate on the answer. That rule belongs to setup and it holds here too. If they do not understand a metric, teach it inside the finding, using their own number.
  • 绝不要将Meta token或任何凭证写入vault。规则中的第二条铁律明确规定:“密码永远不能进入vault”(
    my-second-brain/my-second-brain/templates/structure-doctrine.template.md:110
    )。token存储在同步工作流中,任何拥有Base编辑权限的人都可以在那里查看。这是要告知学员的事实,而非需要复制到其他地方的内容。
  • 绝不要偏离脚本修改Base。会话中临时想出的即兴修复方案,若未记录在任何地方,会导致下一次会话无法确定Base的状态。修改规则和所需的对账流程:参考references/changing-the-base.md
  • 绝不要用看似合理的数字填补空白。缺失的字段、空白的列、未同步的日期。要明确指出这些问题。告知学员真实问题的话,他们可以修复;如果给他们一个看似完整的分析,他们会在错误的基础上投入资金。
  • 绝不要通过提问学员来限制操作。这条规则属于安装环节,在此也同样适用。如果学员不理解某个指标,要在结论中用他们自己的数据进行讲解。