每日投放报告 — 2026-08-09,对比 2026-08-08

账户当天花费 $644.53,拿到 636 次安装,单次安装成本 $1.013;前一日为 $745.02、814 次、$0.915。入账收入 $1,471.33,当日回收 $688.38,在花费少 13.5% 的情况下降了 31.0%。按账户日核对,我们的记录是 Meta 入账口径的 1.04 与 1.06 倍,落在 0.91–1.06 区间的上沿。连续第二天只有一个广告系列在投放;这是五格拆分测试的第四天,也是 Meta 驳回其中一条素材、并在当天上午让它停投的那一天,本报告大半篇幅都在讲这件事。术语定义、报表时区与三种收入口径见附录。

1总览

投放行是当天有投放的广告系列之和。另有两个广告系列在零花费的情况下仍记到了安装,它们不进入下表,在第 5 节单独点名:把它们算进来,会让没有发生过的花费去除以这些安装,压低单次安装成本。

2026-08-082026-08-09变化
花费$745.02$644.53−13.5%
展示次数75,03362,523−16.7%
CPM$9.93$10.31+3.8%
链接点击量4,2023,342−20.5%
CTR5.60%5.35%−4.6%
安装 (Meta)814636−21.9%
点击→安装19.37%19.03%−1.8%
CPI$0.915$1.013+10.7%
入账收入 (Meta)$1,695.44 (2.28)$1,471.33 (2.28)−13.2%
当日回收$996.74 (1.34)$688.38 (1.07)−31.0%
同期群 24 小时$1,163.66 (1.56)$959.51 (1.49)−17.5%

同期群价值 —— d0 / d3 / d7 的 ARPU 与 ARPPU

按安装日计算,从每个用户自己的安装时刻起算:dN 是他自己的前 (N+1) x 24 小时。ARPU 取自 Adjust,也就是合作方后台看到的那一套;ARPPU 取自我们自己的支付流水,因为 Adjust 没有累计去重付费人数这个字段。窗口还没走完的档位留空,不写 0。

应用ARPU (d0)ARPU (d3)ARPU (d7)ARPPU (d0)ARPPU (d3)ARPPU (d7)安装数
Vloom$0.8830$1.1982$1.3546$17.41$20.94$22.65769

两日的广告系列花费结构。 全球投放 $745.02(100.0%)→ $644.53(100.0%);德语区投放两天都是 $0.00,自账户日 08-06 起再未花过钱。

Meta 驳回了五条素材中的一条(第 6 节)。 spill 这条实验臂比前一日少花 $69.55 并就此停投,bodysuit 少花 $64.38:合起来就是 $100.49 的全部降幅。

连跌四天的点击率止住了。 只看存活的那四条实验臂,合并 CTR 走的是 7.04% → 5.86% → 5.24% → 5.58%(第 6 节)。

法国是一笔账单,占当日回收的五分之一。 6 次安装上 9.37 的 wROAS,$150.75,占 $688.38 的 21.9%。付费用户数从 51 降到 34。

2分小时,2026-08-09

两天都有投放的小时,按 UTC 计:00 至 23。只比较共同投放小时。

下表是当天每个小时本身,三种收入口径与投放漏斗并排。投放列的分子分母都取自 Meta;ours 是我们自己的注册数, 所有收入列都是我们的口径。cov 是该小时同期群在 H=24 下的覆盖率,在这次截取里每一个小时都是 100%:付款数据跑到 08-12 的 09:27,当天的每一次安装都已经活满 24 小时。

hr花费展示CPM点击CTR安装点击→安装CPIourscov入账bROASbPay当日回收wROASwPaywARPUwARPPU同期群cROAScPaycARPUcARPPU
0$26.85221212.141145.15%2925.4%$0.92630100%$70.642.637$11.270.4220.3765.64$11.270.4220.3765.64
1$22.83226210.091114.91%2724.3%$0.84631100%$19.880.873$0.000.0000.0000.00$0.000.0000.0000.00
2$24.3525289.631335.26%3022.6%$0.81236100%$29.031.194$0.000.0000.0000.00$0.000.0000.0000.00
3$26.0126989.641264.67%2217.5%$1.18229100%$18.710.724$5.760.2210.1995.76$5.760.2210.1995.76
4$25.7026039.871164.46%2420.7%$1.07126100%$36.101.406$0.000.0000.0000.00$5.760.2210.2215.76
5$26.8830008.961434.77%2114.7%$1.28022100%$87.703.262$11.140.4120.5065.57$11.140.4120.5065.57
6$32.9035799.191714.78%3017.5%$1.09736100%$35.351.074$10.750.3320.2995.37$10.750.3320.2995.37
7$24.5728768.541354.69%2317.0%$1.06829100%$77.493.159$12.880.5230.4444.29$12.880.5230.4444.29
8$27.4329139.421525.22%2516.4%$1.09728100%$31.841.163$14.240.5210.50814.24$14.240.5210.50814.24
9$25.8831168.311534.91%2013.1%$1.29419100%$85.283.306$104.714.0515.511104.71$104.714.0515.511104.71
10$35.90339210.581825.37%3720.3%$0.97042100%$60.991.709$10.990.3120.2625.50$10.990.3120.2625.50
11$31.0633119.381835.53%3418.6%$0.91443100%$38.121.235$12.860.4110.29912.86$19.970.6410.46419.97
12$32.0632969.731815.49%4927.1%$0.65452100%$157.314.918$195.036.0833.75165.01$195.036.0833.75165.01
13$29.31260811.241325.06%2518.9%$1.17230100%$45.791.565$11.390.3920.3805.70$11.390.3920.3805.70
14$30.51193315.781266.52%2318.3%$1.32728100%$92.313.034$69.992.2922.50035.00$69.992.2922.50035.00
15$27.88269210.361595.91%3018.9%$0.92936100%$21.200.764$0.000.0000.0000.00$0.000.0000.0000.00
16$33.18280411.831896.74%4021.2%$0.83044100%$35.181.067$11.970.3620.2725.99$26.200.7920.59613.10
17$27.5629709.281565.25%2616.7%$1.06032100%$35.371.285$5.150.1910.1615.15$5.150.1910.1615.15
18$21.3323978.901415.88%2517.7%$0.85330100%$71.763.365$67.943.1922.26533.97$112.445.2723.74856.22
19$28.06242411.581375.65%2417.5%$1.16931100%$18.000.642$79.972.8542.58019.99$104.963.7443.38626.24
20$21.27181111.741085.96%1715.7%$1.25119100%$193.019.0711$4.990.2310.2634.99$4.990.2310.2634.99
21$20.94180611.591075.92%2826.2%$0.74826100%$33.331.593$4.990.2410.1924.99$4.990.2410.1924.99
22$26.32178414.751025.72%1312.7%$2.02516100%$52.852.016$0.000.0000.0000.00$174.536.63110.908174.53
23$15.75150810.44855.64%1416.5%$1.12517100%$124.097.885$42.372.6912.49242.37$42.372.6912.49242.37
合计$644.536252310.3133425.35%63619.0%$1.013732100%$1471.332.28127$688.381.07340.94020.25$959.511.49361.31126.65

驳回落在第 13 小时中间。 06:12 的停投对应 UTC 13:12:14 小时是五条实验臂,之后 10 小时是四条,量更低、单次安装成本更高。

数一下每个共同投放小时指向哪一边,这不需要加权,只问方向:

指标2026-08-09 更高的小时数更低的小时数符号检验
CPM16 / 248 / 24p = 0.152
CTR10 / 2414 / 24p = 0.541
点击→安装10 / 2414 / 24p = 0.541
CPI16 / 248 / 24p = 0.152

符号检验丢掉幅度,换来不加权的方向。这一次没有一项过 0.05,这本身就是结论。 前一天 CTR 在 24 个小时里有 19 个更低, p = 0.007;CPI 有 19 个更高,p = 0.007。现在两者都塌回 8 比 16,公平的硬币大约每七次就能掷出这个分布。账户不再沿着整个时钟朝一个方向走。

当日回收集中在两个小时。 第 12 与第 9 小时分别贡献 $195.03 与 $104.71,合计占 $688.38 的 43.5%,背后只有四个付费用户。

2026-08-12T02:49:47.681998 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 3 6 9 12 15 18 21 hour (UTC) 0 5 10 15 20 25 30 35 USD Spend by hour 0 3 6 9 12 15 18 21 hour (UTC) 1500 2000 2500 3000 3500 impressions Impressions and installs by hour impressions installs 15 20 25 30 35 40 45 50 installs (Meta Leads) The day's motion — whole account, 2026-08-09 (UTC)
当天走势:分小时花费,以及展示次数对安装数
2026-08-12T02:49:47.865933 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 4 8 12 16 20 hour (UTC) 4.5 5.0 5.5 6.0 6.5 CTR % CTR 0 4 8 12 16 20 hour (UTC) 8 9 10 11 12 13 14 15 16 USD per 1,000 impressions CPM 0 4 8 12 16 20 hour (UTC) 14 16 18 20 22 24 26 installs / clicks % Click → install 0 4 8 12 16 20 hour (UTC) 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 USD Cost per install Delivery by hour — whole account, 2026-08-09 (UTC)
全账户分小时 CTR、CPM、点击→安装与 CPI
2026-08-12T02:49:48.100101 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 5 10 15 20 hour (UTC) 4.5 5.0 5.5 6.0 6.5 7.0 CTR % CTR 2026-08-08 2026-08-09 0 5 10 15 20 hour (UTC) 8 9 10 11 12 13 14 15 16 USD per 1,000 impressions CPM 0 5 10 15 20 hour (UTC) 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 installs / clicks % Click → install 0 5 10 15 20 hour (UTC) 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 USD Cost per install Delivery by hour — 2026-08-09 against 2026-08-08, shared hours only (UTC)
同样四条比率叠加前一日,仅共同投放小时
逐小时完整对照,2026-08-08 → 2026-08-09

每个共同投放小时,2026-08-08 → 2026-08-09。所有列的分子分母都取自 Meta。这里刻意不放收入:单小时付费用户数在 0 到 3 之间, 一列分小时收入就是把一个人的账单当成比率来读。

hr展示次数CPMCTR点击→安装CPI
001,474 → 2,21210.88 → 12.146.78% → 5.15%30.0% → 25.4%0.535 → 0.926
012,163 → 2,2629.82 → 10.096.80% → 4.91%25.9% → 24.3%0.559 → 0.846
022,373 → 2,5289.69 → 9.635.56% → 5.26%18.2% → 22.6%0.958 → 0.812
032,891 → 2,6988.12 → 9.646.05% → 4.67%14.9% → 17.5%0.903 → 1.182
043,027 → 2,6039.16 → 9.875.68% → 4.46%20.3% → 20.7%0.792 → 1.071
052,891 → 3,0008.66 → 8.964.95% → 4.77%18.2% → 14.7%0.963 → 1.280
062,728 → 3,57910.17 → 9.195.46% → 4.78%22.1% → 17.5%0.841 → 1.097
072,528 → 2,8768.38 → 8.545.70% → 4.69%22.9% → 17.0%0.642 → 1.068
082,878 → 2,9138.60 → 9.425.07% → 5.22%15.1% → 16.4%1.125 → 1.097
092,939 → 3,1168.45 → 8.315.38% → 4.91%18.4% → 13.1%0.856 → 1.294
102,958 → 3,3929.73 → 10.584.77% → 5.37%17.7% → 20.3%1.152 → 0.970
113,227 → 3,31110.66 → 9.385.14% → 5.53%19.9% → 18.6%1.043 → 0.914
123,202 → 3,29610.57 → 9.735.81% → 5.49%16.1% → 27.1%1.128 → 0.654
133,329 → 2,60811.90 → 11.245.35% → 5.06%23.0% → 18.9%0.966 → 1.172
143,059 → 1,93312.43 → 15.786.24% → 6.52%17.3% → 18.3%1.152 → 1.327
154,143 → 2,6928.99 → 10.366.03% → 5.91%18.0% → 18.9%0.828 → 0.929
164,231 → 2,8048.99 → 11.835.65% → 6.74%19.7% → 21.2%0.809 → 0.830
175,225 → 2,9707.95 → 9.284.57% → 5.25%17.6% → 16.7%0.989 → 1.060
184,614 → 2,3978.69 → 8.905.03% → 5.88%19.4% → 17.7%0.891 → 0.853
193,363 → 2,42410.84 → 11.586.21% → 5.65%17.7% → 17.5%0.985 → 1.169
203,465 → 1,81111.40 → 11.745.83% → 5.96%20.3% → 15.7%0.963 → 1.251
212,951 → 1,80611.74 → 11.595.86% → 5.92%17.3% → 26.2%1.155 → 0.748
222,774 → 1,78412.22 → 14.756.92% → 5.72%22.4% → 12.7%0.788 → 2.025
232,600 → 1,50813.06 → 10.445.31% → 5.64%18.8% → 16.5%1.306 → 1.125

3分国家

2026-08-23T12:43:19.981065 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ IN US GB MX DE ID AU FR TR PH AR CA 0 20 40 60 80 100 120 140 USD delivery raked onto the report clock against two measured margins; revenue is the report day Spend against within-day revenue by country — 2026-08-09 spend within-day revenue
分国家的花费与当日回收
2026-08-23T12:43:20.017875 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ −0.04 −0.02 0.00 0.02 0.04 USD per install Cost per install by country — 2026-08-09 (report clock)
分国家的单次安装成本

(一)大盘分国家,2026-08-09。 按报表时区。 Meta 不提供小时 × 国家的交叉表,所以每一份国家切片都要从它自己的账户日折算到 UTC;自有口径本就在 UTC 上。

国家花费占比展示次数CPM注册数 (自有)单次注册成本当日回收wROAS付费用户
IN$116.3318.0%18,168$6.40187$0.622$123.851.0623
US$104.5516.2%2,291$45.6441$2.550$89.940.8619
GB$29.684.6%944$31.4321$1.413$48.411.633
MX$22.023.4%3,070$7.1724$0.917$0.000.002
DE$18.492.9%451$41.0012$1.541$37.952.052
ID$18.302.8%3,174$5.7734$0.538$4.990.272
AU$16.712.6%506$33.0414$1.194$5.610.341
FR$15.952.5%645$24.729$1.773$150.759.451
TR$15.662.4%1,138$13.7627$0.580$5.890.381
PH$14.872.3%5,536$2.6934$0.437$5.630.383
AR$13.992.2%1,179$11.8621$0.666$0.000.002
CA$13.682.1%486$28.138$1.710$0.000.000

其余 195 个国家未列出, $244.29 合计(占本表 37.9%)。

对账:哪些是实测的,哪些是折算的。 每一个分国家单元格都是一次跨小时的分配;每一个总计都是实测的。B1(UTC-7)$185.52 来自账户日 2026-08-08、$459.01 来自账户日 2026-08-09,实测的 UTC 日总计是 $644.53。

上表中没有出现的账户: Nomad Node, KBM1, HR1. 它们的花费在每一张日粒度的表里都有;缺的只是国家切片。

(二)同一切片,每一个账户,2026-08-09.

B1

国家花费占比展示次数CPM注册数 (自有)单次注册成本当日回收wROAS付费用户
IN$116.3318.0%18,168$6.40187$0.622$123.851.0623
US$104.5516.2%2,291$45.6441$2.550$89.940.8619
GB$29.684.6%944$31.4321$1.413$48.411.633
MX$22.023.4%3,070$7.1724$0.917$0.000.002
DE$18.492.9%451$41.0012$1.541$37.952.052
ID$18.302.8%3,174$5.7734$0.538$4.990.272
AU$16.712.6%506$33.0414$1.194$5.610.341
FR$15.952.5%645$24.729$1.773$150.759.451
TR$15.662.4%1,138$13.7627$0.580$5.890.381
PH$14.872.3%5,536$2.6934$0.437$5.630.383
AR$13.992.2%1,179$11.8621$0.666$0.000.002
CA$13.682.1%486$28.138$1.710$0.000.000

其余 195 个国家未列出, $244.29 合计(占本表 37.9%)。

Nomad Node —— 没有国家小节:它这一天什么都没有投出去,是实测的零。

KBM1 —— 没有国家小节:它这一天什么都没有投出去,是实测的零。

HR1 —— 没有国家小节:它这一天什么都没有投出去,是实测的零。

前一日,2026-08-08,同样两张表。

(一)大盘分国家,2026-08-08。 按报表时区。 Meta 不提供小时 × 国家的交叉表,所以每一份国家切片都要从它自己的账户日折算到 UTC;自有口径本就在 UTC 上。

国家花费占比展示次数CPM注册数 (自有)单次注册成本当日回收wROAS付费用户
IN$137.8418.5%23,932$5.76248$0.556$142.381.0319
US$120.4116.2%2,822$42.6770$1.720$348.802.9018
MX$32.444.4%4,330$7.4950$0.649$0.000.006
GB$27.583.7%944$29.2125$1.103$28.741.044
ID$21.072.8%3,787$5.5639$0.540$22.671.084
PH$20.692.8%6,361$3.2554$0.383$3.350.164
CA$19.102.6%697$27.4010$1.910$4.990.262
AR$18.822.5%1,504$12.5130$0.627$0.000.001
TR$15.302.1%935$16.3617$0.900$0.000.000
IT$13.971.9%818$17.0720$0.699$48.903.503
AU$13.721.8%366$37.525$2.743$5.610.412
DE$12.751.7%286$44.616$2.125$41.433.252

其余 194 个国家未列出, $291.33 合计(占本表 39.1%)。

对账:哪些是实测的,哪些是折算的。 每一个分国家单元格都是一次跨小时的分配;每一个总计都是实测的。B1(UTC-7)$164.26 来自账户日 2026-08-07、$580.76 来自账户日 2026-08-08,实测的 UTC 日总计是 $745.02。

上表中没有出现的账户: Nomad Node, KBM1, HR1. 它们的花费在每一张日粒度的表里都有;缺的只是国家切片。

(二)同一切片,每一个账户,2026-08-08.

B1

国家花费占比展示次数CPM注册数 (自有)单次注册成本当日回收wROAS付费用户
IN$137.8418.5%23,932$5.76248$0.556$142.381.0319
US$120.4116.2%2,822$42.6770$1.720$348.802.9018
MX$32.444.4%4,330$7.4950$0.649$0.000.006
GB$27.583.7%944$29.2125$1.103$28.741.044
ID$21.072.8%3,787$5.5639$0.540$22.671.084
PH$20.692.8%6,361$3.2554$0.383$3.350.164
CA$19.102.6%697$27.4010$1.910$4.990.262
AR$18.822.5%1,504$12.5130$0.627$0.000.001
TR$15.302.1%935$16.3617$0.900$0.000.000
IT$13.971.9%818$17.0720$0.699$48.903.503
AU$13.721.8%366$37.525$2.743$5.610.412
DE$12.751.7%286$44.616$2.125$41.433.252

其余 194 个国家未列出, $291.33 合计(占本表 39.1%)。

Nomad Node —— 没有国家小节:它这一天什么都没有投出去,是实测的零。

KBM1 —— 没有国家小节:它这一天什么都没有投出去,是实测的零。

HR1 —— 没有国家小节:它这一天什么都没有投出去,是实测的零。

4汇总:两日对比

按 UTC 时钟,在两天都有投放的 24 个小时上合并。每条比率的分子分母都取自 Meta。

花费展示次数CPM链接点击量CTR安装点击→安装CPI
2026-08-08$745.0275,0339.934,2025.60%81419.37%$0.915
2026-08-09$644.5362,52310.313,3425.35%63619.03%$1.013

跨小时合并按投放量加权,所以它和逐小时对照在这里给出了不同答案: 10 个只剩四条实验臂的小时对 24 个五条实验臂都在的小时。以符号检验为准。

三种口径,两日并列:

口径2026-08-082026-08-09计什么
入账收入$1,695.44 (2.28)$1,471.33 (2.28)当天到账的钱,不论付费者哪天安装
当日回收$996.74 (1.34)$688.38 (1.07)当天安装且当天结束前付费
同期群 24 小时$1,163.66 (1.56),覆盖率 100%$959.51 (1.49),覆盖率 100%各自安装后 24 小时内付费

入账 ROAS 两天完全相同,而它说明的最少。 2.28 对 2.28,掩盖了当日回收从 1.34 掉到 1.07:其中 $262.16、17.8%,来自 08-05 安装的人。

按付费者安装的 UTC 日拆分入账收入:

安装日2026-08-082026-08-09
当天$996.74 (58.8%)$688.38 (46.8%)
前 1 天$70.44 (4.2%)$263.07 (17.9%)
前 2 天$94.57 (5.6%)$51.31 (3.5%)
前 3 天$88.21 (5.2%)$65.16 (4.4%)
前 4 天$57.87 (3.4%)$262.16 (17.8%)
前 5 天$43.22 (2.5%)$30.49 (2.1%)

结构中性账户行。 CPM $9.93 → $10.31(+3.8%);按 2026-08-08 的广告系列结构重算仍是 $10.31(+3.8%)。两天都只有一个广告系列,变化全在投放内部。

2026-08-12T02:49:48.432886 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ booked within-day cohort @ 24h 0 200 400 600 800 1000 1200 1400 1600 USD 2.28 1.34 1.56 2.28 1.07 1.49 the number above each bar is that measure's ROAS against the same day's spend The three revenue measures, 2026-08-08 against 2026-08-09 (UTC) 2026-08-08 2026-08-09
三种收入口径两日对比,柱上标 ROAS
2026-08-12T02:49:48.499437 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 2026-08-08 2026-08-09 0 200 400 600 800 1000 1200 1400 1600 USD the bottom segment IS the within-day figure: the same number seen twice Booked revenue by the day its payer installed (UTC) the day itself one day earlier two days earlier three days earlier four or more
入账收入按付费者安装日拆分

5各广告系列并排

投放取自 Meta,收入口径全部是我们的。同期群观测时长 H=24。报表时区为 UTC。只按 CPM、单次点击成本和 CPI 排序: 跨广告系列时地域才是被处理的变量,这使得这三项可比;收入仍然需要 16 付费用户门槛(DECISION_LOG.md #37、#48)。

广告系列花费占比展示次数展示占比CPM链接点击量CTR单次点击成本安装CPI当日回收wROAS付费用户
全球投放$644.53100.0%62,523100.0%10.313,3425.35%$0.193636$1.013$688.381.0734

有记账无投放,且不进入上表任何比率: 德语区投放 0 次安装 (Meta)、1 次注册 (我们)、当日回收 $0.00; 旧的赚钱系列(08-03 退役) 0 次安装 (Meta)、44 次注册 (我们)、当日回收 $0.00。Meta 把转化记在转化小时上, 所以几天前就关掉的广告系列今天仍会落行。把它们算进来,会让它们的安装进入账户单次安装成本的分母,去除以它们没有产生的花费。

没有标签页条:只有一个广告系列在投。 第 2 至 4 节已经就是它自己的那一套表,第 6 节只承载广告系列以下的层级。

6全球广告系列内部

当天的结构

bailingxia_meituan_ww_cvr_260802 下有 6 个广告组、7 条广告。5 个广告组各带 1 条广告。 ww_broad_purchase_adv_d100_spill 带 2 条,但它们是一对替换关系: vid_ww_spill_8s_9x16_v1 自 08-04 起就是关闭状态,真正的实验臂是它的 Copy。所以当天广告组行就是广告行,下面各表按素材命名。

ww_broad_purchase_adv_d100_mugshot 自 08-04 12:32 起关闭,当天零花费。

5 个有投放的广告组全天都在每日 $150。Aug 8 至 Aug 10 的广告系列变更记录里没有任何一条预算行,所以预算区间 E2-R6 一路不间断地跑到测试自己的终点。

A. 分素材 — 投放

每条比率的分子分母都取自 Meta。我们的注册数不进入这张表。

素材花费展示次数CPM链接点击量CTR安装点击→安装CPI
E2/pool5$159.7420,4137.831,0064.93%17417.30%$0.918
E2/bikini$157.1512,53112.547125.68%13518.96%$1.164
E2/lounge$150.7313,65711.047725.65%11715.16%$1.288
E2/bodysuit$98.049,18910.675245.70%13225.19%$0.743
E2/spill2$78.876,73311.713284.87%7823.78%$1.011
E2/mugshot$0.000—0—0——

⚠ spill 只跑了这 24 小时中的 14 小时,bodysuit 没有花完预算。 spill 已停投,它那一行是半天的数据, 不能拿任何按天口径的量去和其它素材排序。bodysuit 全天 24 小时都在投,它那一行短的原因不同: 在预算真正所在的账户日上,它花了 $85.72,对应 $150.00 的约 57%,既没有触及上限,也没有被改动过,这是 Meta 自己的配速。 而且它在这样的花费下买得更好:按账户时区取共同投放小时,它的点击→安装从 23.29% 升到 28.89%,+24.0%,p = 0.024, 是当天唯一一个过 0.05 的分实验臂漏斗变化。

B. 分素材 — 三种收入口径

每一列都是我们的口径。Meta 只能表达入账收入,所以它括在该列旁边,永远不单独成行。付费用户是去重的人,不是交易笔数。 同期群观测时长 H=24,当天覆盖率 100%。报表时区为 UTC。

素材入账收入bROAS (Meta)当日回收wROAS同期群 HcROAS付费用户付费率ARPUARPPU最大单笔占比
E2/pool5$599.923.76 (3.72)$366.052.29$406.222.54147.4%1.93726.1528.6%
E2/bikini$127.710.81 (0.77)$67.490.43$88.840.5753.3%0.44413.5056.2%
E2/lounge$261.911.74 (1.96)$198.911.32$228.221.5165.0%1.65833.1575.8%
E2/bodysuit$282.782.88 (2.98)$45.340.46$45.340.4674.9%0.3156.4831.4%
E2/spill2$88.381.12 (1.09)$10.600.13$190.892.4222.5%0.1315.3052.9%

16 付费用户门槛(#37):这张表里没有一行过门槛。 五条实验臂,各 2 到 14 个付费用户,而 lounge 的 1.32 有 75.8% 来自一个人。

C. 分素材 — 国家结构

⚠ 账户日切口,与第 3 节相同。只看国家结构,不要拿它的水平值去和 A、B 两表比。

最后一列是该素材自己的当日回收里来自美国的份额:当它远高于该素材的美国花费占比时,这条素材的回报是它买到的那块地域的属性。

素材花费印度 %美国 %其它 %美国占其收入 %
E2/pool5$163.0915.8%17.8%66.4%20.5%
E2/bikini$141.6322.8%13.8%63.3%7.4%
E2/lounge$147.7415.1%14.0%70.8%2.5%
E2/bodysuit$85.7217.9%19.8%62.4%0.0%
E2/spill2$42.2616.6%15.5%67.8%47.1%

当天没有任何一条实验臂在买地域。 印度份额落在 15.1% 到 22.8%,美国份额落在 13.8% 到 19.8%,比这次测试此前任何一天都密集。

2026-08-12T02:49:48.579686 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 2 4 6 8 10 12 14 16 18 20 22 hour (UTC) 2 3 4 5 6 7 8 9 CTR % CTR by hour — every asset, 2026-08-09 (UTC) E2/pool5 E2/bikini E2/lounge E2/bodysuit E2/spill2
分小时 CTR,每条素材一条线
2026-08-12T02:49:48.737474 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 2 4 6 8 10 12 14 16 18 20 22 hour (UTC) 0 20 40 60 80 100 120 140 installs / clicks % Click → install by hour — every asset, 2026-08-09 (UTC) E2/pool5 E2/bikini E2/lounge E2/bodysuit E2/spill2
分小时点击→安装,每条素材一条线
2026-08-12T02:49:48.816572 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 2 4 6 8 10 12 14 16 18 20 22 hour (UTC) 1 2 3 4 5 USD Cost per install by hour — every asset, 2026-08-09 (UTC) E2/pool5 E2/bikini E2/lounge E2/bodysuit E2/spill2
分小时单次安装成本,每条素材一条线
2026-08-12T02:49:48.657189 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 2 4 6 8 10 12 14 16 18 20 22 hour (UTC) 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 USD per 1,000 impressions CPM by hour — every asset, 2026-08-09 (UTC) E2/pool5 E2/bikini E2/lounge E2/bodysuit E2/spill2
分小时 CPM,每条素材一条线
2026-08-12T02:49:48.939102 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ E2/pool5 E2/lounge E2/bikini E2/bodysuit E2/spill2 0 20 40 60 80 100 % of that asset's spend Where each asset bought — share of its own spend by region, 2026-08-09 (META day) IN US GB MX DE ID other
每条素材把钱花在哪:自身花费的地域结构
2026-08-12T02:49:49.015710 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ E2/pool5 E2/lounge E2/bikini E2/bodysuit E2/spill2 0 1 2 3 4 5 6 7 8 USD per install Cost per install by region — every asset, 2026-08-09 (META day) IN US GB MX DE ID
分地域单次安装成本,全部素材
2026-08-12T02:49:49.080752 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ E2/pool5 E2/lounge E2/bikini E2/bodysuit E2/spill2 0 10 20 30 40 50 60 70 USD Within-day revenue by region — every asset, 2026-08-09 (META day) IN US GB DE ID
分地域当日回收,全部素材

拆分测试第四天,平台拿走了一条实验臂

这次测试比较五条素材,用按人随机的拆分把投放量强行拉平,好让上一代那种"各素材投放时段不重叠"的失效不可能再发生。 每个人只被分到一条实验臂,各实验臂互不重叠。它预注册的主指标是每次安装的付费用户数,判定门槛为 65% 置信度, 计划按账户时间从 08-06 00:00 跑到 08-11 00:00。

发生了什么。 08-09 06:12,Meta 把 vid_ww_spill_8s_9x16_v1 - Copy 从 Active 改为 Not Approved,理由取自该广告自己的编辑页, 原文是:"It looks like your ad helps arrange or encourage sexual activities. This goes against our Advertising Standards on Adult Sexual Solicitation and Sexually Explicit Language." 该广告组仍然开着,只是花不出去;分小时导出与变更记录对得上到小时:第 6 小时 $0.98、126 次展示。

主指标站得住;成熟度先生效。 在 08-10 的切口上,安装只成熟到 08-09 11:00 UTC,比 13:12 的驳回早 2.2 小时。

⚠ 下面这个主指标刻意没有重新截取,也不能重新截取。 本页账户层面的同期群数字改用了更晚的 2026-08-12 09:27 UTC 付款数据截止时间,那只是成熟度的变化,不付出任何代价。主指标不一样:在那个更晚的截点上, 成熟度边界落在 13:12 的驳回之后,于是 spill 会带进一段它已经停投、而另外四条仍在投的窗口里的安装。 上一段确立的正是原截点避开了这种不对称。所以下表停在预注册的 2026-08-10 11:00 UTC 截点上, 本页同时并存两个截点,这是有意为之。

主指标:每次安装的付费用户数,四天,五条实验臂。

实验臂付费用户安装每次安装付费用户
pool5326215.15%
bodysuit367045.11%
lounge234595.01%
spill265464.76%
bikini175772.95%

每条实验臂第一次全部过 16 付费用户门槛。 三天前各实验臂只有 5 到 14 个,现在是 17 到 36。

按预注册门槛做两两比较,单侧:

比较置信度p
bodysuit 优于 bikini97.4%0.026
pool5 优于 bikini97.3%0.027
lounge 优于 bikini95.7%0.043
spill 优于 bikini94.3%0.057
pool5 优于 spill62.0%0.380
bodysuit 优于 spill61.2%0.388
lounge 优于 spill57.2%0.428
pool5 优于 lounge54.2%0.458
bodysuit 优于 lounge53.1%0.469
pool5 优于 bodysuit51.3%0.487

只有一条实验臂差异显著,而且是向下的。 bikini 被其余四条全部击败,置信度从昨天的 88–96% 升上来,越过 80% 的常规门槛,也越过本次测试自己的 65%。

次序仍然不重复,四天已经够回答这个问题了。

实验臂08-0608-0708-0808-09(11 小时)
bodysuit3.05%3.75%6.84%8.33%
pool53.28%2.93%9.24%5.26%
bikini3.11%2.81%3.37%1.67%
spill4.76%5.29%3.93%5.66%
lounge4.48%4.73%7.27%2.17%

四天,四种不同的次序。两两之间的 Spearman 落在 −0.10 到 +0.70,没有一对高于 +0.70;唯一稳住位置的是 bikini, 三天垫底、一天倒数第二。此前一直挂着的问题是"付费次序里有没有稳定成分",答案是有且只有一个,就是最差那条实验臂是谁。

单次安装成本再一次重复出来,算了两遍,因为驳回落在这个指标的窗口里面。 只给一个数字,等于让 spill 为它没被允许买的那些小时买单。

五条实验臂,只取五条都在投的小时(账户日 08-06 04:00 至 08-08 23:59,加上 08-09 的 00 至 06 小时):

实验臂安装花费单次安装成本
bodysuit671$452.76$0.675
pool5608$459.70$0.756
spill549$455.04$0.829
bikini542$460.00$0.849
lounge472$459.86$0.974

十组两两比较全部过 65% 门槛,其中九组过 94%,次序和前三天完全一致:单次安装成本连续第四次重复得上。

四条存活的实验臂,窗口包含整个账户日 08-09:

实验臂安装花费单次安装成本
bodysuit736$514.97$0.700
pool5737$571.08$0.775
bikini637$558.62$0.877
lounge553$561.88$1.016

六组两两比较全部过门槛,最低 97.5%。去掉 spill 没有改变其余四条的次序,这正是"它的离场没有扰动测试其它部分"的检验。

DECISION_LOG.md #57 被同一个量的三次读数否掉了。 单次安装成本与每次安装付费用户数的相关系数,两天时是 +0.90, 三天时是 +0.10,四天时是 −0.60。

共同主指标算不出来,作为有效性检验通过。 注册数是 Meta 归因安装数的 101.1%–111.3%,各实验臂齐性,所以任何以 Meta 为分母的数字都不带实验臂之间的偏差。

连跌四天的点击率止住了

自拆分测试开始,账户合并点击率每天都在跌,上一份报告据此外推出接近 4% 的渐近线。第四天没有接着跌。

账户日触达人数频次合并 CTR,全部实验臂合并 CTR,存活的四条spill CTR
08-05(测试前)46,2841.238.73%——
08-0644,1911.587.24%7.04%8.38%
08-0749,5491.536.05%5.86%7.03%
08-0850,8311.505.37%5.24%5.99%
08-0938,6321.485.52%5.58%4.77%

这次上升不是结构造成的。 固定那四条实验臂的一列,三步分别是 −1.18、−0.62 和 +0.34 个百分点,而离场的那条正是 CTR 最高的一条。

频次自 08-06 起每天都在降,现在是 1.48,所以此前已经排除的素材疲劳仍然被排除。 这一天定下来的东西很窄,但值得拿到手:这条下降不是可以外推的趋势,08-08 那个接近 4% 的渐近线预测在它第一个样本外的日子就没站住。 一天就是一天;测试的最后一天会给出下一个点。

2026-08-12T02:49:49.207193 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 08-06 08-07 08-08 08-09 08-10 08-11 day (UTC) 0 2 4 6 8 10 12 payers / installs % Payer rate by day — every asset (UTC) E2/pool5 E2/bikini E2/bodysuit E2/lounge E2/spill2 DEww/bodysuit earner/bikini earner/bodysuit
分日付费率,每条素材一条线
2026-08-12T02:49:49.336583 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 08-06 08-07 08-08 08-09 08-10 08-11 day (UTC) 0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 within-day USD per install ARPU by day — every asset (UTC) E2/pool5 E2/bikini E2/bodysuit E2/lounge E2/spill2 DEww/bodysuit earner/bikini earner/bodysuit
分日 ARPU,每条素材一条线
2026-08-12T02:49:49.421258 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 08-06 08-07 08-08 08-09 08-10 08-11 day (UTC) 0 5 10 15 20 25 30 35 within-day USD per payer ARPPU by day — every asset (UTC) E2/pool5 E2/bikini E2/bodysuit E2/lounge E2/spill2 DEww/bodysuit
分日 ARPPU,每条素材一条线
2026-08-12T02:49:49.497232 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 08-06 08-07 08-08 08-09 08-10 08-11 day (UTC) 0.5 1.0 1.5 2.0 revenue / spend Within-day ROAS by day — every asset (UTC) E2/pool5 E2/bikini E2/bodysuit E2/lounge E2/spill2 DEww/bodysuit
分日当日回收 ROAS,每条素材一条线
2026-08-12T02:49:49.594973 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ CTR click→install CPI payer rate * ARPU * wROAS * 0.0 0.2 0.4 0.6 0.8 1.0 normalised across the day (1.0 = best of the pack) * axis sits under the 16-payer bar on most days: direction only, never a level. Assets under 20 installs on the day are not plotted. Composite — every asset across every measure, 2026-08-09 E2/pool5 E2/bikini E2/lounge E2/bodysuit E2/spill2
综合图:每条素材在每个口径上的表现,按当天归一化

7口径与边界

同期群口径在重新截取之后这两天之间可比了,本页首次发布时不可比。 在 2026-08-12 09:27 UTC 的付款数据截止时间上, 两天在 H=24 都覆盖 100%;首次那次截点在当天结束后 11 小时,08-09 只覆盖 45%,那一行只作留档。 固定观测时长一旦覆盖就不再漂移,08-09 从 $865.47 走到 $959.51,动的是它的覆盖率。 跨日结论仍然主要建立在当日回收上,它在午夜已封存,自始至终没有动过。

口径校验在区间上沿通过。 按账户日核对,我们的记录是 Meta 入账值的 1.04 与 1.06 倍。区间是 0.91 到 1.06,08-09 正好落在边界上。 这值得盯着:单独一天贴着边界不是漂移。

第 6 节 B 表里每一个分素材的收入数字都未过 16 付费用户门槛。 它们被印出来是因为格式要求这张表完整;其中没有一个可以排序。 本报告唯一过门槛的分实验臂收入结论是拆分测试读数,它靠的是合并四天。

spill 的按天行只覆盖 24 个 UTC 小时中的 14 个,不能和其它素材的 24 小时并排。 本报告没有这样做过; 凡是 spill 的数字与整天数字并列的地方都已标注。

bodysuit 在没有触及预算上限、也没有被改动的情况下只花掉 $150 中的 $98.04。 广告组内部投放不足是 Meta 的配速决定。 它在这里要紧,是因为测试的各实验臂在设计上按预算对齐,而预算对齐与实际花费对齐不是一回事。上面的单次安装成本表都按实际花费计算,因此不受影响。

法国那一行是一笔账单,也是全天最大的一笔。 已在第 3 节点名,不进入任何关于国家价值的读数。

8要把这些问题定下来,需要什么

付费次序除了 bikini 之外还有没有稳定成分。 四天四种次序,测试的第五天也就是最后一天不会改变这一点。已回答:没有。 在这个账户的安装量级上,下一次测试不应该再把每次安装的付费用户数当作主指标。

CTR 的底是不是真的。 三次下跌之后有了一次上升。测试的最后一天会在固定这四条实验臂的那一列上给出第五个点,这是对它最便宜的一次检验。

08-08 全账户付费率被什么推动。 仍然没有答案,而且从投放侧的工具里得不到答案。在两天都能提供的那一个口径上, 也就是当日回收付费用户数除以我们自己的注册数,账户在 08-08 读到 5.65%(51 / 902),在 08-09 读到 4.64%(34 / 732), 这个高点没有延续。这和 07-28 那次"断点"一致:后来发现那只是一个好日子从另一侧看过去的样子。 08-08 报告里那个 3.84% 到 5.99% 的标题数字是成熟同期群在共同投放小时上的口径;本页首次发布时 08-09 在 45% 覆盖率下给不出它, 重新截取之后给得出了,所以那个成熟同期群的对比值得重做一遍。上面那组当日回收的数字两种情形下都成立。

spill 的驳回能不能申诉,以及该不该申诉。 该广告上有 Request review 入口。这是在一个绑定身份的广告账户上对外发生的动作, 不由代理方自行决定。这件事值得在 08-11 之前定下来,因为测试结束之后再恢复的实验臂,已经是另一个实验了。

2026-08-12 09:27 UTC 重新截取。 本页首次发布用的是当天结束后十一小时的截点,那时同期群 24 小时覆盖 45%, 只作留档。现在它已经完整,读作 $959.51、1.49,而首次发表的是 $865.47、1.34:同一批人在更高覆盖率下的读数, 不是另一次测量。当日回收没有动,也动不了,投放数字一个都没有动,所以下面每一条跨日结论都按原样成立。 第 6 节拆分测试的主指标刻意留在原来的截点上,原因写在那张表的上方;本页同时并存两个截点,这是有意为之。

9交给测试读数的东西

测试自己的读数在 08-11 00:00 的时点上到期,比本报告晚一天。五条实验臂里有四条不受影响地跑到那个时点,第五条停在这里。本报告交出去的是:

  1. 主指标已经有结论,而它只结论了一件事。 bikini 在 94–97% 的置信度上劣于其余四条,而那四条彼此之间都没有显著差异。 预注册的判定分支是:同一条镜头的实验臂之间有显著差异,就迭代钩子;只有 mugshot 有显著差异,就去做分镜清单;spill 胜出,就照抄竞品的形态; 什么都没有显著差异,那么损失发生在安装之后。spill 没有胜出:它五中排四,且与第二名之间没有显著差异。触发的分支是砍掉 bikini; 而在同一条镜头的三条实验臂里,这一区分完全来自 bikini 比另外两条低 42%,bodysuit 的 5.11% 和 pool5 的 5.15% 是叠在一起的。
  2. 单次安装成本是真正管用的指标,下一次应当把它预注册为主指标。 连续四天、同一次序、十组两两比较全部过门槛。 每次安装的付费用户数要分辨 30% 的差异,大约需要每条实验臂 1,500 次安装,而且一次都没重复出来过。
  3. 照抄竞品这条分支现在带上了一个平台价格。 spill 正是照抄竞品唯一盈利素材做出来的那条,也正是 Meta 以成人性招揽为由驳回的那条。 下一批素材无论怎么用这个形态,被驳回都是跑它的成本。
  4. 按成本,下一批素材应该围绕 bodysuit 来做;按收入,它和 pool5 没有显著差异。 单次安装成本 $0.675 与 $0.756, 每次安装付费用户数 5.11% 与 5.15%。

10复现

窗口:UTC 2026-08-09,对比 UTC 2026-08-08。报表时区是 UTC,而一个 UTC 日由广告账户自己的两个 UTC-7 日拼接而成, 所以每个报表日除了自己的分小时导出,还需要前一个账户日的分小时导出。

本页所有账户层面与分素材的数字,付费数据切口为 2026-08-12 09:27 UTC:同期群观测时长 H=24,两天都覆盖 100%。 本页首次发布用的是 2026-08-10 11:00 UTC 的切口,那时 08-09 停在 45%;当日回收与每一个投放数字都不受这次重新截取影响, 因为当日回收已封存,而账户日的导出当时就已结算。第 6 节拆分测试的主指标是唯一的例外,它留在原来的 11:00 UTC 切口上, 原因写在那张表的上方。

三份导出,都在账户日结束后于 2026-08-10 04:19–04:22 PT 拉取:

文件内容范围
exports/ads_hourly_aug9_settled.csv广告 × 小时账户日 2026-08-09,24 个时段,111 行
exports/ads_day_jul1_aug10.csv广告 × 日2026-07-01 → 2026-08-10,6,191 行
exports/ads_country_day_jul1_aug10.csv广告 × 国家 × 日2026-07-14 → 2026-08-10,9,529 行

我们自己的记录来自两个 Lum Telegram 频道,于 2026-08-10 04:27 与 04:29 PT 在笔记本上导出, 再用 ad_ops/lum_notifications/parse_export.py 解析:18,102 条注册、2,087 笔付费,其中 15 笔找不到对应注册。 解析器修正了 58,284 个受 Telegram 固定时区偏移影响的时间戳。

R=_runs/2026-08-10_0809_daily
python -m ad_ops.measures      --config $R/run_config.json --day 2026-08-09 --prev 2026-08-08
python -m ad_ops.measures      --config $R/run_config_meta.json --day 2026-08-09 --prev 2026-08-08
python -m ad_ops.day_compare   --config $R/run_config.json --today 2026-08-09 --prev 2026-08-08 --h 6
python -m ad_ops.cohort_arpu   --config $R/run_config.json --days 2026-08-05,…,2026-08-09
python -m ad_ops.asset_estimator hourly --campaign bailingxia_meituan_ww_cvr_260802 --horizon 24 …
python -m ad_ops.report_tables --config $R/run_config.json --day 2026-08-09 --prev 2026-08-08
python -m ad_ops.report_charts --config $R/run_config.json --day 2026-08-09 --prev 2026-08-08 \
    --days 2026-08-06,…,2026-08-09 --out ad_ops/figures/2026-08-09
python $R/e2_65pct.py

口径校验在账户自己的时区上跑,绝不在 UTC 上跑,因为 Meta 把转化价值记在转化小时上,而那正是分小时导出无法重新拼接的一列。

驳回的时间与理由是从 Ads Manager 读出来的:manage/campaigns/history 的变更记录, 并核对页面上渲染出的范围字符串为 Aug 8, 2026 – Aug 10, 2026;以及该广告自己的独立编辑页。

11附录 — 定义

报表时区。 报表日是 UTC 日,因为 Adjust 按 UTC 报数,UTC 分桶的报表和归因看板能直接对上,不需要在脑子里换算。 广告账户固定在 UTC-7,所以一个 UTC 日等于账户前一日的 17:00 起,加上账户当日到 16:59。两个时钟差得不近: 在一个可比的日子上,同样的数字在花费上差 15%、在当日回收上差 40%,全看用哪个时钟。

这个时钟够不到的三件事,每一件都在出现的地方标注。C 表的分素材国家结构跟不上它:折算是按账户做的,依据的是账户自己的分小时占比, 而单条素材没有自己的分小时占比。口径校验在账户时区之外无效,因为转化价值记在转化小时上。 估计器刻意跑在账户时区上,因为预算区间是账户时区上的墙上时刻事件。

三种收入口径。 不可只取其一,不可混用,永远标注。

口径计什么当天结束后还会动吗
入账收入当天到账的钱,不论付费者哪天安装午夜后约四小时已结算,之后固定。Meta 自己的数字就是这个口径
当日回收当天安装并且在当天结束前付费不会。午夜已封存
同期群 H 小时当天的安装,各自计到自己安装后 H 小时,内部约定 H=24在所有安装活满 H 小时之前一直上升,之后冻结。覆盖率必须写出来

跨日比较用当日回收,因为它不可变、也不需要观测时长。入账收入用来解释差额,永远不用来排序。 同期群 H 小时是不受小时分布影响的交叉验证,只有两天都覆盖时才可比,而这一对没有。

一个口径,Meta 括在旁边。 三种口径都读自我们自己的付款记录。Meta 只能表达入账收入,所以它括在那一列旁边,不单独成行。 拿 Meta 的入账去比我们的当日回收,是把两个计量口径混在一起,会把 0.91–1.06 的口径差异当成结果的一部分。

存在两种安装计数,而且从不交叉相除。 Meta 归因的安装驱动投放漏斗,所以单次安装成本和点击→安装两端都是 Meta。 我们的注册驱动付费率和所有收入口径,这样付费的人和他们来自的安装是同一个人群。

预算区间。 一段广告组每日预算没有变动的时间。它要紧是因为在这个账户上预算旋钮选择的是国家结构, 所以跨预算变动去比较两条素材,等于在不同人群上比较它们。当天完全落在 E2-R6 内,每条有投放的实验臂都是每日 $150, 这一区间从 08-06 04:05 开始,一直跑到测试结束。

16 付费用户门槛。 大约 16 个付费用户以下,收入数字只能看方向,不能看幅度。 这个账户上每次安装的收入变异系数接近 7,要在它上面把两条素材分辨出 20% 的差异,需要的样本量是一次五天的测试拿不到的。

Internal — noindex. Not for distribution outside the team.