广告系列 bailingxia_meituan_ww_cvr_260730:一个 CBO 广告组,日预算 $500,三条素材,全球投放, 仅 Android,优化目标是购买。按 UTC 日算,它在 11 个投放小时里花掉 $278.28,08-01 是 23 个 小时花掉 $733.94。报表时钟、三种收入口径和预算区间的定义都在附录,附录还写了限定本报告每一次 对比的那件事:这两天不在同一个预算区间。
| 08-01 | 08-02 | 变化 | |
|---|---|---|---|
| 投放小时数 | 23 | 11 | −12 |
| 花费 | $733.94 | $278.28 | −62.1% |
| 安装数 | 1,963 | 745 | −62.0% |
| 单次安装成本 | $0.374 | $0.374 | −0.1% |
| 入账收入 | $1,110.93 · 1.51 (Meta 1.59) | $559.00 · 2.01 (Meta 2.19) | +32.7% |
| 当日闭合收入 | $980.99 · 1.34 | $272.13 · 0.98 | −26.8% |
| 同期群 24 小时 | $1,163.16 · 1.58 | $360.61 · 1.30 | −18.2% |
三个收入行的变化列是 ROAS(广告支出回报率)的变化,不是金额的变化。三个口径的金额都跌了, 跌幅大致跟着花费走。
账户用同样的价格买到了更少的量。 花费跌 62.1%,安装数跌 62.0%,单次安装成本因此和前一天 只差 0.1%。底下 CPM(千次展示成本)涨了 21.1%,CTR(点击率)涨了 21.2%,正好抵消。
入账收入涨了,而这一天自己的流量赚得更少。 08-01 到账的钱里 88.3% 是当天安装的人赚回来的, 08-02 只有 48.7%,所以入账收入记的是更早的买家还在继续付钱。当日闭合收入封存在 0.98, 同期群 24 小时的方向一致,−18.2%。
下跌是真的,幅度取决于用哪个口径。 当日闭合收入读出 26.8%,同期群 24 小时读出 18.2%。 差额来自这一天的形状:投放在 UTC 17:59 就停了,靠后的安装只剩几个小时而不是一整天可以付钱, 当日闭合收入把这笔账算在它们头上。
没有一行分素材收入过了付费用户门槛,付费用户分别是 13、10、9 人,每一行里都有一个人占了 27% 到 42%。第 7 节仍然给它们排了序,但那只能看方向,不能看幅度。
花费、展示次数、点击和安装数落在投放小时上。入账收入落在钱到账的那个小时。当日闭合收入 和同期群落在安装小时上,也就是这个小时买来的流量后来赚了多少。所以只有当日闭合和同期群这 两个比率是拿一个小时的收入除以同一个小时的花费;入账收入这一列放在这里,是为了让当天的总额能 追到它落在一天中的哪个位置。
| UTC 小时 | 花费 | 展示 | CPM | 点击 | CTR | 安装 | CPI | 入账 | ROAS | 当日闭合 | ROAS | 同期群 24 小时 | ROAS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 00 | $7.13 | 799 | $8.92 | 68 | 8.51% | 16 | $0.446 | $14.51 | 2.03 | $14.51 | 2.03 | $14.51 | 2.03 |
| 01 | $0.00 | 0 | — | 0 | — | 4 | — | $2.99 | — | $2.99 | — | $2.99 | — |
| 02 | $0.00 | 0 | — | 0 | — | 3 | — | $36.50 | — | $2.99 | — | $2.99 | — |
| 03 | $0.00 | 0 | — | 0 | — | 1 | — | $8.75 | — | $0.00 | — | $0.00 | — |
| 04 | $0.00 | 0 | — | 0 | — | 3 | — | $20.27 | — | $0.00 | — | $0.00 | — |
| 05 | $0.00 | 0 | — | 0 | — | 0 | — | $18.74 | — | $0.00 | — | $0.00 | — |
| 06 | $0.00 | 0 | — | 0 | — | 5 | — | $29.49 | — | $4.99 | — | $4.99 | — |
| 07 | $0.00 | 0 | — | 0 | — | 2 | — | $23.68 | — | $0.00 | — | $0.00 | — |
| 08 | $13.29 | 1,512 | $8.79 | 166 | 10.98% | 29 | $0.458 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
| 09 | $36.11 | 4,266 | $8.46 | 373 | 8.74% | 82 | $0.440 | $7.12 | 0.20 | $42.58 | 1.18 | $42.58 | 1.18 |
| 10 | $41.41 | 4,119 | $10.05 | 388 | 9.42% | 96 | $0.431 | $69.02 | 1.67 | $47.03 | 1.14 | $57.29 | 1.38 |
| 11 | $27.73 | 3,119 | $8.89 | 294 | 9.43% | 80 | $0.347 | $26.36 | 0.95 | $16.15 | 0.58 | $82.26 | 2.97 |
| 12 | $30.76 | 2,573 | $11.95 | 255 | 9.91% | 73 | $0.421 | $28.26 | 0.92 | $28.26 | 0.92 | $28.26 | 0.92 |
| 13 | $31.15 | 2,752 | $11.32 | 306 | 11.12% | 72 | $0.433 | $32.70 | 1.05 | $70.64 | 2.27 | $70.64 | 2.27 |
| 14 | $25.46 | 2,578 | $9.88 | 278 | 10.78% | 79 | $0.322 | $89.42 | 3.51 | $21.11 | 0.83 | $21.11 | 0.83 |
| 15 | $24.26 | 2,670 | $9.09 | 272 | 10.19% | 67 | $0.362 | $36.83 | 1.52 | $10.90 | 0.45 | $10.90 | 0.45 |
| 16 | $27.54 | 3,024 | $9.11 | 313 | 10.35% | 70 | $0.393 | $12.25 | 0.44 | $4.99 | 0.18 | $4.99 | 0.18 |
| 17 | $13.44 | 1,543 | $8.71 | 140 | 9.07% | 43 | $0.313 | $32.91 | 2.45 | $0.00 | 0.00 | $0.00 | 0.00 |
| 18 | $0.00 | 0 | — | 0 | — | 11 | — | $16.76 | — | $0.00 | — | $7.12 | — |
| 19 | $0.00 | 0 | — | 0 | — | 2 | — | $11.96 | — | $0.00 | — | $0.00 | — |
| 20 | $0.00 | 0 | — | 0 | — | 3 | — | $5.76 | — | $4.99 | — | $9.98 | — |
| 21 | $0.00 | 0 | — | 0 | — | 2 | — | $15.99 | — | $0.00 | — | $0.00 | — |
| 22 | $0.00 | 0 | — | 0 | — | 1 | — | $12.99 | — | $0.00 | — | $0.00 | — |
| 23 | $0.00 | 0 | — | 0 | — | 1 | — | $5.76 | — | $0.00 | — | $0.00 | — |
| 合计 | $278.28 | 28,955 | $9.61 | 2,853 | 9.85% | 745 | $0.374 | $559.00 | 2.01 | $272.13 | 0.98 | $360.61 | 1.30 |
Meta 自己给这一天的入账合计是 $610.49 · 2.19,走的是它的转化时钟。零投放小时里出现的安装, 是更早那些小时留在转化时钟上的残余,一共 38 个。
分析。 这个 UTC 日里有两段停投,成因不同。01–07 时是账户日 08-01 的尾巴:按账户时钟, CBO 广告组到 17:59 已经花掉 $505.93,超过每天 $500 的预算,于是它自己那一天剩下的时间都不再投。 18–23 时不是这个原因:预算没动,还是每天 $500,到那时只花掉 $271.15,而且同一个账户日里广告 系列后来又重新投了出去,触到预算上限从不会有这种表现。两段停投之间是一段连续的十个投放小时, 08:00 到 17:59,另外还有 00:00 这一个小时,是从上一个账户日的末尾带过来的。
十三个什么都没买到的小时,入账收入 $209.64,对应的当日闭合收入只有 $15.96。 这是当天入账 总额的 37.5% 在零投放的时候到账,占当日闭合总额的 5.9%。光是 02 时就在零花费上入账 $36.50。
投放小时之内,买量是稳的。CPM 在 $8.46 到 $11.95 之间,CTR 在 8.51% 到 11.12% 之间,整段没有 趋势。单次安装成本从 $0.458 一路滑到 $0.313。流量之后的表现就不稳:在实质相同的投放下, 分小时的当日闭合 ROAS 从 0.00 跑到 2.27;同一批流量,11 时的当日闭合读 0.58,观测时长 24 小时 读 2.97。
最后这一对读数就是截断,一行之内就看得见。小时之间要用同期群那一列比,两天之间要用当日闭合 比。
只比较两天都投放过的小时。在这个账户上做日与日对比时,一天之内的时段结构是最大的混杂因素, 所以某一天缺掉的小时直接丢弃,而不是拿它和空的配对。这一段走报表时钟,用的是上面那张表同一个 加载器:花费、展示次数、点击和安装数都落在 Meta 的投放小时上,能精确地跨两个账户日重新拼接。
按 UTC 时钟,两天都投放的小时:00、08、09、10、12、13、14、15、16、17。2026-08-02 另外还投了 11。2026-08-01 另外还投了 01、02、03、04、05、06、07、18、19、20、21、22、23。只比较共同投放小时。
数一下每个共同投放小时指向哪一边,这不需要加权,问的也只是方向:
| 指标 | 2026-08-02 更高的小时数 | 更低的小时数 | 符号检验 |
|---|---|---|---|
| CPM | 9 of 10 | 1 of 10 | p = 0.021 |
| CTR | 9 of 10 | 1 of 10 | p = 0.021 |
| 点击→安装 | 3 of 10 | 7 of 10 | p = 0.344 |
| CPI | 8 of 10 | 2 of 10 | p = 0.109 |
符号检验扔掉幅度,换来一个不需要加权的方向:它回答这一天往哪边动了,永远不回答动了多少。
一次展示的价格几乎在每个小时都涨了,点击率跟着一起涨。 十个共同投放小时里,08-02 的 CPM 有九个更高,CTR 是同样那九个,p 都是 0.021。点击之后的环节不是这个走向:点击→安装有七个更低, p = 0.344,单次安装成本有八个更高,p = 0.109,两个都分不开。CTR 的一部分变动来自结构,因为 pool5 在 08-02 跑了而 08-01 没跑;但结构抬不高一个预算没动的广告组在十个小时里九个小时的 展示价格。
每一个共同投放小时,2026-08-01 → 2026-08-02。所有列在比值两端都用 Meta 的计量口径。收入是有意不放的:每小时的付费用户只有 0 到 3 人,一列分小时收入等于把一个人的一笔消费当成比率来读。
| 小时 | 展示次数 | CPM | CTR | 点击→安装 | CPI |
|---|---|---|---|---|---|
| 00 | 370 → 799 | 12.76 → 8.92 | 16.76% → 8.51% | 38.7% → 23.5% | 0.197 → 0.446 |
| 08 | 7,863 → 1,512 | 6.72 → 8.79 | 6.79% → 10.98% | 25.5% → 17.5% | 0.389 → 0.458 |
| 09 | 8,151 → 4,266 | 6.83 → 8.46 | 6.31% → 8.74% | 25.1% → 22.0% | 0.431 → 0.440 |
| 10 | 5,917 → 4,119 | 7.50 → 10.05 | 6.39% → 9.42% | 25.4% → 24.7% | 0.462 → 0.431 |
| 12 | 1,073 → 2,573 | 7.79 → 11.95 | 7.74% → 9.91% | 26.5% → 28.6% | 0.380 → 0.421 |
| 13 | 2,469 → 2,752 | 6.94 → 11.32 | 8.67% → 11.12% | 27.1% → 23.5% | 0.296 → 0.433 |
| 14 | 3,175 → 2,578 | 7.80 → 9.88 | 9.17% → 10.78% | 27.8% → 28.4% | 0.306 → 0.322 |
| 15 | 3,452 → 2,670 | 7.71 → 9.09 | 9.21% → 10.19% | 24.8% → 24.6% | 0.337 → 0.362 |
| 16 | 4,177 → 3,024 | 7.04 → 9.11 | 8.55% → 10.35% | 23.8% → 22.4% | 0.346 → 0.393 |
| 17 | 5,594 → 1,543 | 6.70 → 8.71 | 7.85% → 9.07% | 26.4% → 30.7% | 0.323 → 0.313 |
00 时是 CPM 和 CTR 上唯一的例外,它也是唯一一个不和其余小时同属一个账户日的小时。 它是从 账户日 08-01 的尾巴带过来的,买到 370 次展示,对面是 799 次,而它在 08-01 的 16.76% CTR 是整张 对照表里唯一一个高过 16% 的读数。08:00 到 17:59 这一段连续投放里,每个共同投放小时在两个比率上 都指同一个方向,符号检验因此只剩一个反向小时,而不是对半分。
⚠ 这张表的花费列和安装列按账户日切。 Meta 不提供小时 × 国家的交叉表,所以分国家的投放数据 只存在于广告账户自己的 UTC-7 日上,无法重新拼接。收入列走报表的 UTC 时钟,因此表里每一个比值 都跨了七个小时。这张表要看的是结构;想看水平就看括号里 Meta 自己的数字,那是 Meta 的收入 除以 Meta 的花费、落在 Meta 的日子上。不要拿这里的任何水平值去和第 1 节或第 4 节比。
08-02,按花费排序:
| 花费 | 安装 | CPI | 入账 | ROAS | (Meta) | 当日闭合 | ROAS | 同期群 24 小时 | ROAS | |
|---|---|---|---|---|---|---|---|---|---|---|
| IN | $82.03 | 181 | $0.453 | $105.63 | 1.29 | 1.58 | $50.98 | 0.62 | $58.10 | 0.71 |
| US | $16.77 | 32 | $0.524 | $25.96 | 1.55 | 1.07 | $22.97 | 1.37 | $22.97 | 1.37 |
| BR | $15.96 | 77 | $0.207 | $50.92 | 3.19 | 7.31 | $50.92 | 3.19 | $117.03 | 7.33 |
| ID | $14.19 | 51 | $0.278 | $4.99 | 0.35 | 0.35 | $0.00 | 0.00 | $0.00 | 0.00 |
| TR | $11.13 | 22 | $0.506 | $21.25 | 1.91 | 3.36 | $21.25 | 1.91 | $21.25 | 1.91 |
| MY | $8.58 | 25 | $0.343 | $0.00 | 0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
| PH | $7.49 | 46 | $0.163 | $0.00 | 0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
| GB | $7.18 | 5 | $1.436 | $0.00 | 0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
| IT | $6.30 | 5 | $1.260 | $0.00 | 0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
| MX | $6.23 | 13 | $0.479 | $0.00 | 0.00 | 0.92 | $0.00 | 0.00 | $0.00 | 0.00 |
| TH | $5.86 | 15 | $0.391 | $0.00 | 0.00 | 3.75 | $0.00 | 0.00 | $0.00 | 0.00 |
| AU | $5.75 | 2 | $2.875 | $22.08 | 3.84 | 0.00 | $22.08 | 3.84 | $28.67 | 4.98 |
同样这些国家,往前一个账户日:
| 08-01 | 花费 | 安装 | CPI | 入账 ROAS | (Meta) | 当日闭合 ROAS | 同期群 24 小时 ROAS |
|---|---|---|---|---|---|---|---|
| IN | $159.52 | 394 | $0.405 | 1.56 | 2.05 | 1.28 | 1.51 |
| US | $26.88 | 25 | $1.075 | 2.27 | 1.71 | 2.27 | 2.27 |
| BR | $20.72 | 92 | $0.225 | 3.50 | 1.97 | 3.50 | 3.50 |
| ID | $19.28 | 76 | $0.254 | 2.62 | 0.92 | 2.62 | 2.62 |
| TR | $16.60 | 34 | $0.488 | 1.28 | 0.92 | 1.28 | 1.28 |
| MY | $16.56 | 45 | $0.368 | 2.59 | 1.93 | 2.59 | 2.59 |
| PH | $10.79 | 65 | $0.166 | 5.12 | 1.87 | 5.12 | 5.12 |
分析。 结构往世界其他地方挪了。前一个账户日,广告账户花掉的 $505.93 里印度拿了 $159.52; 后一个账户日是 $321.07 里的 $82.03,占比从 31.5% 降到 25.5%,而花费本身跌了 48.6%。印度也是 所有有真实量的国家里安装最贵的,$0.453,巴西是 $0.207,菲律宾是 $0.163。
在这个账户上,单独一天撑不起分国家的结论。最扎眼的比值都落在最小的格子上:澳大利亚的 3.84 只有两次安装,英国和意大利的零各只有五次。覆盖整段投放的估算器用一个能用的样本回答同一个 问题,走 Meta 时钟,覆盖 07-30 到 08-03,4,527 次安装,观测时长 12 小时。对照账户合并后每次 安装 $0.463 的水平,印度是 1,283 次安装、账户回报的 0.87 倍,巴西 370 次安装、0.71 倍, 印尼 279 次、0.57 倍,菲律宾 198 次、0.66 倍,马来西亚 116 次、0.65 倍。在这个样本上高过账户的 只有两个国家:美国 120 次安装、2.32 倍,土耳其 119 次、1.78 倍。
这就把当天最扎眼的两个格子放回了原位。巴西在同期群那一列的 7.33 是 77 次安装,而这个国家在 五倍以上的样本里回报是 0.71 倍;澳大利亚的 3.84 是两次安装。两个都不是市场事实。
按 UTC 时钟,在两天都投放的 10 个小时上合并。每一个比值两端都用 Meta 的计量口径。
| 花费 | 展示次数 | CPM | 点击量 | CTR | 安装数 | 点击→安装 | CPI | |
|---|---|---|---|---|---|---|---|---|
| 2026-08-01 | $301.39 | 42,241 | 7.14 | 3,190 | 7.55% | 826 | 25.89% | $0.365 |
| 2026-08-02 | $250.55 | 25,836 | 9.70 | 2,559 | 9.90% | 627 | 24.50% | $0.400 |
跨小时合并是一次结构对比。 它按每个小时投放了多少来加权,所以只要一天在一天之内买的位置 不同,这几行就会动,哪怕没有任何一个小时本身发生变化。分小时那一节的逐小时配对,是同样两天的 不加权读法;两者对不上的时候,动的是结构。
在这两天上,两种读法是一致的。 合并看,CTR 从 7.55% 走到 9.90%,p = 0.000,点击→安装从 25.89% 走到 24.50%,p = 0.228;第 2 节按小时数,CTR 十个里有九个更高,p = 0.021,点击→安装 七个更低,p = 0.344。两种读法都把 CTR 判成上涨,也都没能把点击→安装读出结果,合并后的 CPM 和 单次安装成本两行,走向和它们的符号检验已经给出的一致。配对两侧都没有哪一个小时在被比较的展示 次数里占主导,所以加权和不加权这两种读法之间没有什么可以拉开。
如果把比较固定在一条两天都跑过的素材上,就只能走广告账户自己的时钟:共同投放小时的计算把每个 格子键在(广告系列,广告组,广告,账户日,账户小时)上,它那套共同小时的逻辑只有对着 Meta 自己的投放日才成立。下面是账户日 08-02 对账户日 08-01,相对本报告其他所有表格是一对偏移七小时 的窗口,水平值和它们对不上。只用两个账户日都投放的九个小时,因为一天之内的时段结构是最大的 混杂因素:01、02、03、05、06、07、08、09、10。
这里的安装数按格子归因、带回溯分配,相对 Meta 的 Leads 和原始注册时间戳,这是第三种计量口径。 这个子集在 H=24 上的同期群覆盖率两天都是 100%。
| 展示次数 | 点击量 | CTR | 安装数 | 点击→安装 | 付费用户 | 付费率 | ROAS | |
|---|---|---|---|---|---|---|---|---|
| 08-01 合并 | 41,871 | 3,128 | 7.47% | 896 | 28.64% | 36 | 4.02% | 1.50 |
| 08-02 合并 | 25,037 | 2,491 | 9.95% | 671 | 26.94% | 25 | 3.73% | 1.04 |
bodysuit 08-01 | 25,675 | 1,997 | 7.78% | 551 | 27.59% | 20 | 3.63% | 1.52 |
bodysuit 08-02 | 12,889 | 1,073 | 8.32% | 318 | 29.64% | 7 | 2.20% | 0.72 |
bikini 08-01 | 10,910 | 762 | 6.98% | 239 | 31.36% | 10 | 4.18% | 1.22 |
bikini 08-02 | 3,105 | 318 | 10.24% | 72 | 22.64% | 6 | 8.33% | 1.25 |
bikini 的共同窗口是四个小时:02、03、05、06;bodysuit 是全部九个。
那个合并漏斗里也没有任何一项能把两天分开。点击→安装跌 6.0%,p = 0.156;付费率跌 7.3%, p = 0.767。固定到 bodysuit,点击→安装涨 7.4%,p = 0.230,付费率跌 39.4%,p = 0.242,底下是 七个付费用户。
bikini 的点击→安装下跌取决于用哪套口径,不能当成定论引用。 按上面那套按格子归因的口径, 它是 31.36% → 22.64%,跌 27.8%,p = 0.004。在同样四个小时上改用 Meta 自己的点击和安装重算, 是 25.72% → 20.75%,跌 19.3%,p = 0.083。一条素材,一个漏斗环节,两套都站得住的口径,两个分居 0.05 两侧的结论,底下 72 次安装。样本太薄,定不下来,而 bikini 的付费率在同样这些格子上往 反方向动了 99%,p = 0.162。
所以点击之后的漏斗,在这两个账户日之间没有实质差别。动的是展示的价格。
回到报表时钟,两天在三种口径上的读数:
| 08-01 | 08-02 | |
|---|---|---|
| 花费 | $733.94 | $278.28 |
| 安装数 | 1,963 | 745 |
| 单次安装成本 | $0.374 | $0.374 |
| 入账收入 | $1,110.93 · 1.51 (Meta 1.59) | $559.00 · 2.01 (Meta 2.19) |
| 当日闭合收入 | $980.99 · 1.34 | $272.13 · 0.98 |
| 同期群 24 小时 | $1,163.16 · 1.58 | $360.61 · 1.30 |
| 同期群 24 小时覆盖率 | 100%,已走完 | 100%,已走完 |
入账收入按付费用户实际安装的 UTC 日拆开:
| 付费用户的安装日 | 08-01 的入账收入 | 08-02 的入账收入 |
|---|---|---|
| 当天本身 | $980.99 (88.3%) | $272.13 (48.7%) |
| 前一天 | $129.94 (11.7%) | $239.67 (42.9%) |
| 前两天 | — | $47.20 (8.4%) |
分析。 拆分表的第一行就是当日闭合收入。 $980.99 和 $272.13 在两处都出现。当日闭合收入 是这一天在自己入账收入里占的那一份,所以两个口径之间的差额就是继承下来的同期群,没有别的东西。
08-01 两者几乎一致,1.51 对 1.34,因为到账的钱有 88.3% 是当天赚的。08-02 两者拉得很开, 2.01 对 0.98,因为不到一半是当天赚的。一天花得更少,而前几天的买家还在继续付钱,这样的日子在 入账收入上一定好看,在 Meta 版本的入账收入上更好看。这就是这个口径按定义该有的行为。
有两件事限定了 0.98 这个数能被推到多远:
两边都不能拿累积不足来解释:两个同期群在观测时长 24 小时上都是 100% 覆盖,08-02 最年轻的一次 安装在支付记录截取时点已经有 61.4 小时。
这个广告系列只有一个 CBO 广告组,里面装着三条广告,所以广告组这一行就是整个账户,能分开的 层级是广告;这里的行按素材标注。
只取投放小时,单一时钟的指标,按 UTC 日。bodysuit 投了 11 个小时,pool5 10 个,bikini 9 个;三条一起跑的是 09:00 到 17:59 这九个小时。
| 08-02 | 花费 | 展示次数 | CPM | 点击量 | CTR | 安装数 | 点击→安装 | CPI |
|---|---|---|---|---|---|---|---|---|
ww_bodysuit_10s | $129.15 | 15,331 | $8.42 | 1,264 | 8.24% | 367 | 29.03% | $0.352 |
ww_pool5_15s | $77.05 | 6,942 | $11.10 | 931 | 13.41% | 213 | 22.88% | $0.362 |
ww_bikini_10s | $72.08 | 6,682 | $10.79 | 658 | 9.85% | 165 | 25.08% | $0.437 |
两个 UTC 日都跑过的两条素材:
| 08-01 | 花费 | 展示次数 | CPM | 点击量 | CTR | 安装数 | 点击→安装 | CPI |
|---|---|---|---|---|---|---|---|---|
ww_bodysuit_10s | $432.42 | 56,102 | $7.71 | 4,733 | 8.44% | 1,235 | 26.09% | $0.350 |
ww_bikini_10s | $301.52 | 36,344 | $8.30 | 2,782 | 7.65% | 728 | 26.17% | $0.414 |
分析。 pool5 买的展示最贵,转化也最好;bodysuit 反过来。相对 bodysuit,pool5 每次 展示多付 31.8%,从这些展示里多拿 62.7% 的点击,再把其中少 21.2% 的点击转成安装。三个效应几乎 抵消,最后它在单次安装成本上落后 2.8%。bikini 明显是第三,$0.437,付的展示价格接近 pool5, 点击率只有它的三分之二。
日与日之间,两条回来的素材走法不同。bodysuit 的展示价格涨 9.2%,点击率滑了 2.4%,但它多转化 了 11.3% 的点击,单次安装成本因此和前一天只差 0.6%。bikini 的展示价格涨 30.0%,点击率涨 28.8%,两边抵消,每次安装多付 5.6%。所以账户合并后持平的单次安装成本,是两条各自只动了 0.6% 和 5.6% 的素材,加上 pool5 以 $0.362 进场、占 27.7% 的花费。它不是一个把底下的变动盖住的 平均值。
⚠ 花费和安装数是第 3 节说的账户日切法;收入走 UTC 日。 只列花费超过 $3 的格子,按花费排序。
| 素材 | 国家 | 花费 | 安装 | CPI | 入账 | 当日闭合 | ROAS | 同期群 24 小时 | ROAS |
|---|---|---|---|---|---|---|---|---|---|
bodysuit | IN | $37.78 | 92 | $0.411 | $51.09 | $11.52 | 0.30 | $11.52 | 0.30 |
pool5 | IN | $23.95 | 47 | $0.510 | $11.52 | $11.52 | 0.48 | $11.52 | 0.48 |
bikini | IN | $20.29 | 42 | $0.483 | $43.03 | $27.95 | 1.38 | $35.07 | 1.73 |
bodysuit | US | $8.98 | 18 | $0.499 | $7.98 | $4.99 | 0.56 | $4.99 | 0.56 |
bodysuit | BR | $6.83 | 43 | $0.159 | $10.26 | $10.26 | 1.50 | $76.37 | 11.18 |
bodysuit | ID | $5.76 | 27 | $0.213 | $4.99 | $0.00 | 0.00 | $0.00 | 0.00 |
pool5 | BR | $5.50 | 22 | $0.250 | $35.53 | $35.53 | 6.46 | $35.53 | 6.46 |
pool5 | ID | $5.10 | 14 | $0.364 | $0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
bodysuit | MY | $5.05 | 10 | $0.505 | $0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
bodysuit | PH | $4.42 | 28 | $0.158 | $0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
bodysuit | MX | $4.35 | 11 | $0.396 | $0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
bikini | US | $4.13 | 7 | $0.590 | $17.98 | $17.98 | 4.35 | $17.98 | 4.35 |
bodysuit | TR | $4.08 | 4 | $1.020 | $5.89 | $5.89 | 1.44 | $5.89 | 1.44 |
bikini | TR | $4.02 | 8 | $0.503 | $5.89 | $5.89 | 1.47 | $5.89 | 1.47 |
bodysuit | AU | $3.85 | 2 | $1.925 | $0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
pool5 | US | $3.66 | 7 | $0.523 | $0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
bikini | BR | $3.63 | 12 | $0.303 | $5.13 | $5.13 | 1.41 | $5.13 | 1.41 |
bikini | TH | $3.33 | 5 | $0.666 | $0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
bikini | ID | $3.33 | 10 | $0.333 | $0.00 | $0.00 | 0.00 | $0.00 | 0.00 |
pool5 | TR | $3.03 | 10 | $0.303 | $9.47 | $9.47 | 3.12 | $9.47 | 3.12 |
分析。 三条素材最大的一行都是印度,在观测时长 24 小时上分别读 0.30、0.48 和 1.73。巴西读 11.18、6.46 和 1.41。这两组读数的跨度和国家之间的跨度一样宽,而每个格子底下只有一两个付费 用户,所以在这个格子规模上素材和国家都分不开,这张表是用来定位收入的,不是用来排名的。
定位这件事它做得好。每条素材的当日闭合数字都靠着一个人。bodysuit 最大的单个付费用户占它 $100.67 的 42.3%,也就是 $42.58,正好是 09 时的当日闭合合计。pool5 最大的那个占它 $105.65 的 33.6%,$35.53,正好是它整个巴西格子。bikini 最大的那个占它 $65.81 的 27.3%,$17.98,正好是 它整个美国格子。三条素材,三个摆在台面上的数字,底下各压着一笔消费。
bodysuit 的巴西行还把截断直接摆了出来:当日闭合 $10.26,24 小时口径 $76.37。这个格子赚到的 钱大部分是在 UTC 午夜之后、买家到来之后的一天之内付的。
地区图承接第 3 节的口径限制,画在账户日的国家切法上。
下面三张表是固定素材区块,由 report_tables.py 生成,原样贴入。这一系列的每一份报告里, 它们的列和列序都相同,所以任意两天都能对着读。
每个比值两端都用 Meta 的计量口径。我们自己的注册数据完全不进这张表。
| 素材 | 花费 | 展示次数 | CPM | 点击量 | CTR | 安装数 | 点击→安装 | CPI |
|---|---|---|---|---|---|---|---|---|
earner/bodysuit | $129.15 | 15,331 | 8.42 | 1,264 | 8.24% | 367 | 29.03% | $0.352 |
earner/pool5 | $77.05 | 6,942 | 11.10 | 931 | 13.41% | 213 | 22.88% | $0.362 |
earner/bikini | $72.08 | 6,682 | 10.79 | 658 | 9.85% | 165 | 25.08% | $0.437 |
每一列都是我们自己的口径。Meta 只能表达 booked 这一个,所以它括在那一列旁边,永远不单独成行。付费用户是去重的人数,不是交易笔数。同期群观测时长 H=24h,这一天覆盖率 100%。报表时钟 UTC。
| 素材 | 入账 | bROAS (Meta) | 当日闭合 | wROAS | 同期群@H | cROAS | 付费用户 | 付费率 | ARPU | ARPPU | 最大付费用户 |
|---|---|---|---|---|---|---|---|---|---|---|---|
earner/bodysuit | $350.23 | 2.71 (3.14) | $100.67 | 0.78 | $175.44 | 1.36 | 13 | 3.3% | 0.257 | 7.74 | 42.3% |
earner/pool5 | $105.65 | 1.37 (1.34) | $105.65 | 1.37 | $112.24 | 1.46 | 10 | 4.4% | 0.470 | 10.57 | 33.6% |
earner/bikini | $103.12 | 1.43 (1.42) | $65.81 | 0.91 | $72.93 | 1.01 | 9 | 5.0% | 0.368 | 7.31 | 27.3% |
16 付费用户门槛(#37):上面任何一行,只要付费用户数不到 16,就只能看方向,不能看幅度。
⚠ 这张表按账户日切,不是 UTC 日。 Meta 不提供小时 × 国家的交叉表,所以分国家的投放数据只存在于广告账户自己的 UTC-7 日上,无法重新拼接。相对上面的 A 表和 B 表,它是一个偏移七小时的窗口;看结构可以,绝不能拿它和它们比水平。
这张表说明 B 表里某一行能不能读。最后一列是这条素材自己的当日闭合收入里来自美国的比例:只要它远高于美国的花费占比,这条素材买到的就是一块地域,而不是赚到了一个结果。
| 素材 | 花费 | 印度 % | 美国 % | 其他 % | 美国占它收入的 % |
|---|---|---|---|---|---|
earner/bodysuit | $153.94 | 24.5% | 5.8% | 69.6% | 5.0% |
earner/pool5 | $85.65 | 28.0% | 4.3% | 67.8% | 0.0% |
earner/bikini | $82.07 | 24.7% | 5.0% | 70.2% | 27.3% |
分析。 哪条素材最好,取决于读哪个口径,而各个口径给出的答案对不上。
按当天的入账收入,bodysuit 遥遥领先,2.71 对 1.37 和 1.43,Meta 读得还要高,3.14。按它自己的 流量算,它在当日闭合上垫底,0.78。pool5 说明了原因:它的入账和当日闭合是同一个数, $105.65。 08-01 的 UTC 日它一点量都没买,07-30 和 07-31 收来的买家也没有一个在这个 UTC 日里 付钱,所以记在它头上的每一块钱都来自当天安装的人。bodysuit 和 bikini 在这之前的两个 UTC 日 都投放过,bodysuit 被记上的钱里有 71.3%、bikini 有 36.2%,是更早安装的人付的。只要哪一天 花费下降,入账收入就会把老买家存量最大、而且这些人还在付钱的那条素材推到前面。
不受小时影响的口径把差距收窄了,而不是确认了它。在观测时长 24 小时上,pool5 以 1.46 领先, bodysuit 1.36 在后,bikini 1.01 垫底。bodysuit 从 0.78 跳到 1.36,就是第 4 节说的那个 截断:它在 UTC 日里投得最晚,光是巴西一个格子就从当日闭合的 $10.26 变成 24 小时口径的 $76.37。
上面四张图里的空心点表示未过 16 付费用户门槛,而这一天所有点都是空心的。安装数不到 20 的素材 不进下面的合成图,也不进第 6 节的地区图:四次安装出一个付费用户,在归一化的收入轴上就到 1.0, 会把每一条真实的实验臂压到图的底部。
估算器把每个格子键在账户日和账户小时上,它的预算区间以 Meta 时钟上的具体时刻为界:预算是在 账户时钟 04:10 改的,那就是事件本身。所以下面这张表走 Meta 的时钟,跨的是完整的预算区间而不是 一天,观测时长 12 小时。结构中性这一列把每条素材的回报,按它所在预算区间合并后的国家结构 重新折算,回答的是「如果这条素材买的国家和它的同伴一样,它会跑成什么样」。
| 素材 | 预算区间 | $/天 | 安装数 | 花费 | CPM | CTR | 印度占比 | CPI | 同期群 12 小时 ROAS | 结构中性 |
|---|---|---|---|---|---|---|---|---|---|---|
ww_bikini_10s | R5 | 500 | 352 | $135.1 | $10.16 | 9.57% | 27% | $0.384 | 1.52 | 1.54 |
ww_bodysuit_10s | R5 | 500 | 1,430 | $501.2 | $8.57 | 8.37% | 29% | $0.351 | 1.18 | 1.20 |
ww_pool5_15s | R5 | 500 | 309 | $116.6 | $10.95 | 12.20% | 19% | $0.377 | 1.11 | 1.02 |
ww_bikini_10s | R4 | 875 | 732 | $286.7 | $8.33 | 7.62% | 32% | $0.392 | 1.17 | 1.17 |
ww_bodysuit_10s | R4 | 875 | 488 | $144.2 | $6.16 | 7.86% | 39% | $0.296 | 1.45 | 1.45 |
R5 内部,两条最大的实验臂的 95% 置信区间是 bikini 0.73–2.51、bodysuit 0.82–1.60,估算器 自己的受众检验算出它们的国家结构相互只值 +1.5%,而这个区间跨过零。
在 Meta 时钟上按完整预算区间来看,排序又变了。R5 里三条都跑在每天 $500,bikini 以 1.52 领先, bodysuit 1.18,pool5 1.11 垫底,而结构中性这一列说这里面没有一项是国家结构造成的假象: 它把 bikini 和 bodysuit 各抬 0.02,把 pool5 压低 0.09。整个 R5 里 pool5 买的结构是三条 中最便宜的,印度占 19%,把这个优势去掉之后它仍然垫底。同时 bikini 在 R4、每天 $875 时是 1.17,在 R5、每天 $500 时是 1.52,印度占比从 32% 变到 27%:预算是地域旋钮,跨过一次预算改动 得出的结论,说的是预算。
所以按天和按预算区间在 pool5 上给的答案是相反的,两个都不足以定案。 它的领先建立在一个 UTC 日、十个付费用户,以及一笔占它三分之一收入的消费上。它的同预算区间数字覆盖整个 R5,把它 排在两条同伴之后,底下是 309 次安装,bodysuit 是 1,430 次。R5 的置信区间几乎完全重叠。不靠 样本量争论也能说的是:pool5 的 CTR 领先超过一半,单次安装成本和最便宜的那条只差 3% 以内, 而且它至今还没有在一个自己也带着继承同期群的日子里被读过。
bodysuit, 1,430 次安装,只有那个数的 9%。这里每一个 ROAS 都是描述性的。pool5 在 08-01 的 UTC 日没有投放,所以它没有日与日对比的行。| 问题 | 需要什么 |
|---|---|
pool5 在当日闭合上的领先是真的,还是因为它新? | 一个它自己也带着继承同期群的日子。它在整个 R5 上的同预算区间数字是 1.11,落后两条同伴,所以日级别的领先目前还没有旁证 |
| 印度的折价有多大? | 覆盖整段投放的读法算出印度是账户水平的 0.87 倍,底下 1,283 次安装,折价是真实的,但比任何单独一天显示的都小得多。给它一个自己的广告组和自己的预算,才能定下来这个折价能不能绕开 |
| 巴西的暴涨是真的吗? | 更多付费用户。在整段投放的 370 次安装上,巴西回报是账户的 0.71 倍,所以当天那个数字是一笔消费,不是一个市场 |
| 到底哪条素材赢? | E2 的随机分流。在这样的付费用户数下,这个广告系列的结构没有任何东西能把一个 CBO 广告组里的三条素材分开 |
按 Meta 时钟,CBO 广告组在 08-03 的 04:20 停止投放,接替它的是 E2:一个随机素材测试,每个 ABO 广告组只放一条素材。
要超过的基准是 UTC 时钟上当日闭合 ROAS 0.98、单次安装成本 $0.374,或者观测时长 24 小时上的 1.30。不是入账的 2.01,也不是 Meta 记的 2.19。 E2 的每一条实验臂都是全新的,因此没有继承 同期群,就像 pool5 在 08-02 一个都没攒到一样;拿一条 E2 实验臂去比这个广告系列的入账数字, 等于用当期新增去比累计存量,会让 E2 显得比实际差。当日闭合比当日闭合,同期群 24 小时比同期群 24 小时。印度仍然占买量的四分之一,价值是账户的 0.87 倍,任何素材测试都碰不到这一点。
报表日是 UTC 日,为的是和 Adjust 对齐。Meta 的分小时导出按广告账户自己的时区 UTC-7 打时间 戳,所以上面每一个投放数字都是从两个账户日重新拼接出来的:08-01 17:00–23:59 和 08-02 00:00–16:59。
三种收入口径贯穿每一张表,彼此从不混用。
| 口径 | 统计什么 | 这一天结束后还会变吗 |
|---|---|---|
| 入账收入 | 在这个 UTC 日之内到账的钱,无论付钱的人哪天安装。它继承更早的买家 | 午夜之后几个小时结算完,之后固定。Meta 自己的数字就是这个口径 |
| 当日闭合收入 | 当天安装并且在这一天结束前付了钱的人 | 不会。午夜封存 |
| 同期群 24 小时 | 当天的安装,按每个人自己安装之后的 24 小时来计,这样就去掉了早上安装相对晚上安装的优势 | 会涨,直到每一次安装都满 24 小时。这里两天都已走完 |
三个都读我们自己的支付记录,Meta 的数字括在入账收入旁边,永远不单独占一行。两者之间的口径 校验走 Meta 时钟,在那里它的转化价值可以对着它所属的那一天来读;两个账户日上,我们的记录分别 是 Meta 入账价值的 0.94 和 0.91,落在已记录的 0.91–1.06 区间里。
两套口径统计的安装人群不同。 Meta 归因出 1,963 和 745 次安装;我们自己的记录把 2,134 和 795 条注册系到这些广告上。本报告里每一个 ROAS 都是收入除以花费,两个数都没有用到。安装数和 单次安装成本这两行用的是 Meta 的。
预算区间是广告组日预算没有发生变化的一段时间。 它之所以重要,是因为在这个账户上预算是 地域旋钮:调高预算就会买到更宽、更便宜的国家,所以跨过一次预算改动去测两条素材,比的是不同 的受众。
这两天不在同一个预算区间,这一条限定了报告里的每一次对比。 08-02 整天都落在一个预算区间 里,R5,每天 $500,按 Meta 时钟它从 08-01 04:10 跑到 08-03 04:20。08-01 不是:它的窗口开在 更早一段每天 $500 设置的尾巴上,中间跑在每天 $875,UTC 11:10 又回到每天 $500,它的花费里 $435.60 落在这次改动之前,$298.34 落在之后。这是时钟造成的,不是买量造成的。预算区间要从 Ads Manager 的操作历史里读,任何导出文件都还原不出来。
报表日 2026-08-02 00:00 → 24:00 UTC,从账户日 08-01 17:00–23:59 和 08-02 00:00–16:59 重新 拼接,账户固定在 UTC-7。所以一次 UTC 口径的拉取,除了当天的分小时导出,还需要前一个账户日的。 支付记录截取到 2026-08-05 10:59 UTC,这让 08-02 的安装有 61.4 到 82.9 小时、08-01 的有 83.1 到 106.9 小时,两个 24 小时同期群因此都已走完。国家数字来自一次全账户的 Country × Day 拉取,按账户日切。
Meta 的行按 Ad ID 选取,不按广告组名或素材名:E2 的素材名和这个广告系列的逐字节相同, 而它的第一个广告组在 08-02–08-03 有十个小时也叫 ww_broad_purchase_adv_cbo150。按名字过滤会 多归因约 70%。
cd C:/Projects/VideoGenAI_Related
CFG=_runs/2026-08-05_0804_settled/run_config.json # tz: UTC
python -m ad_ops.measures --config $CFG --day 2026-08-02 --prev 2026-08-01
python -m ad_ops.cohort_arpu --config $CFG --days 2026-07-31,2026-08-01,2026-08-02
python -m ad_ops.report_tables --config $CFG --day 2026-08-02 --prev 2026-08-01
python -m ad_ops.report_charts --config $CFG --day 2026-08-02 --prev 2026-08-01 \
--days 2026-07-31,2026-08-01,2026-08-02 \
--out ad_ops/figures/2026-08-02 --relpath figures/2026-08-02
# META clock — the instrument gate, §4's per-creative tests, and the regime table
python -m ad_ops.measures --config _runs/2026-08-05_0804_settled/run_config_meta.json \
--day 2026-08-02 --prev 2026-08-01
python -m ad_ops.day_compare --config $CFG --today 2026-08-02 --prev 2026-08-01 --h 24 \
--campaign bailingxia_meituan_ww_cvr_260730 --ads ww_bikini_10s,ww_bodysuit_10s,ww_pool5
python -m ad_ops.asset_estimator hourly --horizon 12 \
--meta ad_ops/_data/b1_meta_exports/B1-Ads-Jul-30-2026-Jul-30-2026.csv \
ad_ops/_data/b1_meta_exports/B1-Ads-Jul-31-2026-Jul-31-2026.csv \
_runs/2026-08-03_aug2_hourly/exports/ads_hourly_aug1_settled.csv \
_runs/2026-08-03_aug2_hourly/exports/ads_hourly_aug2_settled.csv \
_runs/2026-08-04_e2_start_and_0803_report/exports/ads_hourly_aug3_settled.csv \
--lum _runs/2026-08-05_0804_settled/lum \
--fx _runs/2026-08-02_today_read/fx_rates.json \
--ads ww_bikini,ww_bodysuit,ww_pool5
report_tables --prev 会输出第 2 节的共同投放小时配对、第 4 节的合并漏斗,以及第 7 节的三张 固定表格。report_charts 会写出全部十九张图,以及按小节分块的图片链接。
如果前一个账户日的分小时导出缺失,measures 这一步会直接报出缺的是哪一个文件,而不是把 UTC 日的前七个小时填成偏低的数字。估算器出于反方向的同一个原因需要 08-03 的分小时文件:广告系列 跨过午夜还在投放,没有这个文件,attach_cohorts 会把午夜之后的每一次安装都带回到 08-02 的 最后一个格子里。