← All reports

Weekly report — week ending Thu 8 Oct 2026

Tiny Knightfall · source: GA4 export tiny-knightfall-idle-rpg-game.analytics_538412813 · weeks run Friday to Thursday · revenue is gross (VAT-inclusive outside the US, before refunds) · per-version tables cover 2026-10-02 to 2026-10-08 and exclude China unless stated · predecessor: week ending 1 Oct.

An uneventful week. Total revenue $788, up +11% on last week's $710; DAU 520 (was 560); new installs outside China 852 (was 926). Nothing broke, and no new issue appeared in the data. The two things worth knowing are both corrections rather than events:

The apparent jump in ad performance is one account. Ad revenue $174 against $113, eCPM $80 against $57 — but a single new player in Romania is credited $15.00 of it, all three of their impressions logged at exactly $5.00, which are the only $5.00 impressions in the entire export. Removing that one account, eCPM is $73 against $53 — roughly flat. Ad revenue net of the $5.00 impressions is still up +53% and the increase runs across the distribution, not just the top of it, so the ad business did improve; it is the size of the eCPM jump that the three impressions manufacture. User-days carrying an impression worth $1 or more are 15 of 2186 impressions but 36% of ad revenue, up from 18% the week before.

Day-1 retention recovered and the v34 question from last week is closed. On the same six install days, D1 is 26.1% for 02–07 Oct installs against 20.9% for 25–30 Sep. v33 and v34 were never really competing for the same installs — v33 took 8 installs this week (3 of them outside China) — so last week's "v34 progresses less than v33" reading was a rollout-cohort artefact, not a build regression. v34's own first-day progression is stable (42.2% → 40.3% reaching stage 10).

The state of last week's open items is in section 1; the rest of the page is the evidence for the numbers above. Interstitials are unchanged and still by design: 725 INTER impressions exist in the whole export, every one of them an interstitial_backup_<placement> fallback; this week v34 logged 0 regular interstitials. This is not a defect.

Summary of issues

#areaproblemaffected versionsevidencerecommended action
1Ad data qualityThree ad impressions logged at exactly $5.00 inflate the week's eCPM and ARPUv34 (all 3 on one account)A single new account in Romania (installed and last seen 10-05, 3 impressions, 18 min) is credited $15.00 — 9% of the week's ad revenue. All three impressions are logged at value = 5, the only $5.00 impressions in the whole export, 2 of them on AppLovin and 1 on Mintegral, all under the same MAX unit id 25f9e97521de1f7b. User-days carrying an impression worth $1 or more are 15 of 2186 impressions but 36% of ad revenue, up from 18% the week before.Check this account's user-level revenue in the AppLovin MAX report for 5 October. If MAX also shows $5.00 per impression the value is real and the account is a genuine outlier; if it does not, the client's impression revenue parameter is being set from something other than the MAX callback. Either way, state the week's ad revenue with and without this account until it is resolved.
2Ad monetisationAd-load failures changed shape: DNS blocking now dominates, host-resolution is downv32, v33, v34Failed loads this week: 48% are the DNS lookup returning 0.0.0.0 (18 users, median 35 each, max 2,955), 35% log no error message at all (20 users, mainly Iran), and only 12% are Unable to resolve host "ms.applvn.com" (91 users) — last week that was the largest group at 40%. The retry behaviour is unchanged and still unbounded: 5,150 failed loads across 64 users.Stop requesting ads for the session after a host-resolution or 0.0.0.0 failure instead of retrying to thousands of attempts per device, and always populate error on ad_request_status failures so bucket C can be diagnosed.
3IAPNo-ads sale packs still absent; full-price offer converts poorlyv32, v33, v340 .sale taps, purchases and grants on v32–v34. Full-price no-ads taps 0 / 39 / 101 produced 0 / 1 / 14 purchases. The offer-absent arm's total revenue per new install on D0–D6 is $0.363 excluding its top payer, against $0.445 for the offer-present arm.No client change required. Pricing decision pending the parallel no-ads analysis.
4AnalyticsGeneric ad_reward over-fires; use ad_rewarded_<placement> as the reward recordv34 and olderPlacement rewards track rewarded impressions almost exactly: 2,139 rewards against 2,132 impressions, 993 user × placement × days equal and 15 cells with an excess of 38 rewards. The generic ad_reward event runs at 0.97× per impression on v34 and 2.60× on v26.2.No gameplay fix. Treat ad_rewarded_<placement> as the reward record and ad_reward as unreliable for counting.
5StabilityCrash logging exists only from v30 and carries no exception typev30+; not measured on v29 and olderapp_exception first appears on v30 (3 fatal events, 1 user) and exists on v31–v34. 0 non-fatal exceptions are logged anywhere. Fatal exceptions in the first two days of a new install: 0.86% (v34), 4.93% (v33).Attach the exception type or a Crashlytics issue id to app_exception, and log non-fatal exceptions, so a build regression can be seen without a store review.
6AnalyticsNo new or dropped event names this week — but that check now has to be run weekly—Zero event names first seen on or after 10-02, and zero events logged by at least 20 v29 users that fall below a quarter of their v29 rate on v34. Coverage is unchanged from v29 through v34.No action. Rerun both checks after every release; a version silently vanishing looks like "no data for that build", not like a bug.
7DistributionUnofficial v29 distribution in China continues, and v29 still receives installsv29, v34China this week: 210 users, 120 installs, 33.2 min per user, 0 purchases, 10 ad impressions ($0.03). v29 also took 421 non-China users with 218 .sale reward grants and 0 purchases — the known repeated emission of the 30days.sale grant.Excluded from KPIs. Consider blocking unofficial builds by installer source or signature.

1 · What last week's report left open

#what the previous report left openoutcomewhat the numbers now say
1v34 day-0 progression lower than v33 (42% vs 51% reach stage 10)Resolved — not a regressionOn the only dates the two builds were both being distributed (25–30 Sep, v33 n=138, v34 n=604) v33 really did progress further (51.4% vs 42.2% reaching stage 10) — but that is a rollout-cohort difference, not a build difference: v33's installs were concentrated on 25–26 Sep and it took only 8 installs in this report's week (3 of them outside China). v34's own progression is stable to slightly better on identical days (42.2% → 40.3%).
2D1 retention fell to 20.9% for 25–30 Sep installs, attributed to traffic not the buildConfirmed, and it has reversedSame six install days, same extract: D1 20.9% for 25–30 Sep installs → 26.1% for 02–07 Oct, so last week's 20.9% stands under the stricter six-day window. The whole move is non-Tier-1 traffic recovering (20.8% → 27.5%) while Tier 1 was flat (23.6% → 23.6%). Build is still not the explanation: v34's D1 on the two windows is 21.7% → 26.6%, and v33 is not comparable this week at all (8 installs in total, 3 outside China).
3No-ads .sale pack removal — note the revenue context onlyHeldStill zero .sale taps, purchases or grants on v32–v34. Revenue is not falling further: total $788 this week against $710 last week (+11%), IAP $613 against $597, ads $174 against $113.
4Anything genuinely new — events, crashes, countriesNothing newNo event name first seen on or after 10-02; no event dropped between v29 and v34; no new country of note; two unpublished builds appeared (v35 9 installs from 10-04, v36 6 installs from 10-07) with no crash logging yet. Fatal-crash rate on new installs is unchanged at 0.86% on v34.

2 · Weekly overview

Revenue held at $788 (+11% on last week) while DAU kept falling to 520.

DAU is down -7% week on week and -42% against the week of 4 September. Installs outside China are down -8%. Revenue per DAU has risen in step ($1.515 against $1.268), so the revenue line is an audience story, not a monetisation story — and this week even the audience decline stopped costing money.

week from (Fri)DAUDAU Chinainstalls ex-CNinstalls ChinaIAP USDno-ads USD.sale USDother IAP USDad USDtotal USDpayers% DAU watching an adeCPM USD
08-2896971,943251,5445083631,0361291,673846.650.9
09-0489951,959151,349513321836981,448676.750.7
09-1182461,688301,2985153027831461,443567.654.4
09-187761361,11963587814550732121999408.353.8
09-2556033926995971310466113710378.657.0
10-0252018852496131630450174788409.779.8
Query (one row per user per day, from 2026-08-01)
(cached: wk1009_15_user_day_facts.parquet)
Query (one row per user: install date, country and build, no-ads purchase dates)
(cached: wk1009_15_user_history.parquet)

3 · The week's ad numbers are one account

One account is credited $15.00 — 9% of the week's ad revenue — from three impressions each logged at exactly $5.00.

The account (36d01b175594c2cc…) installed on 10-05 in Romania, was active only that day, and logged 3 ad impressions. Every one is logged with value = 5 — the only $5.00 impressions in the whole export, where the next largest single impression is $4.62. Two came through AppLovin and one through Mintegral, all under the same MAX unit id 25f9e97521de1f7b. The account also made two purchases on the same day ($24.25), so it is not obviously a bot; the question is whether MAX really paid $5.00 an impression for it.

week from (Fri)ad USDlargest single user USD% of week's ad USD from that userad USD excluding that usereCPM USD excludingimpressions of $1 or more% of ad revenue from impressions of $1 or more
09-181218.57.011350.2724.4
09-251139.48.310452.5717.5
10-02174158.615973.01536.2

The $5.00 impressions make the headline ad numbers unusable, but ad revenue did genuinely rise even without them.

Excluding the single largest ad-revenue user each week, eCPM went $50 → $53 → $73, against a headline of $54 → $57 → $80. On the same basis the week's ad revenue is $159 against $104 the week before (+53%), and the increase is spread rather than concentrated: users earning more than $1 account for $130 of it against $76, and the total among users earning more than $0.50 is $150 against $92 (71 users against 50). So the ad business did improve this week; the headline eCPM overstates it by roughly what the three $5.00 impressions are worth.

week from (Fri)users with any ad revenuemedian ad $ per earning userad $ from users above $1users above $1ad $ from users above $0.50users above $0.50top 10 users' ad $
09-183040.10067.02694.66443.2
09-252480.10076.12792.45048.8
10-022560.160130411507172.5
week from (Fri)usersimpressionsad USDeCPM USD
09-043,8951,94198.350.7
09-113,5262,67714654.4
09-182,7292,25612153.8
09-252,3271,98711357.0
10-022,1692,18617479.8
Query (ad revenue and impressions come from the facts extract above)
-- ad revenue by impression size, from the weekly facts extract
SELECT ... SUM(ad_usd), COUNTIF(ad_imps > 0), SUM(ad_imps) ... GROUP BY user_pseudo_id, day
-- see notebooks/sql/15_user_day_facts.sql; ad_usd = SUM(value) over ad_impression_MAX

The accounts to check in AppLovin MAX

Three impressions, one account, 5 October 15:43–17:47 UTC.

These are the rows to reconcile against MAX user-level revenue. If MAX shows $5.00 per impression the value is real and the account is an outlier the pipeline should exclude from trend reporting; if it does not, the client is writing the wrong number into ad_impression_MAX's value parameter.

Query (the three impressions)
-- the three impressions, from the raw export
SELECT FORMAT_TIMESTAMP('%Y-%m-%d %H:%M:%S', TIMESTAMP_MICROS(event_timestamp)) ts, geo.country,
  app_info.version, ad_placement, value, ad_source, ad_unit_name
FROM `tiny-knightfall-idle-rpg-game.analytics_538412813.events_intraday_*`
WHERE _TABLE_SUFFIX BETWEEN '20261002' AND '20261008' AND event_name = 'ad_impression_MAX'
  AND user_pseudo_id = '36d01b175594c2cc957eb8a6c88bafcc'

4 · Day-1 retention and first-session progression

Day-1 retention is back to 26.1% for installs from 2 October, from 20.9% for the previous week's installs.

Share of new installs (excluding China) active on the calendar day after install. The headline and the per-build funnel below use the same six install days in each week (25–30 Sep and 02–07 Oct), because the extract's last day is 09 October: an install on 10-08 has its day 1 on 10-09 and is already counted, while an install on the last day of an earlier week does not. Installs of 27 September are excluded from both, as their day 1 falls inside the 28 September collection gap.

install week from (Fri)installsD1 %installs in observation windowD1 % (observation window)D1 % Rest of worldD1 % Tier 1
2026-08-213,01026.52,62526.325.827.9
2026-08-281,94324.61,70124.925.123.6
2026-09-041,95825.91,66225.625.626.8
2026-09-111,68926.61,4822625.428.3
2026-09-181,12325.694725.826.224.7
2026-09-2579621.767920.920.823.6
2026-10-0285222.372926.127.523.6

The recovery is in non-Tier-1 traffic; Tier 1 is unchanged at 23.6%.

Rest of world went 20.8% → 27.5% while Tier 1 went 23.6% → 23.6% (tier split computed over the observation window). That is the mirror image of last week, when the drop was concentrated in non-Tier-1 traffic. At 679–729 installs in the window this is a swing of about 45 players, so the honest reading is that D1 has returned to its normal 22–27% band rather than that anything was fixed.

v34's first-session progression is stable, and the build comparison that suggested otherwise is confounded.

Restricted to the six install days each week with their day-1 returns fully observed (25–30 Sep and 02–07 Oct), both weeks' installs are measured identically. v34's D1 rose 21.7% → 26.6% and its stage-10 reach is 42.2% → 40.3%. v33 appears only in the earlier window: it was shipped alongside v34 on 25–26 September and had 138 installs there, then 8 installs in this report's week (3 outside China). Comparing the two builds across those dates compares a staged rollout's early adopters with a fully distributed build's ordinary traffic, which is the same selection artefact the release notes warn about.

install weekinstall buildinstallsD1 %% start stage 1% reach stage 10% reach stage 20median min in 24 h% under 1 minsessions in 24 h% with a fatal crash
A 25-30 Sep (previous report)3313818.871.751.436.28.525.41.55.1
A 25-30 Sep (previous report)3460421.766.742.225.34.732.81.60.990
B 02-07 Oct (this week)3468926.667.640.324.85.828.21.60.580
Query (first-session funnel, both weeks censored at the same six install days)
(cached: wk1009_d1_first_session_this_week.parquet)
Query (new installs by install build: D1, first-day play time and progression, fatal crashes)
(cached: wk1009_onboarding_by_install_version.parquet)
install_verfirst_installlast_installinstallsd1_eligibled1_pctmedian_d0_minutespct_under_1_min_d0installs_with_fatal_crash_d0d1pct_with_fatal_crash
3409-2510-081,5191,30024.94.732.4130.860
3309-2510-0714213017.77.128.974.9

Stability

Fatal crashes on new installs are unchanged: 0.86% of v34 installs in their first two days.

v33 is higher at 4.93% but on only 142 installs. Exception logging starts in v30, so older builds are not comparable — zero crashes there means "not measured". No non-fatal exceptions are logged anywhere.

versionfirst_dayfatal_exceptionsnonfatal_exceptionsusers_affected
3009-21301
3109-221004
3209-2224011
3309-2416012
3409-2626017
Show the query
(cached: wk1009_crash_logging_by_version.parquet)

5 · Ad monetisation: reward logging is sound, load failures changed shape

2,139 of 2,170 rewarded placement rewards (98.6%) have a matching impression on the same placement within the hour.

For each reward, the same user's impressions were searched ±1 hour on the same placement. 1,959 rewards are followed by their impression within 0–1 s (MAX logs the impression after the reward callback, median 0.25 s), and only 31 rewards have no same-placement impression within an hour. The count-based check agrees on the population it covers: 993 user × placement × days have exactly as many rewards as impressions, and 15 cells have an excess of 38 rewards. No reward is granted without an ad beyond that small residue.

gap_bucketrewardsmax_gap_salso_impression_within_17s_before
next impression 0–1 s after1,9590.99723
1–5 s after1514.91
5–17 s after2216.80
17–60 s after531.80
1–10 min after25730
no impression within 1 h after31–0
Query (proof 1 — timing of reward against next same-placement impression)
(cached: wk1009_reward_impression_offsets.parquet)
comparisonuser_placement_daysrewardsimpressionsexcess_rewards
1 equal9932,1032,1030
2 more rewards than impressions15672938
Query (proof 2 — counts only, no timestamps)
(cached: wk1009_reward_impression_counts.parquet)

The generic ad_reward event still over-fires — 0.97× per impression on v34 — but only where there is no ad at all.

ad_reward carries one fixed AdMob unit id whatever network served the ad, so it cannot be used to count rewards. Placement rewards track impressions 1:1 on every build.

buildusersplacement rewardsrewarded impressionsplacement rewards per impressiongeneric ad_reward per impression
26.271202012.6
29674416.8
341,5102,1452,1071.00.970
Show the query
(cached: wk1009_reward_counts_by_version.parquet)

Ad-load failures

DNS blocking is now the largest cause of failed ad loads (48%) and host-resolution failures have fallen to 12%.

Last week the largest group was Unable to resolve host "ms.applvn.com" at 40% of failed loads. This week it is 12% (91 users, mainly Sudan, Iran and Ethiopia), while lookups returning 0.0.0.0 — the signature of a DNS ad blocker — are 48% from only 18 users, one of whom retried 2,955 times. A third group, 35% of failed loads from 20 users, logs no error value at all, so its cause cannot be determined from the data.

what the SDK reportedusersfailed loads% of failed loadsmedian per usermax per usertop countries (users)
A · lookup of ms.applvn.com returns no address911,16212.46129Sudan 10, Iran 7, Ethiopia 6, Bangladesh 4, Afghanistan 3, Algeria 3
B · lookup returns 0.0.0.0 (DNS ad blocker)184,50547.9352,955Indonesia 8, Brazil 4, Ecuador 1, Italy 1, Latvia 1, Malaysia 1
C · no error message logged203,32335.4141,169Iran 13, Cuba 3, France 1, Iraq 1, Israel 1, Myanmar (Burma) 1
D · no fill (no ad available)180.10088Hong Kong 1
E · other (connection reset, TLS, timeout …)74014.332244Canada 2, Iran 2, Bangladesh 1, Cuba 1, Ethiopia 1
Show the query
(cached: wk1009_ad_fail_reasons.parquet)

Retry intensity is unchanged and still unbounded: 5,150 failed loads this week across 64 devices.

Builds with at least 50 users, counts per 1,000 users of that build. Rewarded fill is 84.3% on v34.

buildusersrewarded impressionsregular INTER impressionsbackup INTER impressionsad USDrewarded fill %failed ad loadsusers with failuresfailed loads per affected user
341,2382,10705617484.35,1506480
Show the query
(cached: wk1009_ads_by_version.parquet)

Interstitials are unchanged and still by design: 725 INTER impressions exist in the whole export, every one of them an interstitial_backup_<placement> fallback; this week v34 logged 0 regular interstitials. This is not a defect.

Checked across the whole export rather than this week alone, because a single week cannot show that something never happens.

placementimpressionsusersfirst_daylast_dayversions
interstitial_backup_acquire_hero764308-2410-0922,24,25,26.2,28,29,32,34
interstitial_backup_welcome_back745007-1410-0917,18,19,20,21,22,24,25,26.2,28,29,33,34,9
interstitial_backup_daily_quest744807-0510-0410,16,18,19,20,21,22,24,25,26.2,29,34,8,9
interstitial_backup_key_challenge_BossRush574507-0710-0910,14,16,17,18,19,20,21,24,25,26.2,29,32,8,9
interstitial_backup_summon_companion453407-0910-0810,15,16,17,19,20,21,22,24,25,29,34,9
interstitial_backup_lucky_spin443507-1410-0810,14,16,17,18,19,20,21,22,24,25,26.2,34
interstitial_backup_key_challenge_GoldRush433307-2010-0914,17,18,20,21,22,24,25,26.2,29,32,34
interstitial_backup_summon_skill412907-1210-0810,16,17,18,19,20,21,22,24,25,29,34
interstitial_backup_blessing_attack371707-1210-0716,17,18,21,22,24,29,34,9
interstitial_backup_summon_gear322407-1010-1010,15,16,17,18,19,20,21,22,24,26.2,29,34,9
interstitial_backup_blessing_cooldown241207-1810-0910,16,17,21,24,29,34
interstitial_backup_game_speed_x2222007-2309-2916,17,19,20,21,24,26.2,29,34
interstitial_backup_skip_time_research221007-2910-0817,18,20,21,26.2,29,34
interstitial_backup_flybox_gold201607-1610-0610,14,17,20,21,24,26.2,29,34
interstitial_backup_key_challenge_HoneyWar201407-2910-0117,18,20,21,24,26.2,29,34
interstitial_backup_blessing_gold181107-1810-0610,17,19,20,21,26.2,29,34
interstitial_backup_summon_talisman13908-0310-0618,21,24,28,29,34
interstitial_backup_flybox_blessing9907-1209-2910,15,21,22,24,26.2,29
interstitial_backup_key_challenge_KingOfHell8707-2210-0416,18,24,26.2,29,34
interstitial_backup_key_challenge_SugarWorld7608-0309-2118,24,29
interstitial_backup_summon_toy5408-2409-2022,24,26.2,29
interstitial_backup_key_challenge_CatLegion5408-2709-2124,29
interstitial_backup_flybox_gem5508-0109-2915,20,21,29,34
interstitial_backup_leagueboss_attack_ad5507-1510-0910,21,24,34
interstitial_backup_observe_astrology5308-3109-2024,26.2,29
interstitial_backup_daily_garden_scissors5407-1810-0815,24,26.2,34
interstitial_backup_daily_exp_shard2207-2608-1017,20
interstitial_backup_refresh_cat_legion_cards2209-0609-1224,26.2
interstitial_backup_daily_garden_torch2207-0708-1821,8
interstitial_backup_daily_ability_point1107-2107-2116
interstitial_backup_rewareded_mini_event1109-2009-2029
interstitial_backup_daily_garden_saw1107-1807-1815
Query (every interstitial impression ever logged, whole export)
(cached: wk1009_interstitial_history.parquet)

6 · No-ads sale pack removal: revenue context

Still zero .sale signals on v32–v34, and revenue has stopped falling.

Total revenue $788 against $710 last week and $999 in the week of 18 September. The full-price no-ads offer is being tapped 101 times on v34 for 14 purchases. The parallel analysis of the removal itself is separate; this section only records the context.

buildusers.sale taps.sale purchases.sale reward grantsfull-price no-ads tapsfull-price no-ads purchases
342,40000010114
294210021800
329800000
33418000391
Show the query
(cached: wk1009_sale_by_version.parquet)

On D0–D6 the offer-absent arm's revenue per new install is $0.363 excluding its top payer, against $0.445 for the offer-present arm.

No-ads revenue per install is the only large, consistent difference; other IAP and ad revenue per install partly offset it. Every interval for the net change includes zero, so this remains a small-sample result.

windowarminstallsno-ads buyers /1kno-ads taps /1kno-ads USD/installother IAP USD/installad USD/installtotal USD/installtotal excl. top payer
D0–D2offer present (installs 09-10..20)2,44513.126.60.2130.1730.0750.4610.415
D0–D2offer absent (installed on v32+)1,5887.672.40.1130.2680.1380.5190.476
D0–D6offer present (installs 09-10..20)2,44513.127.40.2130.2010.0780.4910.445
D0–D6offer absent (installed on v32+)1,4095.779.50.0770.2450.1120.4340.363

7 · User acquisition and revenue concentration

The campaign cohorts that ran this week are far less concentrated than the two previous weeks' spikes.

AppsFlyer data for installs from 2–8 October. The 28–30 September Global cohort had 69% of its IAP from one Swedish player and the Tier1 15-09 cohort 98% from one US player; this week's largest payers are 23% and 22% of their cohorts.

campaigninstalls 02–08 Octspend USDrev. observed toIAP USDad USDROAS to date %
ROAS_Global_20072026407734D623984.044.0
ROAS_Tier1_290920261851,700D597.316415.4
campaignplayers with IAP revenueIAP USDlargest payer USD% from largest payer% from top 3 payersAF ad rowsplayers with ad revenueAF ad USD
ROAS_Global_200720261324254.722.655.273114884.0
ROAS_Tier1_29092026897.321.622.257.328186164

Unlike the two previous weeks, the ROAS campaigns' revenue this week is not one player: the largest payer is 23% of the Global cohort's IAP and 22% of the Tier1_29092026 cohort's, against 69% and 98% for the 28–30 September cohorts. The top three still carry 55% and 57%, so per-cohort ROAS remains a small-sample number.

Source (AppsFlyer raw rows and the campaigns.html payload, not BigQuery)
-- dashboard/af_cohort_revenue_check.py 2026-10-02 2026-10-08
-- pulls raw AppsFlyer IAP and ad-revenue rows per install cohort into
-- dashboard/afdata_local/af_cohort_1002_1008_rows.csv, then groups by campaign and AppsFlyer ID
-- cohort sizes, spend and revenue above come from the AppsFlyer payload in .github-target/campaigns.html

8 · China and the older builds

China remains the same picture: 210 users on v29, $0.03 of ad revenue and no purchases.

33.2 min per user, 3 shop taps opened, 0 purchases, rewarded fill 27.1%. Distribution is unchanged from the pattern first seen on 19 September and this traffic stays excluded from the KPIs.

regionversionusersinstallsminutes_per_usershop_tapspurchasesiap_usdad_impressionsad_usdrewarded_fill_pct
China2921012033.2300100.03027.1
rest of world342,3911,51931.43091331,0423,79827480.7
rest of world3340414230123191411117.674.1
rest of world2921739151413.41985.259.8
rest of world32971333.62521.2150.31031.7
Show the query
(cached: wk1009_china_by_version.parquet)

Older builds still take installs and are almost entirely inert.

This week, by install build and counting all countries: v34 809, v29 54 (40 of them in China), v35 9, v33 8, v21 7, v36 6, v32 2, v26.2 2 and a handful of single installs on builds back to v1. None of the pre-v34 builds logs meaningful revenue. Two unpublished builds also appeared for the first time: v35 (from 10-04, mostly OnePlus devices) and v36 (from 10-07). Neither logs a crash or a rewarded ad, which is what a build that has not finished rolling out looks like.

9 · Instrumentation checks

No event name was introduced or dropped this week, and no parameter set changed.

Event names first observed on or after 2 October: none. Events logged by at least 20 v29 users that fall below a quarter of their v29 per-user rate on v34: none. Coverage is unchanged from v29 through v34, which also means the v35 and v36 builds above have not shipped new logging yet.

Query (event names first seen on or after 2026-10-02 — returns no rows)
(cached: wk1009_new_events_by_version.parquet)
Query (events on v29 missing on v32–v34 — returns no rows)
(cached: wk1009_dropped_events_by_version.parquet)