Xiaomi (Fortune 500)Product Manager, User Growth & AdsJul 2020 – Aug 2022Beijing

01Overview概览

I've worked both sides of the ad business.

广告生意的两头我都做过。

Xiaomi Games buys ads to acquire players. Xiaomi Browser sells ads in its feed. On the buying side I led the 0-to-1 launch of an ML-driven ad delivery platform with a 60-person team; on the selling side I owned ad recommendation strategy. This page follows the platform; the selling side is the appendix.

小米游戏花钱买广告拉玩家;小米浏览器在信息流里卖广告。买方这头,我带 60 人团队从 0 到 1 上线了 ML 驱动的广告投放平台;卖方这头,我负责广告推荐策略。本页主线是平台,卖方放在附录。

Advertiser (buying ads): Xiaomi pays广告主(买广告):小米付钱
Xiaomi GamesThe game store built into Xiaomi phones.小米游戏:小米手机自带的游戏商店
pays for ads on付钱投广告
ByteDance & TencentAd platforms behind TikTok and WeChat.字节、腾讯:TikTok 和微信背后的广告平台
show ads to把广告展示给
PlayersInstall games and pay in them.玩家:下载游戏并付费
spending shared with消费分成给
Game studiosCo-publishers who share the revenue.游戏厂商:联运方,分成收入
Ad Platform (selling ads): Xiaomi gets paid广告平台(卖广告):小米收钱
Reading appsFree web-fiction apps, our clients.阅读类 app:免费网文 app,我们的客户
pay per click to按点击付费给
Xiaomi BrowserThe browser built into Xiaomi phones.小米浏览器:小米手机自带的浏览器
shows ads in its feed to在信息流里展示给
ReadersInstall and keep reading.读者:安装并持续阅读
earn money for带来收入给
Reading appsThrough in-app ads to new readers.阅读类 app:靠新读者的 app 内广告赚钱

On both sides, the work comes down to one question: is this the right ad for this person?

两边的工作归根结底是同一个问题:这条广告对这个人合不合适?

12×30-day ROI, 10% → 120%30 日 ROI,10% → 120%
$45M+A year in ad-attributed revenue每年广告归因收入
60People across functions on the project I led我带的跨职能项目人数
3×Selling side: ad revenue from reading-app clients卖方:阅读类客户广告收入
02Customer challenges / Why客户痛点 / 为什么做

A cheap install isn't a valuable player.便宜的安装,不等于有价值的玩家。

Operators picked audiences by age, gender and interests and bid the industry average. The signal that mattered — who actually pays — stayed inside Xiaomi, unused at the moment of bidding: in China, advertisers don't hand conversion data to the ad platforms.

运营按年龄、性别、兴趣圈人,按行业均价出价。最关键的信号——谁会真的付费——留在小米内部,出价那一刻没用上:在中国,广告主不把转化数据交给广告平台。

Ad spendper player acquired, indexed每获取一个玩家的广告费,按 1 计
$1.00
Player spending within 30 daysbefore the platform · 30-day ROI 10%平台上线前 · 30 日 ROI 10%
$0.10

The question to answer, ad slot by ad slot: is this person worth an ad, and how much?

要逐个广告位回答的问题:这个人值不值得投,值多少?

03Customer persona用户画像

The operator who spends, the partner who shares.花预算的运营,分收入的伙伴。

LinLin

Ad operations lead, Xiaomi Games小米游戏投放运营负责人
Who
Runs the acquisition campaigns on ByteDance and Tencent; owns the daily budget.在字节、腾讯上跑获客投放;管每天的预算。
Pain
Picks audiences by intuition and learns a cohort's value a month after paying for it.凭经验圈人,付完钱一个月后才知道这批人值不值。
Wants
To bid more for players who will pay and skip those who won't, without a data team on call.对会付费的玩家出高价、跳过不会的,而且不用随时找数据团队。

"I can see installs today. I see payers next month.""装机今天就能看到,付费要等下个月。"

ZhouZhou

Partner manager, game studio游戏厂商合作经理
Who
Co-publishes titles on Xiaomi Games and shares what players spend.在小米游戏联运游戏,分成玩家的消费。
Pain
Install counts look good; the revenue share doesn't follow.装机数好看,分成却没跟上。
Wants
New players who pay, and a number that shows the campaign pays for itself before it scales.会付费的新玩家,以及一个能证明"放量前已回本"的数字。

"Don't send me installs. Send me players.""别给我装机数,给我玩家。"

04Customer journey map用户旅程图

One campaign, before and after the platform.一次投放,平台前后。

Lin's week, from picking an audience to reading the result.

Lin 的一周:从圈人到看结果。

1Pick the audience圈人
2Set the bid出价
3Launch上线
4Watch盯盘
5Read the result看结果
Before之前
Age, gender, interests, by hand.按年龄、性别、兴趣手动圈
Industry-average price.行业均价
Upload creatives; launch.上传素材,上线
Installs and cost per install, daily.每天看装机数和单价
30-day ROI arrives a month later: 10%.一个月后才知道 30 日 ROI:10%
Feeling心情
guessing猜
"same as everyone""和大家一样"
hopeful有希望
anxious焦虑
"too late to fix""来不及改了"
After之后
Paying players as seeds → lookalike groups by value.付费玩家做种子 → 按价值分组的相似人群
A bid tier per group; later, a bid per person.每组一档出价;后来逐人出价
RTA answers every ad slot: skip, or bid.RTA 逐个广告位回答:跳过,或出价
7-day ROI as the in-flight gate.7 日 ROI 做过程关卡
30-day ROI by install cohort, on a dashboard.看板上按装机批次看 30 日 ROI
Metric指标
Share of spend on high-value groups高价值人群的花费占比
Bid vs. predicted value出价 vs 预测价值
RTA response timeRTA 响应时长
7-day ROI7 日 ROI
30-day ROI30 日 ROI
05Product roadmap产品路线图

Machine learning went last, not first.机器学习放最后,而不是最先。

A model can only learn from conversions we didn't yet have. So: manual campaigns to get data flowing, tiered bids by player value, then ML bids per person.

模型只能从转化数据里学,而那时数据还没有。所以先人工投放让数据流起来,再按玩家价值分档出价,最后逐人 ML 出价。

Phase 1 · Manual targeting第一阶段 · 人工定向Phase 2 · Tiered bids by value第二阶段 · 按价值分档出价Phase 3 · ML real-time bids第三阶段 · ML 实时出价
Targeting & bidding定向与出价 Hand-picked audiences; industry-average bids.人工圈人;行业均价。 Paying players as seeds → lookalike groups by value; one bid tier per group.付费玩家做种子 → 按价值分组的相似人群;每组一档出价。 Per-person 30-day value prediction; through RTA, skip below the threshold, bid up to value ÷ target ROI above it.逐人预测 30 天价值;通过 RTA,低于阈值跳过,高于阈值按价值 ÷ 目标 ROI 封顶出价。
Data & model数据与模型 Collect installs and payments; attribution by device ID.积累安装、付费数据;按设备 ID 归因。 Payment data connected to the delivery platform.付费数据接入投放平台。 Value model trained on real payments; offline evaluation + live A/B before release.用真实付费训练价值模型;先离线评估,再线上 A/B。
Creative & ops素材与运营 Hand-assembled creatives: ~1,000 a week, 5 people.人工拼素材:每周约 1,000 条,5 人。 ML similarity-matching assembly with human review: 3,000 a week, 3 people, CTR +10%.ML 相似度匹配拼装 + 人工审核:每周 3,000 条,3 人,CTR +10%。
Result结果 30-day ROI 10%30 日 ROI 10% Bids start to follow player value.出价开始跟着玩家价值走。 30-day ROI 120% · $45M+ a year30 日 ROI 120% · 每年 $45M+
06User stories用户故事

Three teams, three promises.三个团队,三个承诺。

  1. As Lin, the ad operations lead, I want to bid more for players likely to pay and skip those who won't, so that 30-day ROI stays above target as spend scales.作为投放运营负责人 Lin,我想对可能付费的玩家出高价、跳过不会付费的,这样放量时 30 日 ROI 仍高于目标线。
  2. As the algorithm team, I want a clear prediction target and a clear release bar, so that we know when a model can go live.作为算法团队,我想要清楚的预测目标和上线标准,这样知道模型什么时候能上。
  3. As Zhou, a studio partner, I want to see new players' 30-day spending by title, so that I agree to scale the budget on evidence.作为游戏厂商合作方 Zhou,我想按游戏看到新玩家前 30 天的付费,这样能基于证据同意放量。
07Acceptance criteria验收标准

What I wrote for the teams.我写给各团队的验收线。

Story故事Criteria标准
S1 · BiddingPerformanceThe RTA response returns within tens of milliseconds; on timeout, fall back to the default bid.
FunctionalityBelow the value threshold, no bid; above it, bid ≤ predicted 30-day value ÷ target ROI.
ReliabilityFirst-party data never leaves Xiaomi; only the decision does.性能:RTA 几十毫秒内回复;超时回退默认出价。功能:低于价值阈值不出价;高于阈值,出价 ≤ 预测 30 天价值 ÷ 目标 ROI。可靠:第一方数据不出小米,只有决策出去。
S2 · Model releaseFunctionalityThe target is each player's spending in the first 30 days.
PerformanceOffline evaluation first, then a live A/B with half the budget on new bids and half on old; promote only if 30-day ROI improves.功能:预测目标是每个玩家前 30 天的付费。性能:先离线评估,再线上 A/B——一半预算新出价、一半旧出价,30 日 ROI 更好才替换。
S3 · Partner viewFunctionalityDashboard shows 30-day ROI by install cohort and title, updated daily; 7-day ROI as the in-flight gate.
GuardrailBudget scales only while ROI stays at or above target.功能:看板按装机批次和游戏显示 30 日 ROI,每日更新;7 日 ROI 做过程关卡。护栏:ROI 不低于目标线才放量。
08Risk风险

What could have gone wrong.哪里可能出问题。

Risk风险Type类型Mitigation应对
The model has nothing to learn from on day one.第一天模型无数据可学。ScheduleThree-phase sequencing: manual campaigns first, so installs and payments start flowing.三阶段排序:先人工投放,让安装和付费数据流起来。
Real-time integration: latency and data exposure.实时接入:延迟与数据外流。TechnicalOnly a skip-or-bid decision leaves Xiaomi, within tens of milliseconds; timeouts fall back to the default bid.出小米的只有"跳过或出价"的决策,几十毫秒内返回;超时回退默认出价。
Optimizing for installs instead of payers.只优化安装、不优化付费。Metric30-day ROI as the north star, 7-day ROI as the gate; installs are never the goal.30 日 ROI 做北极星、7 日 ROI 做关卡;装机数从来不是目标。
Scaling spend before efficiency is proven.效率没证明就放量。BudgetROI ≥ target as the precondition; budgets grew only as ROI rose.以 ROI ≥ 目标线为前提;预算只随 ROI 上升而增长。
Automated creatives trade quality for volume.自动化素材以质量换数量。QualityA person reviews every creative; A/B against hand-made ones; CTR +10% as the bar.每条素材人工审核;和人工素材 A/B;以 CTR +10% 为门槛。
09Business model商业模式

Lean canvas.精益画布。

Problem问题

  • Players bought almost blind: installs ≠ payers.几乎盲投地买玩家:装机 ≠ 付费。
  • Platform targeting predicts clicks, not who pays.平台定向能预测点击,预测不了付费。
  • Our payment data sat unused at bidding time.我们的付费数据在出价时没用上。
Alternatives: manual audiences; platform-side optimization.替代品:人工圈人;平台侧优化。

Solution解决方案

  • Predict each player's 30-day value from first-party data.用第一方数据预测每个玩家的 30 天价值。
  • Answer every ad slot through RTA: skip, or a value-based bid.通过 RTA 回答每个广告位:跳过,或按价值出价。

Key metrics关键指标

  • North star: 30-day ROI = player spending in 30 days ÷ ad spend.北极星:30 日 ROI = 30 天玩家消费 ÷ 广告费。
  • Gate: 7-day ROI.关卡:7 日 ROI。
  • Spend scales with ROI.花费随 ROI 放量。

Unique value proposition独特价值主张

Pay for players, not installs.

为玩家付钱,而不是为装机数。

Concept: our value estimate, the media's final decision.一句话:我们估价值,媒体做最终决定。

Unfair advantage不公平优势

  • First-party install, gameplay and payment data the platforms can't see.平台看不见的第一方安装、游戏行为、付费数据。
  • It never leaves Xiaomi; only decisions do.数据不出小米,只有决策出去。

Channels渠道

  • ByteDance and Tencent ads, via RTA.字节、腾讯广告,通过 RTA 接入。
  • The Xiaomi Games store on every Xiaomi phone.每台小米手机上的小米游戏商店。

Customer segments客户细分

  • Users: Xiaomi Games' growth and ad-ops team.用户:小米游戏增长与投放运营团队。
  • Customers: game studios co-publishing on Xiaomi Games.客户:在小米游戏联运的游戏厂商。

Cost structure成本结构

Ad spend on the media platforms · engineering and algorithm teams · RTA integration and serving.媒体平台广告费 · 工程与算法团队 · RTA 接入与服务。

Revenue streams收入来源

Xiaomi's share of what acquired players spend on co-published titles: $45M+ a year in ad-attributed revenue at the mature stage.买来的玩家在联运游戏里的消费分成:稳定阶段每年 $45M+ 广告归因收入。
10System architecture系统架构

Our value estimate. The media's final decision.我们估价值,媒体做最终决定。

A simplified view drawn for this portfolio, not Xiaomi's internal architecture.

为作品集绘制的简化示意,不是小米的内部架构。

Media platforms send a request per ad slot to an RTA endpoint; a bid engine applies a threshold and a cap using a 30-day value model trained on first-party data; outcomes feed the next estimate; dashboards track 30-day ROI. Media platforms · ByteDance, Tencent external · run the auction, deliver the ad Request per ad slot: user identifier + context Reply in tens of milliseconds: skip, or bid RTA endpoint (Real-Time API) One question per ad slot: is this person worth an ad, and how much? Bid engine · Below the value threshold → no bid · Above it → bid rises with predicted value, capped at predicted value ÷ target ROI 30-day value model Predicts each person's spending in the first 30 days Release bar: offline evaluation → live A/B on half the budget → promote only if 30-day ROI improves First-party data · stays inside Xiaomi Installs Gameplay Payments outcomes feed the next estimate Dashboards · 30-day ROI by install cohort · 7-day gate · spend
图中各块:媒体平台(字节、腾讯,外部,跑竞价并展示广告)· 每个广告位发来请求:用户标识 + 场景 · 几十毫秒内回复:跳过或出价 · RTA 接口(实时接口)· 出价引擎(低于价值阈值不出价;高于阈值按预测价值 ÷ 目标 ROI 封顶出价)· 30 天价值模型(预测每个人前 30 天付费;先离线评估、再线上 A/B 才上线)· 第一方数据留在小米内部(安装、游戏行为、付费)· 虚线:结果回流给下一次预测 · 看板(按装机批次的 30 日 ROI、7 日关卡、花费)。
11MVP最小可行产品

A yes or no on every ad slot.每个广告位,先回答"要不要"。

The first release did one thing: through RTA, answer each ad slot with skip or bid — one media platform, one game category. Press play, then step through.

第一版只做一件事:通过 RTA 逐个广告位回答"跳过还是出价"——一家媒体、一类游戏。点播放,再逐步看。

In the first release第一版做

  • RTA endpoint with one media platform.接一家媒体的 RTA 接口。
  • Threshold gate and a bid cap tied to predicted 30-day value.价值阈值门控 + 和预测 30 天价值挂钩的出价上限。
  • Value model on first-party installs, gameplay and payments.基于第一方安装、游戏行为、付费数据的价值模型。
  • Offline evaluation, then a 50/50 live A/B before every release.每次上线前先离线评估,再 50/50 线上 A/B。

Later phases后续阶段

  • The second media platform.第二家媒体。
  • Creative automation with human review.带人工审核的素材自动化。
  • Automatic budget allocation across titles.跨游戏的自动预算分配。

Result at the mature stage: 30-day ROI 10% → 120%, and $45M+ a year in ad-attributed revenue.

稳定阶段的结果:30 日 ROI 从 10% 到 120%,每年 $45M+ 广告归因收入。

Appendix · Ad Platform (selling ads)附录 · 广告平台(卖广告)

The other side: Xiaomi Browser's feed.另一头:小米浏览器的信息流。

Free reading apps buy ads in the feed and pay per click. I owned the ad recommendation strategy — recall and ranking, lookalike targeting, frequency capping — then redesigned the post-click flow and sold the results to new clients.

免费阅读 app 在信息流里买广告、按点击付费。我负责广告推荐策略——召回与排序、相似人群、频控——再重做点击后的流程,并拿成绩拉来新客户。

After the click: keep the story going.点击之后:让故事继续。

Deep links, pre-loading, fewer steps to the first chapter, landing page matched to the ad. Toggle Before / After.直达下载、预加载、更少步骤读到第一章、落地页和广告一致。切换优化前 / 后。

Before之前After之后
Click-through rate1.5% → 3%点击率
1.5%
3%
2×
Click-to-install conversion5% → 10%安装转化率
5%
10%
2×
7-day retention10% → 20%7 日留存
10%
20%
2×
First client's 180-day ROI70% → 110%: from losing money to profitable首家客户 180 日 ROI:从亏到赚
70%
110%
Profitable
3×Ad revenue from reading-app clients, ~$50K → $150K a day阅读类客户广告收入,约每天 $50K → $150K
1 → 5Clients, won with a case-study-led go-to-market客户数,靠案例开路的 GTM
A/BEvery change tested on randomly split users每项改动都在随机分组用户上做 A/B