[
 {
  "stream": "AB",
  "name": "platform_financials_fy2025_or_latest_fy",
  "description": "Headline revenue and profitability figures from company filings/press releases for app-focused ad-tech platforms, latest disclosed fiscal year at cutoff.",
  "units": "millions of local reporting currency (see currency column)",
  "geography": "global (company-consolidated)",
  "period": "FY2025 (AppLovin, Unity, Mobvista, Verve, Liftoff); FY2026 fiscal year ended 2026-03-31 (Digital Turbine)",
  "columns": [
   "company",
   "fiscal_period",
   "revenue",
   "revenue_yoy_pct",
   "adjusted_ebitda",
   "adjusted_ebitda_margin_pct",
   "currency",
   "source_id"
  ],
  "rows": [
   [
    "AppLovin Corporation",
    "FY2025",
    "5480.7",
    "70",
    "4512.5",
    "82",
    "USD",
    "AB-S02"
   ],
   [
    "Unity Software Inc.",
    "FY2025",
    "1849.6",
    "2",
    "408.8",
    "22",
    "USD",
    "AB-S05"
   ],
   [
    "Digital Turbine, Inc.",
    "FY2026 (ended 2026-03-31)",
    "565.3",
    "15",
    "122.5",
    "21.7",
    "USD",
    "AB-S07"
   ],
   [
    "Mobvista Inc. (Mintegral)",
    "FY2025",
    "2050",
    "35.7",
    "191",
    "9.3",
    "USD",
    "AB-S08"
   ],
   [
    "Verve Group SE",
    "FY2025",
    "550.9",
    "n/a (missed guidance)",
    "134.1",
    "22.3",
    "EUR",
    "AB-S09"
   ],
   [
    "Liftoff Mobile, Inc.",
    "FY2025",
    "685.7",
    "32",
    "n/a (not disclosed as adjusted EBITDA in sources reviewed)",
    "n/a",
    "USD",
    "AB-S10"
   ]
  ],
  "source_ids": [
   "AB-S02",
   "AB-S05",
   "AB-S07",
   "AB-S08",
   "AB-S09",
   "AB-S10"
  ],
  "notes": "Adjusted EBITDA is each company's own non-GAAP measure with its own reconciliation; margins are not necessarily comparable across companies due to differing add-back definitions. Mobvista's adjusted EBITDA margin computed here as 191/2050=9.3% at the Mobvista consolidated level (figure_kind: derived)."
 },
 {
  "stream": "AB",
  "name": "app_store_consumer_spend_estimates_fy2025",
  "description": "Two independent vendor estimates of global app-store consumer spend (in-app purchases) for calendar 2025, illustrating measurement divergence in Q3 market sizing.",
  "units": "USD billions",
  "geography": "global, with US sub-total",
  "period": "FY2025",
  "columns": [
   "publisher",
   "global_total_usd_bn",
   "games_usd_bn",
   "non_games_usd_bn",
   "us_total_usd_bn",
   "downloads_bn",
   "source_id"
  ],
  "rows": [
   [
    "Sensor Tower (State of Mobile 2026)",
    "167",
    "82",
    "n/a (implied ~85 by subtraction, not independently stated)",
    "60",
    "150",
    "AB-S12"
   ],
   [
    "Appfigures",
    "155.8",
    "72.2",
    "82.6",
    "55.5",
    "106.9",
    "AB-S13"
   ]
  ],
  "source_ids": [
   "AB-S12",
   "AB-S13"
  ],
  "notes": "Sensor Tower and Appfigures use undisclosed, likely different, estimation methodologies; downloads figures also diverge (150bn vs 106.9bn), suggesting different scope or counting rules (e.g., updates vs. fresh installs, store coverage) that were not resolved in this pass."
 },
 {
  "stream": "AB",
  "name": "ownership_and_ipo_events_2021_2026",
  "description": "Key consolidation/ownership events among app-focused ad-tech platforms with dates and disclosed deal terms.",
  "units": "n/a",
  "geography": "global",
  "period": "2021-2026",
  "columns": [
   "date",
   "event",
   "parties",
   "disclosed_terms",
   "confidence",
   "source_id"
  ],
  "rows": [
   [
    "2021-10 to 2022-01",
    "Acquisition",
    "AppLovin acquires MoPub from Twitter",
    "~$1.1B (secondary reporting only, not primary-verified)",
    "low",
    "AB-S15"
   ],
   [
    "2022-08-09",
    "Non-binding proposal (later rejected)",
    "AppLovin proposes to acquire Unity Software",
    "All-stock; 1.152 AppLovin Class A + 0.314 Class C shares per Unity share; implied $58.85/Unity share, $20B enterprise value; conditioned on Unity dropping its ironSource deal",
    "high (proposal terms, per AppLovin's own 8-K); medium (rejection, per secondary reporting)",
    "AB-S18"
   ],
   [
    "2022-11-07",
    "Merger completed",
    "Unity Software + ironSource",
    "0.1089 Unity shares per ironSource share; ~112.5M shares issued; 72.8%/27.2% pro forma ownership split",
    "high",
    "AB-S06"
   ],
   [
    "2025-06-30",
    "Divestiture completed",
    "AppLovin sells Apps/gaming-studio business to Tripledot Studios",
    "$400M cash + ~20% Tripledot equity (announced terms)",
    "high",
    "AB-S03"
   ],
   [
    "2026 (dates not disclosed)",
    "Acquisitions",
    "Verve Group SE acquires Captify Technologies and Acardo",
    "prices not disclosed in sources reviewed",
    "medium (fact of acquisition); low (terms)",
    "AB-S09"
   ],
   [
    "2026-06-04/05",
    "IPO completed",
    "Liftoff Mobile lists on Nasdaq (LFTO)",
    "$23.00/share; ~19M primary shares (up to 21.85M with overallotment); ~$437-502.5M gross proceeds",
    "high",
    "AB-S11"
   ]
  ],
  "source_ids": [
   "AB-S03",
   "AB-S06",
   "AB-S09",
   "AB-S11",
   "AB-S15"
  ],
  "notes": "Rows sourced only from AB-S15 (Wikipedia/tertiary) carry low confidence and are flagged as such; see open_questions."
 },
 {
  "stream": "C",
  "name": "skadnetwork4_postback_windows",
  "description": "SKAdNetwork 4 conversion windows and postback send-delay ranges",
  "units": "days (windows), hours (delays)",
  "geography": "global",
  "period": "current as of 2026-09-27",
  "columns": [
   "window",
   "day_range",
   "send_delay_hours"
  ],
  "rows": [
   [
    "first",
    "0-2",
    "24-48"
   ],
   [
    "second",
    "3-7",
    "24-144"
   ],
   [
    "third",
    "8-35",
    "24-144"
   ]
  ],
  "source_ids": [
   "C-S02"
  ],
  "notes": "Applies to ads signed with SKAdNetwork 4 or later; Tier 0 apps receive only the first postback."
 },
 {
  "stream": "C",
  "name": "eu_att_competition_decisions",
  "description": "Competition-law decisions against Apple's ATT implementation, EU member states, as of cutoff",
  "units": "EUR (fines); dates",
  "geography": "France, Italy, Germany",
  "period": "2025-03 to 2026-08",
  "columns": [
   "country",
   "authority",
   "decision_date",
   "fine_eur",
   "status",
   "remedy_type"
  ],
  "rows": [
   [
    "France",
    "Autorite de la concurrence",
    "2025-03-31",
    "150000000",
    "decided (appeal status unconfirmed)",
    "fine"
   ],
   [
    "Italy",
    "AGCM",
    "2025-12-22",
    "98635416.67",
    "decided (Apple states intent to appeal per reporting)",
    "fine"
   ],
   [
    "Germany",
    "Bundeskartellamt",
    "2026-08-17",
    "0 (no fine; commitments only)",
    "binding commitments, 4-month implementation deadline not yet reached at cutoff",
    "behavioral commitments (consent-prompt redesign)"
   ]
  ],
  "source_ids": [
   "C-S11",
   "C-S13",
   "C-S12"
  ],
  "notes": "Germany's case produced no monetary fine, only binding behavioral commitments with a future implementation deadline -- do not sum fines across rows as if all three are monetary penalties."
 },
 {
  "stream": "C",
  "name": "privacy_sandbox_status_at_cutoff",
  "description": "Status of selected Privacy Sandbox APIs by platform, per Google's own status page, as of 2026-09-27",
  "units": "categorical status",
  "geography": "global",
  "period": "as of 2026-09-27",
  "columns": [
   "api",
   "chrome_status",
   "android_status"
  ],
  "rows": [
   [
    "Attribution Reporting",
    "Deprecate and remove",
    "Scheduled for phaseout"
   ],
   [
    "Topics",
    "Deprecate and remove",
    "Scheduled for phaseout"
   ],
   [
    "Protected Audience",
    "Deprecate and remove",
    "Scheduled for phaseout"
   ],
   [
    "SDK Runtime",
    "n/a (Android-only feature)",
    "Scheduled for phaseout"
   ],
   [
    "CHIPS",
    "Continue to support",
    "n/a"
   ],
   [
    "Private State Tokens",
    "Continue to support / maintain",
    "n/a"
   ]
  ],
  "source_ids": [
   "C-S14",
   "C-S15"
  ],
  "notes": "'Scheduled for phaseout' and 'Deprecate and remove' are both announced-retirement statuses, not confirmed-completed removals, as of the cutoff date."
 },
 {
  "stream": "C",
  "name": "adservices_attribution_windows",
  "description": "Apple Ads (AdServices) documented attribution lookback windows",
  "units": "days",
  "geography": "global",
  "period": "as of changelog entries through 2025-10",
  "columns": [
   "claim_type",
   "window_days",
   "changelog_date"
  ],
  "rows": [
   [
    "click/tap-through",
    "30",
    "2024-11"
   ],
   [
    "view-through (general, inferred)",
    "1",
    "2025-10 (inferred from pre-order entry)"
   ],
   [
    "pre-order click-through",
    "90",
    "2025-10"
   ],
   [
    "pre-order view-through",
    "61",
    "2025-10"
   ]
  ],
  "source_ids": [
   "C-S10"
  ],
  "notes": "The general 1-day view-through window is an inference from the pre-order entry's phrasing, not a directly stated standalone rule."
 },
 {
  "stream": "D",
  "name": "gordon_2023_funnel_measurement_error",
  "description": "Median RCT-measured ad lift vs. median relative error of two non-experimental methods (DML, SPSM), by purchase-funnel stage, across 663 Facebook experiments (Nov 2019-Mar 2020).",
  "units": "percent",
  "geography": "US",
  "period": "2019-11 to 2020-03",
  "columns": [
   "funnel_stage",
   "rct_median_lift_pct",
   "dml_median_relative_error_pct",
   "spsm_median_relative_error_pct"
  ],
  "rows": [
   [
    "upper funnel (e.g. page view)",
    "29",
    "83",
    "173"
   ],
   [
    "middle funnel (e.g. add to cart)",
    "18",
    "58",
    "176"
   ],
   [
    "lower funnel (purchase)",
    "5",
    "24",
    "64"
   ]
  ],
  "source_ids": [
   "D-S02"
  ],
  "notes": "Relative error figures indicate how far the non-experimental method's estimated lift deviates from the RCT-measured lift for the same experiment set, not an independent lift estimate."
 },
 {
  "stream": "D",
  "name": "blake_ebay_roi_by_method",
  "description": "eBay paid-search ROI estimates by estimation method, from a 60-day, 210-DMA field experiment with ads suspended in ~30% of DMAs.",
  "units": "percent",
  "geography": "US",
  "period": "not stated precisely in sections read",
  "columns": [
   "method",
   "roi_pct"
  ],
  "rows": [
   [
    "OLS, no time/geo controls",
    "4173"
   ],
   [
    "OLS, with time/geo controls",
    "1632"
   ],
   [
    "Experimental estimate, no controls",
    "-22"
   ],
   [
    "Experimental estimate, with controls",
    "-63"
   ]
  ],
  "source_ids": [
   "D-S04"
  ],
  "notes": "Table 1 of the source paper; 'F=A/(1+A)*(E/D)-1' is the paper's own ROI conversion formula from estimated coefficients."
 },
 {
  "stream": "D",
  "name": "attribution_window_options_by_platform",
  "description": "Documented click-through and view-through attribution window options/defaults across platforms and MMPs.",
  "units": "days (unless noted)",
  "geography": "global",
  "period": "current as of 2026-09-27",
  "columns": [
   "system",
   "click_through_options",
   "click_through_default",
   "view_through_options",
   "view_through_default"
  ],
  "rows": [
   [
    "AppsFlyer (MMP)",
    "1-30 days (configurable)",
    "7 days",
    "0-24 hours (configurable)",
    "1 day"
   ],
   [
    "TikTok Ads Manager",
    "1 / 7 / 28 days",
    "not stated in source",
    "Off / 1 / 7 days",
    "not stated in source"
   ],
   [
    "Meta App Events API (classic model)",
    "up to 30 days measured (28-day model stated)",
    "28 days",
    "within 1 day of impression",
    "1 day"
   ]
  ],
  "source_ids": [
   "D-S13",
   "D-S22",
   "D-S16"
  ],
  "notes": "AppsFlyer's engaged-click window (1-7 days, default 2 days) and TikTok's engaged view-through window (1 or 7 days, app campaigns only) are separate categories not shown in this simplified table; see findings D-F10 and D-F14 for full detail. Meta's post-ATT Aggregated Event Measurement uses different, shorter windows covered in stream C."
 },
 {
  "stream": "D",
  "name": "skan4_postback_windows",
  "description": "SKAdNetwork 4 postback timing structure as documented by Adjust.",
  "units": "days / hours",
  "geography": "global",
  "period": "current as of 2026-09-27 (iOS 16.1+)",
  "columns": [
   "postback_number",
   "conversion_value_window_days",
   "delivery_delay_hours"
  ],
  "rows": [
   [
    "1",
    "0-2",
    "24-48"
   ],
   [
    "2",
    "3-7",
    "24-144"
   ],
   [
    "3",
    "8-35",
    "24-144"
   ]
  ],
  "source_ids": [
   "D-S11"
  ],
  "notes": "Fine (6-bit, 0-63) vs. coarse (none/low/medium/high) conversion-value granularity is gated by a 4-tier crowd-anonymity threshold; both can be null simultaneously per the source."
 },
 {
  "stream": "D",
  "name": "aridor_2025_att_effect_sizes",
  "description": "Headline effect sizes from Aridor, Che, Hollenbeck, Kaiser & McCarthy (2025) on ATT's e-commerce impact.",
  "units": "percent",
  "geography": "US",
  "period": "pre-ATT baseline 2020-04/2021-04; panels span 2019-2022",
  "columns": [
   "metric",
   "effect"
  ],
  "rows": [
   [
    "Meta conversion-optimized ad click-through rate change",
    "-37%"
   ],
   [
    "Firm-wide revenue decline range, high- vs low-Meta-dependence firms",
    "-8% to -40%"
   ]
  ],
  "source_ids": [
   "D-S05"
  ],
  "notes": "Authors state their advertising-data sample skews toward smaller, more Meta-dependent firms and likely understates the true effect."
 },
 {
  "stream": "EF",
  "name": "google_ads_app_campaign_minimums",
  "description": "Google Ads App campaign minimum-conversion and budget-ratio rules as documented in Google's own Help Center",
  "units": "conversions / budget multiple of bid",
  "geography": "global",
  "period": "2026-09 (as fetched)",
  "columns": [
   "rule",
   "value",
   "source_id"
  ],
  "rows": [
   [
    "Target ROAS eligibility (App campaigns)",
    "at least 10 conversions/day OR 300 conversions in 30 days, value>0",
    "EF-S02"
   ],
   [
    "Learning disruption threshold",
    "changes before first 100 conversions may disrupt learning",
    "EF-S03"
   ],
   [
    "Budget ratio, App Install (tCPI) & Pre-Registration",
    "at least 50x the bid",
    "EF-S03"
   ],
   [
    "Budget ratio, App Install (tCPA)",
    "at least 10x the bid",
    "EF-S03"
   ],
   [
    "Budget ratio, Engagement (tCPA)",
    "at least 15x the bid",
    "EF-S03"
   ]
  ],
  "source_ids": [
   "EF-S02",
   "EF-S03"
  ],
  "notes": "All figures directly quoted/paraphrased from official Google Ads Help pages fetched in this research."
 },
 {
  "stream": "EF",
  "name": "google_play_us_policy_timeline",
  "description": "Staged US policy changes to Google Play following the Epic v. Google litigation, per Google's own compliance documentation",
  "units": "date",
  "geography": "US",
  "period": "2025-10 to 2026-12",
  "columns": [
   "effective_date",
   "change",
   "source_id"
  ],
  "rows": [
   [
    "2025-10-29",
    "Developers may communicate external pricing/availability, link to external downloads, and offer non-Play-Billing payment methods",
    "EF-S09"
   ],
   [
    "2025-12-09",
    "Alternative billing and External content links compliance programs launched",
    "EF-S09"
   ],
   [
    "2026-07-22",
    "Developer listings available to third-party US Android app stores unless developer opts out",
    "EF-S09"
   ],
   [
    "2026-10-01",
    "Developers using alternative billing/external links must report transactions and pay service fees",
    "EF-S09"
   ],
   [
    "2026-12-01",
    "Extended deadline for external-content-link enrollees to report successful downloads",
    "EF-S09"
   ]
  ],
  "source_ids": [
   "EF-S09"
  ],
  "notes": "Direct from Google's own Play Console Help page; does not include adoption/enrollment data, which was not found."
 },
 {
  "stream": "EF",
  "name": "apple_epic_litigation_status",
  "description": "Status of the Apple/Epic US anti-steering litigation at the research cutoff",
  "units": "n/a",
  "geography": "US",
  "period": "2025-12 to 2026-09",
  "columns": [
   "date",
   "event",
   "source_id"
  ],
  "rows": [
   [
    "2025-12-11",
    "Ninth Circuit (No. 25-2935) affirms contempt finding; reverses/remands total commission ban on external links as overbroad",
    "EF-S06/EF-S07/EF-S08"
   ],
   [
    "2026-05-27",
    "Case docketed at Supreme Court as No. 25-1311",
    "EF-S17"
   ],
   [
    "2026-06-30",
    "Certiorari GRANTED, limited to Question 1",
    "EF-S17"
   ],
   [
    "2026-09-14",
    "Apple's opening merits brief and joint appendix filed",
    "EF-S17"
   ],
   [
    "2026-09-16 to 2026-09-21",
    "Multiple amicus briefs filed",
    "EF-S17"
   ],
   [
    "2026-11-13",
    "Respondent's (Epic's) brief deadline",
    "EF-S17"
   ]
  ],
  "source_ids": [
   "EF-S06",
   "EF-S07",
   "EF-S08",
   "EF-S17"
  ],
  "notes": "Dates for the Ninth Circuit opinion are corroborated by two secondary legal summaries, not independently read from the primary PDF (extraction failed). All Supreme Court dates are from the official SCOTUS docket, fetched directly."
 },
 {
  "stream": "EF",
  "name": "store_experiment_statistical_frameworks",
  "description": "Statistical parameters documented by Apple and Google for their own native store-listing experiment tools",
  "units": "mixed",
  "geography": "global",
  "period": "2026-09",
  "columns": [
   "platform",
   "tool",
   "method",
   "minimum_to_report",
   "confidence_handling",
   "source_id"
  ],
  "rows": [
   [
    "Apple / App Store",
    "Product Page Optimization",
    "Bayesian",
    "5 first-time downloads attributed to the test",
    "labels at 90% confidence vs baseline",
    "EF-S01"
   ],
   [
    "Google / Play",
    "Store Listing Experiments",
    "not stated on the fetched page",
    "not a fixed number; page estimates time/volume needed per experiment",
    "developer-adjustable minimum detectable effect and confidence level",
    "EF-S05"
   ]
  ],
  "source_ids": [
   "EF-S01",
   "EF-S05"
  ],
  "notes": "Apple names its statistical method explicitly; Google's help page leaves the underlying test unstated."
 },
 {
  "stream": "G1",
  "name": "ltv_model_error_by_segment",
  "description": "Held-out test-set prediction error for 365-day forward LTV, single freemium mobile RPG (Age of Ishtaria), comparing deep learning to parametric BTYD models",
  "units": "percent error (mean deviation / max observed value)",
  "geography": "global",
  "period": "cohort active 2016-05-01 to 2017-05-01",
  "columns": [
   "model",
   "percent_error_all_paying_users",
   "percent_error_top_20pct_spenders"
  ],
  "rows": [
   [
    "Pareto/NBD + average spend",
    "8.96%",
    "33.35%"
   ],
   [
    "Pareto/NBD + gamma spend",
    "9.01%",
    "33.39%"
   ],
   [
    "MBG/CNBD-k + average spend",
    "7.96%",
    "29.14%"
   ],
   [
    "MBG/CNBD-k + gamma spend",
    "8.16%",
    "30.20%"
   ],
   [
    "Deep multilayer perceptron (DNN)",
    "5.82%",
    "15.76%"
   ],
   [
    "Convolutional neural network (CNN)",
    "5.72%",
    "15.64%"
   ]
  ],
  "source_ids": [
   "G1-S04"
  ],
  "notes": "Table II (all paying users) and Table III (top spenders) from Chen et al. 2018; test-set (prediction) figures, not training-set figures."
 },
 {
  "stream": "G1",
  "name": "vendor_reported_retargeting_lift",
  "description": "Vendor-reported (non-independent) incrementality lift figures for named app retargeting/re-engagement clients",
  "units": "percent lift vs control",
  "geography": "Europe",
  "period": "reported August 2026 (underlying test dates not disclosed)",
  "columns": [
   "vendor",
   "advertiser",
   "app_category",
   "metric",
   "reported_lift"
  ],
  "rows": [
   [
    "Jampp",
    "FREENOW",
    "ride-hailing",
    "new riders",
    "86%"
   ],
   [
    "Jampp",
    "FREENOW",
    "ride-hailing",
    "rides",
    "122%"
   ],
   [
    "Jampp",
    "FREENOW",
    "ride-hailing",
    "overall campaign lift",
    "30%"
   ],
   [
    "Jampp",
    "Wallapop",
    "marketplace",
    "new listers",
    "93%"
   ],
   [
    "Jampp",
    "Wallapop",
    "marketplace",
    "conversions",
    "92%"
   ]
  ],
  "source_ids": [
   "G1-S06"
  ],
  "notes": "Vendor self-reported; no raw sample sizes, confidence intervals, or third-party audit disclosed in the source page."
 },
 {
  "stream": "G2",
  "name": "q2_2026_company_financials",
  "description": "Headline revenue and profitability figures from the most recent quarterly (or fiscal-year, where noted) filing/earnings release at cutoff for each company in scope.",
  "units": "USD millions unless noted",
  "geography": "global (company-wide)",
  "period": "Q2 2026 calendar quarter except Digital Turbine (FY2026, year ended 2026-03-31) and Mobvista (FY2025 calendar year)",
  "columns": [
   "company",
   "period",
   "revenue",
   "yoy_growth_pct",
   "adjusted_ebitda",
   "adjusted_ebitda_margin_pct",
   "source_ids"
  ],
  "rows": [
   [
    "AppLovin",
    "Q2 2026",
    "1923.7",
    "53",
    "1613.8",
    "83.9",
    "G2-S01, G2-S02"
   ],
   [
    "Unity (total)",
    "Q2 2026",
    "546.5",
    "24",
    "not extracted in this pass",
    "not extracted in this pass",
    "G2-S06, G2-S07"
   ],
   [
    "Unity Grow Solutions (segment)",
    "Q2 2026",
    "388.9",
    "35.5",
    "n/a",
    "n/a",
    "G2-S06, G2-S07"
   ],
   [
    "Liftoff",
    "Q2 2026 (first quarter as public co.)",
    "219.5",
    "35.4",
    "not disclosed in 10-Q extract",
    "not disclosed in 10-Q extract",
    "G2-S09"
   ],
   [
    "Digital Turbine (total)",
    "FY2026 (ended 2026-03-31)",
    "565.3",
    "15",
    "122.5",
    "not derived",
    "G2-S10, G2-S13"
   ],
   [
    "Digital Turbine App Growth Platform (segment)",
    "FY2026",
    "185.7",
    "21",
    "n/a",
    "n/a",
    "G2-S10, G2-S13"
   ],
   [
    "Mobvista (total, Mintegral-driven)",
    "FY2025 (calendar year)",
    "2050 (approx., \"$2.05 billion\")",
    "35.7",
    "not disclosed in press release",
    "not disclosed in press release",
    "G2-S14"
   ]
  ],
  "source_ids": [
   "G2-S01",
   "G2-S02",
   "G2-S06",
   "G2-S07",
   "G2-S09",
   "G2-S10",
   "G2-S13",
   "G2-S14"
  ],
  "notes": "Fiscal-period misalignment (Digital Turbine's March fiscal year-end; Mobvista full-year vs others' single-quarter figures) means these rows should not be read as a like-for-like quarterly comparison without adjustment."
 },
 {
  "stream": "G2",
  "name": "revenue_recognition_gross_vs_net",
  "description": "Accounting-policy basis (gross/principal vs net/agent) for advertising revenue as disclosed in each company's own filings, quoted verbatim where retrieved.",
  "units": "n/a (categorical)",
  "geography": "n/a",
  "period": "most recent fiscal filing at cutoff",
  "columns": [
   "company",
   "product_or_segment",
   "gross_or_net",
   "policy_quote",
   "source_ids"
  ],
  "rows": [
   [
    "AppLovin",
    "Axon Ads Manager (advertising, single segment)",
    "net (agent)",
    "presents revenue net of advertising inventory costs",
    "G2-S01"
   ],
   [
    "Liftoff",
    "Accelerate/Direct (DSP)",
    "net (agent)",
    "reports revenue on a net basis...less consideration payable to publishers or third parties",
    "G2-S09"
   ],
   [
    "Digital Turbine",
    "App Growth Platform Marketplace (exchange)",
    "net (agent)",
    "is an agent in transactions on its Marketplace platforms",
    "G2-S11, G2-S12"
   ],
   [
    "Digital Turbine",
    "App Growth Platform Brand & Performance",
    "gross (principal)",
    "is a principal for its Brand and Performance offerings...pays the publishers their share...as a cost of revenue",
    "G2-S11, G2-S12"
   ],
   [
    "Unity",
    "Grow Solutions (Ads Network/mediation)",
    "implied net (not formally confirmed)",
    "revenue represents the amount we retain from the transaction we are facilitating through our auction and mediation platform",
    "G2-S06"
   ],
   [
    "Mobvista/Mintegral",
    "Mintegral advertising exchange",
    "not accessed in this pass",
    "n/a",
    "G2-S14"
   ],
   [
    "Verve Group SE",
    "Verve Group advertising",
    "not accessed in this pass",
    "n/a",
    "n/a"
   ]
  ],
  "source_ids": [
   "G2-S01",
   "G2-S06",
   "G2-S09",
   "G2-S11",
   "G2-S12"
  ],
  "notes": "This directly addresses the brief's comparability question: because AppLovin, Liftoff, and Digital Turbine's Marketplace all report net while Digital Turbine's Brand/Performance and (unconfirmed) parts of others may report gross, adjusted-EBITDA-margin comparisons across these companies conflate accounting convention with operating performance unless normalized."
 },
 {
  "stream": "G3",
  "name": "applovin_2025_short_seller_reports_and_stock_reaction",
  "description": "2025 short-seller / critical reports on AppLovin, with publication dates, source firms, and same-day stock price reaction as alleged in the Brownback securities class-action complaint.",
  "units": "USD (closing price), percent (single-day change)",
  "geography": "US",
  "period": "2025-02-20 to 2025-03-27",
  "columns": [
   "date",
   "publisher",
   "report_title",
   "is_disclosed_short_position",
   "prior_close_usd",
   "close_usd",
   "pct_change",
   "source_id"
  ],
  "rows": [
   [
    "2025-02-20",
    "The Bear Cave (Edwin Dorsey)",
    "Problems at AppLovin (APP)",
    "no",
    "494.17",
    "450.01",
    "-8.9%",
    "G3-S07"
   ],
   [
    "2025-02-26",
    "Culper Research",
    "AppLovin Corporation (NASDAQ: APP): Force-Feeding Users with Silent Backdoor Installs and Copying Meta's Homework. Straight to the Principal's Office, Please",
    "yes",
    "377.06",
    "331.00",
    "-12.2%",
    "G3-S07"
   ],
   [
    "2025-02-26",
    "Fuzzy Panda Research",
    "AppLovin (APP) - Formers Allege Ad Fraud; Is DTC Hype Actually 'Stealing' Meta's Data; Illegal Tracking of Children & Serving Sex Ads to Kids",
    "yes",
    "377.06",
    "331.00",
    "-12.2%",
    "G3-S07"
   ],
   [
    "2025-03-27",
    "Muddy Waters Research",
    "MW is Short AppLovin (APP US)",
    "yes",
    "327.62",
    "261.70",
    "-20.1%",
    "G3-S07"
   ],
   [
    "2025-05-07",
    "Muddy Waters Research",
    "APP's Persistent Lies, Denying Use of Persistent IDs (APP US)",
    "yes",
    "not stated in accessed sources",
    "not stated in accessed sources",
    "not stated in accessed sources",
    "G3-S06"
   ]
  ],
  "source_ids": [
   "G3-S05",
   "G3-S06",
   "G3-S07"
  ],
  "notes": "Percent changes for Feb 26 and Mar 27 are as characterized in the plaintiffs' litigation complaint (an event-study-style same-day association, not a controlled causal estimate); Feb 26 closes are identical across both same-day reports since both were published the same trading day."
 },
 {
  "stream": "G3",
  "name": "applovin_related_litigation_dockets",
  "description": "Federal civil dockets related to the 2025 AppLovin securities-fraud allegations, Northern District of California.",
  "units": "n/a",
  "geography": "US (N.D. California)",
  "period": "2025-03 to 2026-09 (status at cutoff)",
  "columns": [
   "case_name",
   "docket_number",
   "type",
   "filed",
   "status_at_cutoff",
   "source_id"
  ],
  "rows": [
   [
    "Quiero v. AppLovin Corporation",
    "4:25-cv-02294",
    "securities class action",
    "2025-03-05",
    "voluntarily dismissed May 2025",
    "G3-S11"
   ],
   [
    "Brownback v. AppLovin Corporation",
    "4:25-cv-02772",
    "securities class action (lead case)",
    "2025-03-24",
    "Amended Complaint filed 2025-09-12; motion to dismiss fully briefed as of Feb 2026; no ruling reported as of Aug 2026 10-Q",
    "G3-S11 / G3-S10"
   ],
   [
    "Wayne County Employees' Retirement System v. AppLovin Corporation",
    "4:25-cv-03438",
    "securities class action",
    "2025-04-17",
    "voluntarily dismissed May 2025",
    "G3-S11"
   ],
   [
    "Patel v. Foroughi",
    "4:25-cv-02780",
    "shareholder derivative",
    "2025-03-25",
    "consolidated and stayed pending Brownback motion to dismiss",
    "G3-S11 / G3-S10"
   ],
   [
    "Smith v. Foroughi",
    "4:25-cv-04261",
    "shareholder derivative",
    "2025-05-19",
    "consolidated and stayed pending Brownback motion to dismiss",
    "G3-S11 / G3-S10"
   ]
  ],
  "source_ids": [
   "G3-S11",
   "G3-S10"
  ],
  "notes": "Docket numbers and filing dates are PACER-sourced via CourtListener; current status corroborated against AppLovin's own Aug 2026 10-Q, which is more current than CourtListener's Nov 2025 index snapshot for these dockets."
 },
 {
  "stream": "G3",
  "name": "randomized_and_quasiexperimental_retargeting_reengagement_studies",
  "description": "Causal (randomized or quasi-experimental) studies on retargeting, brand-keyword competition, and re-engagement located in this pass.",
  "units": "percent (lift/effect size)",
  "geography": "mixed (see rows)",
  "period": "2015-2026 (publication years)",
  "columns": [
   "study",
   "year",
   "design",
   "geography",
   "headline_result",
   "source_id"
  ],
  "rows": [
   [
    "Johnson, Lewis & Nubbemeyer, 'Ghost Ads' (JMR)",
    "2017",
    "randomized field experiment (ghost-ad counterfactual)",
    "US (online retailer)",
    "+17.2% website visits, +10.5% purchases vs. counterfactual",
    "G3-S01"
   ],
   [
    "Sahni, Narayanan & Kalyanam (JMR)",
    "2019",
    "large-scale randomized field experiment",
    "US (home-improvement retailer)",
    "+14.6% return visits within 4 weeks; decays over time; positive week-to-week complementarity",
    "G3-S02"
   ],
   [
    "Simonov, Nosko & Rao (Marketing Science)",
    "2018",
    "large-scale randomized experiments on Bing",
    "not specified (Bing)",
    "+1% to +4% traffic when uncontested; competitors steal 18%-42% of clicks when brand stops bidding",
    "G3-S03"
   ],
   [
    "Li, Fan, Li & Zhong, 'Not So Timely' (SSRN working paper)",
    "2026",
    "regression-discontinuity quasi-experiment (exogenous screen-on timing)",
    "China",
    "-16% same-day app logins from immediate vs. 1-6 min delayed notification delivery",
    "G3-S04"
   ]
  ],
  "source_ids": [
   "G3-S01",
   "G3-S02",
   "G3-S03",
   "G3-S04"
  ],
  "notes": "None of these four studies is app-install retargeting specifically measured with a researcher-randomized design in a mobile-app context at the same time; the closest app-specific evidence found is the quasi-experimental push-notification study, which studies owned re-engagement messaging, not paid retargeting media."
 },
 {
  "stream": "GH",
  "name": "cohort_retention_benchmarks",
  "description": "Vendor-panel retention benchmarks by category/platform with exact definitions and sample frames as disclosed. All rows are vendor panels, not market-representative samples; do not average across rows with different definitions.",
  "units": "% of cohort retained",
  "geography": "varies by row (see notes)",
  "period": "varies by row (see notes)",
  "columns": [
   "source",
   "definition",
   "sample_frame",
   "os_scope",
   "geography",
   "period",
   "d1_pct",
   "d7_pct",
   "d30_pct",
   "notes"
  ],
  "rows": [
   [
    "GameAnalytics 2026",
    "Day-based milestone retention (exact-day vs rolling not specified in fetched text); % of players returning on that day",
    "16,000+ mobile games, min. 1,000 MAU each, min-threshold applied",
    "iOS+Android combined (median)",
    "9 regions (global)",
    "2025-01-01 to 2025-12-31",
    "~22 (P50)",
    "~4 (P50, just under)",
    "0.68-0.79 (P50)",
    "Extreme right skew: P99 = 64-68% D1, 25%+ D7, 13-15% D30. PC (separate cohort, 3,582 games, min 100 MAU) shows much lower medians: ~7% D1, 1.1-1.3% D7, ~0.2-0.25% D30."
   ],
   [
    "GameAnalytics 2026 (iOS top 25%)",
    "Same as above, platform split, top-quartile games only",
    "Subset of 16,000+ mobile games",
    "iOS",
    "9 regions (global)",
    "2025-01-01 to 2025-12-31",
    "31-33 (P75+)",
    "not disclosed",
    "not disclosed",
    "Comparative figure only; Android top-25% D1 shown alongside (25-27%)."
   ],
   [
    "GameAnalytics 2026 (Android top 25%)",
    "Same as above",
    "Subset of 16,000+ mobile games",
    "Android",
    "9 regions (global)",
    "2025-01-01 to 2025-12-31",
    "25-27 (P75+)",
    "not disclosed",
    "not disclosed",
    "See iOS row for comparison; genre mix between platforms not controlled for."
   ]
  ],
  "source_ids": [
   "GH-S11"
  ],
  "notes": "AppsFlyer, Adjust and Sensor Tower retention benchmark reports specifically were either inaccessible (Adjust, 429 errors) or not located as a distinct titled report within the fetch/search budget (AppsFlyer, Sensor Tower); see open_questions. Do not compare this table's numbers to any AppsFlyer/Adjust figures found only via secondary blog aggregation -- those are excluded from this file as unverified."
 },
 {
  "stream": "GH",
  "name": "subscription_conversion_and_ltv_benchmarks",
  "description": "Vendor-panel subscription funnel, retention, and LTV benchmarks (RevenueCat, Adapty). Vendor panels; definitions per-vendor, not cross-comparable without matching methodology.",
  "units": "% or USD as noted",
  "geography": "global (vendor customer panels)",
  "period": "2025-2026 (varies by row)",
  "columns": [
   "source",
   "metric",
   "definition",
   "value",
   "segment",
   "sample_frame",
   "notes"
  ],
  "rows": [
   [
    "RevenueCat 2026",
    "Download-to-paid conversion, hard paywall",
    "Share of installs converting to a paid subscription within 35 days, hard-paywall apps",
    "10.7% (median)",
    "all categories",
    "115,000+ apps, $16B+ revenue, 1B+ transactions (RevenueCat SDK panel)",
    "vs. 2.1% median for freemium apps in same panel (~5x gap); correlational, not causal"
   ],
   [
    "RevenueCat 2026",
    "Trial-to-paid conversion by trial length",
    "Share of free trial starts converting to paid, grouped by trial duration",
    "42.5% (17-32 day trials) vs 25.5% (<4 day trials)",
    "all categories",
    "same RevenueCat panel",
    "correlational; apps self-select trial length"
   ],
   [
    "RevenueCat 2026",
    "Year-1 annual-subscription cancellation rate",
    "Share of annual subscriptions cancelled within Year 1",
    "~72% (2026) vs ~56% (2025 report)",
    "annual plans, all categories",
    "same RevenueCat panel",
    "35% of annual cancellations concentrated in Month 1"
   ],
   [
    "RevenueCat 2026",
    "Involuntary churn (billing failure) share of cancellations",
    "Share of subscription cancellations attributed to payment/billing failure",
    "31% Google Play (up from 28.2% in 2025) vs 14% App Store",
    "all categories",
    "same RevenueCat panel",
    "platform gap consistent across the two report years"
   ],
   [
    "RevenueCat 2026",
    "Year-1 realized LTV per payer, AI apps vs non-AI",
    "Net realized value per paying user over first 12 months",
    "$30.16 median (AI apps) vs $21.37 median (non-AI apps), +41%",
    "AI-labeled apps vs rest",
    "same RevenueCat panel",
    "AI apps simultaneously show 36% worse 12-month monthly-plan retention -- see counterevidence_and_tensions"
   ],
   [
    "Adapty 2026",
    "Install-to-trial conversion",
    "Share of installs that start a free trial",
    "10.9% (global average)",
    "all categories",
    "16,000+ apps, $3B+ subscription revenue, 10,000+ paywalls (Adapty panel)",
    "date range and weighting not disclosed on fetched page"
   ],
   [
    "Adapty 2026",
    "Trial-to-paid conversion, overall",
    "Share of trial starts converting to paid",
    "25.6% (global average)",
    "all categories",
    "same Adapty panel",
    "conflicting secondary-source figures (e.g. 53%) could not be reconciled and are excluded"
   ],
   [
    "Adapty 2026",
    "Trial-to-paid conversion, Health & Fitness",
    "Share of trial starts converting to paid, Health & Fitness category",
    "35.0%",
    "Health & Fitness",
    "same Adapty panel",
    "highest named category in fetched summary"
   ],
   [
    "Adapty 2026",
    "Trial-to-paid conversion, Entertainment",
    "Share of trial starts converting to paid, Entertainment category",
    "19.1%",
    "Entertainment",
    "same Adapty panel",
    "lowest named category in fetched summary"
   ],
   [
    "AppsFlyer 2026 (State of App Monetization)",
    "In-app-advertising (IAA) revenue ramp",
    "Cumulative IAA revenue realized by Day 7 as % of eventual Day-60 total",
    "89%",
    "all categories",
    "AppsFlyer-measured panel, Jan 2025-Mar 2026, $7.2B verified IAA revenue",
    "useful as a payback-curve shape for ad-monetized apps, not an absolute market total"
   ],
   [
    "AppsFlyer 2026 (State of App Monetization)",
    "Non-gaming buyer conversion (30-day)",
    "Share of installs making >=1 / >=2 purchases within 30 days, non-gaming",
    "9.84% (1+ purchase) / 4.64% (2+ purchases)",
    "non-gaming",
    "same AppsFlyer panel",
    "install- vs account-weighting not disclosed"
   ]
  ],
  "source_ids": [
   "GH-S07",
   "GH-S08",
   "GH-S09",
   "GH-S10"
  ],
  "notes": "All rows are vendor-panel (self-selected customer base of a subscription-infrastructure or MMP vendor), per brief's labeling requirement. None are independently audited market totals."
 },
 {
  "stream": "IJ",
  "name": "uber_ad_fraud_litigation_outcomes",
  "description": "Timeline and outcomes of Uber's mobile-ad-fraud litigation against its ad agency and an ad-tech vendor",
  "units": "n/a",
  "geography": "US",
  "period": "2017-2020",
  "columns": [
   "matter",
   "date",
   "forum_or_filing",
   "claim_type",
   "outcome",
   "amount_usd",
   "source_ids"
  ],
  "rows": [
   [
    "Uber v. Fetch Media (initial suit)",
    "2017-09-19",
    "reported filing (forum per reporting)",
    "ad fraud (fraudulent/non-viewable ad placements)",
    "n/a - suit filed",
    "n/a",
    "IJ-S05"
   ],
   [
    "Uber cross-complaint v. Fetch Media & Phunware",
    "2017-11-13",
    "cross-complaint per reporting",
    "fraud, negligence, unfair competition; amended 2019 to add civil RICO vs. named individuals",
    "n/a - complaint stage",
    "n/a",
    "IJ-S07"
   ],
   [
    "Uber v. Fetch Media settlement",
    "2019-03",
    "per reporting, terms undisclosed",
    "ad fraud",
    "settled, terms undisclosed",
    "undisclosed",
    "IJ-S06"
   ],
   [
    "Uber v. Phunware + 4 individuals settlement",
    "2020-10-09",
    "SEC EDGAR exhibit 10.12 (Phunware filing)",
    "fraud/fraudulent concealment/negligence/unfair competition/civil RICO, settled",
    "settled, no wrongdoing admitted by any party",
    "6000000",
    "IJ-S04"
   ]
  ],
  "source_ids": [
   "IJ-S04",
   "IJ-S05",
   "IJ-S06",
   "IJ-S07"
  ],
  "notes": "Amount for the Phunware settlement is a primary-document figure (SEC exhibit); the Fetch Media settlement amount is not publicly disclosed in any source reached."
 },
 {
  "stream": "IJ",
  "name": "ctv_to_app_identity_bases",
  "description": "Identity/matching basis claimed by CTV-to-app measurement products reviewed in this stream",
  "units": "n/a",
  "geography": "US (primarily)",
  "period": "current as of cutoff",
  "columns": [
   "product",
   "operator",
   "identity_basis",
   "level",
   "deterministic_or_probabilistic_as_labeled",
   "causal_claim_disclosed"
  ],
  "rows": [
   [
    "CTV-to-mobile attribution (OneLink)",
    "AppsFlyer",
    "IP address + user agent",
    "household",
    "not explicitly labeled (functions probabilistically)",
    "no - incrementality sold as a separate product"
   ],
   [
    "Device Link / IdentityLink + Samba TV ACR",
    "Kochava + Samba TV",
    "device ID/UA/IP when all present, else probabilistic; layered on Samba TV opted-in ACR panel",
    "household (with device-level fallback)",
    "hybrid - deterministic only when full ID set is present",
    "claimed via 'synthetic control groups' (modeled, not randomized)"
   ],
   [
    "Verified Visits",
    "MNTN",
    "proprietary identity graph",
    "household",
    "labeled deterministic by vendor",
    "no disclosed causal/control-group test"
   ],
   [
    "DSP app-conversion import",
    "Amazon Ads",
    "logged-in Amazon account",
    "individual account (not just household)",
    "deterministic",
    "no disclosed causal/control-group test"
   ],
   [
    "Performance CTV",
    "Moloco",
    "not disclosed (credited via advertiser's chosen MMP)",
    "not disclosed",
    "not disclosed",
    "no disclosed causal/control-group test"
   ],
   [
    "Ads Manager (pixel/Conversions API)",
    "Roku",
    "not disclosed in public docs",
    "not disclosed",
    "not disclosed",
    "no disclosed causal/control-group test"
   ]
  ],
  "source_ids": [
   "IJ-S09",
   "IJ-S25",
   "IJ-S10",
   "IJ-S12",
   "IJ-S26",
   "IJ-S08",
   "IJ-S11"
  ],
  "notes": "All rows describe vendor-disclosed (or vendor-silent) methodology as of the fetched pages; none were independently audited in this research."
 },
 {
  "stream": "IJ",
  "name": "applovin_ecommerce_axon_timeline",
  "description": "Timeline of AppLovin's e-commerce (Axon Ads Manager) expansion, distinguishing actual reported figures from management projections",
  "units": "USD / count",
  "geography": "global (company-wide where noted)",
  "period": "2025-10 to 2026-06",
  "columns": [
   "date",
   "event",
   "figure",
   "status"
  ],
  "rows": [
   [
    "2025-10-01",
    "Self-serve Axon Ads Manager launch, referral-only; eligibility threshold $10M+ GMV",
    "few hundred initial advertisers",
    "actual"
   ],
   [
    "2026 Q1",
    "AppLovin total company revenue (all segments, not e-commerce-specific)",
    "$1.84 billion, +59% YoY",
    "actual (reported per earnings)"
   ],
   [
    "2026-06 (planned)",
    "Axon platform scheduled to open to all advertisers worldwide",
    "n/a",
    "announced/planned"
   ],
   [
    "undated, forward-looking",
    "CEO-stated target scenario",
    "~100,000 new customers generating ~$7 billion in first-year ad spend",
    "projection/forecast - not realized"
   ]
  ],
  "source_ids": [
   "IJ-S22",
   "IJ-S23"
  ],
  "notes": "The $1.84B figure is a company-wide total, not an e-commerce-segment breakout; the $7B figure must not be read as realized revenue."
 },
 {
  "stream": "IJ",
  "name": "supply_chain_transparency_adoption",
  "description": "Reported adoption gaps for app-ads.txt and sellers.json in mobile in-app advertising",
  "units": "percent",
  "geography": "not fully specified in source",
  "period": "unspecified (as reported)",
  "columns": [
   "standard",
   "metric",
   "value",
   "population"
  ],
  "rows": [
   [
    "app-ads.txt",
    "adoption among top 1,000 Google Play apps",
    "66%",
    "top 1,000 Play apps"
   ],
   [
    "app-ads.txt",
    "overall adoption across all measured apps",
    "24%",
    "all apps measured"
   ],
   [
    "app-ads.txt",
    "share of app bid requests from apps without a known file",
    "~25%",
    "app bid requests"
   ],
   [
    "sellers.json",
    "share of web bid requests from sellers without a known file",
    "8.2%",
    "web bid requests"
   ],
   [
    "sellers.json",
    "share of app bid requests from sellers without a known file",
    "9.1%",
    "app bid requests"
   ]
  ],
  "source_ids": [
   "IJ-S21"
  ],
  "notes": "All figures rest on a search-engine summary of a vendor (HUMAN Security) blog post that could not be directly fetched (403 error); treat as low-confidence pending direct verification."
 },
 {
  "stream": "KL",
  "name": "ai_features_kl",
  "description": "Documented AI/agentic features by vendor with status and control notes",
  "units": "n/a",
  "geography": "global",
  "period": "2025-2026",
  "columns": [
   "vendor",
   "feature",
   "what_it_automates",
   "human_control",
   "status",
   "doc_url",
   "source_id"
  ],
  "rows": [
   [
    "Google",
    "Google Ads API MCP server",
    "Read-only reporting/query access for AI agents",
    "Full — no write access exists; nothing to approve",
    "live (Apr 28, 2026)",
    "https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server",
    "KL-S06"
   ],
   [
    "Meta",
    "Ads MCP server",
    "Ad/catalog creation and management, A/B test and lift-study operations, reporting",
    "Not documented in primary page fetched (approval/pause-by-default behavior unconfirmed)",
    "open beta (Apr 29, 2026)",
    "https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-overview",
    "KL-S07"
   ],
   [
    "TikTok",
    "Agentic Hub / MCP Server",
    "Campaign creation, budget/bid changes, audience/creative operations (~400 functions)",
    "Not documented; vendor states execution 'without human intervention at every step'",
    "production-ready per vendor (May 13, 2026 launch)",
    "https://ads.tiktok.com/help/article/about-tiktok-for-business-agentic-hub-and-mcp-server?lang=en",
    "KL-S08"
   ],
   [
    "AgenticAdvertising.org (AdCP)",
    "Agent-to-agent media buy protocol",
    "Discovery, planning, buying, creative generation, measurement across channels",
    "Documented budget-threshold escalation to a human + full audit trail (get_plan_audit_logs)",
    "live (first buy Oct 16, 2025); spec v3.2.0-rc.3",
    "https://adcontextprotocol.org/",
    "KL-S01, KL-S03"
   ],
   [
    "IAB Tech Lab",
    "Agentic RTB Framework (ARTF) v1.0",
    "RTB-layer segment activation, deal management, bid shading, metrics",
    "Not addressed — infrastructure/data-center layer, not advertiser-facing",
    "finalized v1.0 spec",
    "https://github.com/IABTechLab/agentic-realtime-framework",
    "KL-S04"
   ],
   [
    "IAB Tech Lab",
    "AAMP (Agentic Advertising Management Protocols) v3.0",
    "Ad decisioning/delivery across OpenDirect, Programmatic Guaranteed, Preferred Deals, PMPs, open programmatic, Linear GRPs; new OpenProposal component automates campaign discovery/planning",
    "Governed by IAB Tech Lab's 'Agentic Task Force'; page reviewed did not describe advertiser-facing approval/override controls",
    "active, v3.0 as of Sept 22, 2026",
    "https://iabtechlab.com/standards/aamp-agentic-advertising-management-protocols/",
    "KL-S35"
   ],
   [
    "AppLovin",
    "Axon AI",
    "Predictive per-impression bidding; vendor describes creative generation as 'agentic'",
    "Not documented (advertisers set goals; execution automated)",
    "live",
    "https://legal.applovin.com/about-applovins-axon-ai/",
    "KL-S12"
   ],
   [
    "Meta",
    "Advantage+ Creative",
    "Generative background/full-image generation, image-to-video, brand-consistency enforcement",
    "Advertiser opts in per ad; AI-content disclosure required (reported, not independently verified)",
    "live",
    "https://www.facebook.com/business/ads/meta-advantage-plus/creative",
    "KL-S10"
   ],
   [
    "TikTok",
    "Smart+ App Campaigns",
    "Automated targeting, bidding, and Symphony generative creative",
    "Module-level toggle: full/partial/manual automation",
    "live",
    "https://ads.tiktok.com/help/article/about-updates-to-smart-plus?lang=en",
    "KL-S09"
   ],
   [
    "Google",
    "AI Max for Search campaigns",
    "Automated search-term matching, ad-copy creation, final-URL expansion",
    "Auto-upgrade of eligible campaigns Sept 1-30, 2026 (opt-out mechanics not confirmed)",
    "live / rolling out",
    "https://support.google.com/google-ads/answer/15910187?hl=en",
    "KL-S11"
   ],
   [
    "Moloco",
    "Cloud DSP bidding engine (CARA)",
    "Per-impression predictive bidding",
    "Not documented at a granular override level",
    "live",
    "https://www.moloco.com/solutions/moloco-ads",
    "KL-S13"
   ],
   [
    "Unity",
    "Agentic Vector (GenAI Creative, Creative Optimization, Creative Insights)",
    "Generative ad creative tied to Vector's matching engine",
    "Not documented",
    "announced/beta per vendor newsletter (not confirmed GA)",
    "https://unity-ads-newsletter.github.io/",
    "KL-S14"
   ]
  ],
  "source_ids": [
   "KL-S01",
   "KL-S03",
   "KL-S04",
   "KL-S06",
   "KL-S07",
   "KL-S08",
   "KL-S09",
   "KL-S10",
   "KL-S11",
   "KL-S12",
   "KL-S13",
   "KL-S14",
   "KL-S35"
  ],
  "notes": "Automation-of-bidding items (Google AI Max, Moloco, TikTok Smart+ bidding component, AppLovin bidding component) are distinguished from agentic planning/execution items (AdCP, write-capable MCP servers, ARTF, AAMP) per brief instruction."
 },
 {
  "stream": "KL",
  "name": "policy_status_kl",
  "description": "Regulatory/policy status rows for AI-governance and child/privacy regulation relevant to app growth",
  "units": "n/a",
  "geography": "US/EU (mixed, see rows)",
  "period": "2024-2027",
  "columns": [
   "item",
   "os",
   "region",
   "announced",
   "effective",
   "rollout_status",
   "source_ids"
  ],
  "rows": [
   [
    "COPPA Rule 2025 amendments",
    "n/a",
    "US",
    "2025-01",
    "2025-06-23 (compliance deadline 2026-04-22)",
    "live/phasing-in",
    "KL-S17, KL-S18"
   ],
   [
    "FTC order: X-Mode/Outlogic (sensitive location data)",
    "n/a",
    "US",
    "2024-01",
    "2024-04",
    "live (final order)",
    "KL-S20"
   ],
   [
    "FTC order: InMarket (precise location data)",
    "n/a",
    "US",
    "2024-01",
    "2024-05-01",
    "live (final order)",
    "KL-S21"
   ],
   [
    "FTC order: Kochava / Collective Data Solutions",
    "n/a",
    "US",
    "2026-05-04",
    "pending judicial approval",
    "proposed/stipulated (not yet judicially entered per press release text)",
    "KL-S19"
   ],
   [
    "Utah App Store Accountability Act (as amended by HB498)",
    "iOS/Android",
    "US-Utah",
    "2025",
    "2027-05-06",
    "delayed / private-right-of-action only",
    "KL-S22, KL-S23"
   ],
   [
    "Texas App Store Accountability Act (SB2420)",
    "iOS/Android",
    "US-Texas",
    "2025-05-27 signed (official record)",
    "2026-01-01 statutory; in effect (injunction stayed 2026-06-04)",
    "live, litigation ongoing",
    "KL-S36, KL-S24"
   ],
   [
    "Louisiana app store age-verification law (HB977, Act 185)",
    "iOS/Android",
    "US-Louisiana",
    "2026 signed",
    "disputed: 2026-05-15 per official LA status page vs. 2026-07-01 or 2027 per secondary sources",
    "unconfirmed / conflicting",
    "KL-S25, KL-S25b"
   ],
   [
    "California AADC / AB2273 (NetChoice v. Bonta)",
    "n/a",
    "US-California",
    "2022-09-15 chaptered (official record); 2026-03-12 (9th Cir. ruling)",
    "2024-07-01 statutory operative date (official record); substantively enjoined in part",
    "mixed: 5 of 6 challenged provisions enjoined; age-estimation provision remanded",
    "KL-S37, KL-S26"
   ],
   [
    "Apple Declared Age Range API",
    "iOS",
    "global/US",
    "2025-2026 (WWDC)",
    "unconfirmed exact iOS version",
    "exists; documentation body not retrievable this session",
    "KL-S27"
   ],
   [
    "Google Play Age Signals API",
    "Android",
    "Brazil, US-Texas (expanding)",
    "2026",
    "2026-03-17 (Brazil); 2026-05-28 (Texas)",
    "beta, rolling out by region",
    "KL-S29"
   ],
   [
    "Apple App Store Review Guidelines 5.1.1/5.1.2 (data collection/use/ATT)",
    "iOS",
    "global",
    "ongoing",
    "current as of access date",
    "live (standing policy)",
    "KL-S28"
   ],
   [
    "Google Play Families Policy (ads)",
    "Android",
    "global",
    "ongoing",
    "current as of access date",
    "live (standing policy)",
    "KL-S30"
   ],
   [
    "Apple Privacy Manifest / Required Reason APIs",
    "iOS",
    "global",
    "2023",
    "2024-05 (new apps); 2024-08 (updates) — medium confidence, see reliability note",
    "live (enforced)",
    "KL-S31"
   ],
   [
    "EU DMA — Apple EU business terms restructure",
    "iOS",
    "EU",
    "2026",
    "2026-08-18",
    "live",
    "KL-S32"
   ],
   [
    "EU DMA — Apple sideloading non-compliance finding",
    "iOS",
    "EU",
    "2024-ongoing",
    "unresolved",
    "ongoing investigation per Commission",
    "KL-S33"
   ]
  ],
  "source_ids": [
   "KL-S17",
   "KL-S18",
   "KL-S19",
   "KL-S20",
   "KL-S21",
   "KL-S22",
   "KL-S23",
   "KL-S24",
   "KL-S25",
   "KL-S25b",
   "KL-S26",
   "KL-S27",
   "KL-S28",
   "KL-S29",
   "KL-S30",
   "KL-S31",
   "KL-S32",
   "KL-S33",
   "KL-S36",
   "KL-S37"
  ],
  "notes": "rollout_status values follow the brief's requested enum (live|beta|announced|retired|proposed|unconfirmed) where determinable; several rows are marked unconfirmed/conflicting due to access limits documented in open_questions. Texas and California rows now carry official-record statutory dates (KL-S36, KL-S37) alongside secondary litigation reporting."
 },
 {
  "stream": "KL",
  "name": "buyer_operating_model_kl",
  "description": "In-housing trend indicators from ANA surveys, two non-comparable waves",
  "units": "%",
  "geography": "US",
  "period": "2013-2026",
  "columns": [
   "year",
   "metric",
   "value",
   "sample",
   "source_id"
  ],
  "rows": [
   [
    "2013",
    "share of ANA members with in-house agency",
    "58%",
    "ANA member survey",
    "KL-S16"
   ],
   [
    "2018",
    "share of ANA members with in-house agency",
    "78%",
    "ANA member survey",
    "KL-S16"
   ],
   [
    "2023",
    "share of ANA members with in-house agency",
    "82%",
    "162 respondents",
    "KL-S16"
   ],
   [
    "2023",
    "share citing cost-saving as primary IHA benefit",
    "30%",
    "162 respondents",
    "KL-S15 (comparison cited within 2026 report)"
   ],
   [
    "2026",
    "share citing cost-saving as primary IHA benefit",
    "9%",
    "404 award-jurors",
    "KL-S15"
   ],
   [
    "2023",
    "share of ANA members still using external agencies for capacity/specialization",
    "92%",
    "162 respondents",
    "KL-S16"
   ]
  ],
  "source_ids": [
   "KL-S15",
   "KL-S16"
  ],
  "notes": "2023 and 2026 waves surveyed different populations (general members vs. award-program jurors) and are not a strict panel; read the trend directionally only."
 },
 {
  "stream": "MAIN",
  "name": "app_marketing_spend_2025_appsflyer",
  "description": "AppsFlyer panel estimate of 2025 app marketing spend",
  "units": "USD billions",
  "geography": "global",
  "period": "2025",
  "columns": [
   "component",
   "value_usd_b",
   "yoy_change_pct"
  ],
  "rows": [
   [
    "User acquisition",
    78.0,
    13
   ],
   [
    "Remarketing",
    31.3,
    37
   ],
   [
    "Total app marketing",
    109.0,
    ""
   ],
   [
    "UA: non-gaming",
    53.0,
    18
   ],
   [
    "UA: gaming",
    25.0,
    3
   ]
  ],
  "source_ids": [
   "MAIN-S01"
  ],
  "notes": "Vendor panel estimate (Q1)."
 }
]