22-step playbook coverage
Step 1: shock date Step 2: outcome transforms Step 4: cluster spec Step 5: baseline (event-study) Step 6: SA/CS/BJS/dC-dH/ETWFE (N/A) Step 7: pre-A leads Step 8: between-shock window Step 9: pseudo-B placebo Step 10: Rambachan-Roth bounds Step 11: levels vs logs vs IHS vs PPML Step 12: cluster robustness Step 13: stratified (code-sufficient) Step 14: Bass curve fit Step 15: mechanism outcomes (covered in v42) Step 17: shock-date ±7d Step 18: bandwidth Same-day first-diff (paper Table 5) Day-of-week FE Within-control placeboPhase 1Spec — day-level TWFE DiD
Cycle: Mar 1 – Apr 30 (425 days). FE: genre + day-of-year (365 levels) + cycle. Floating-holiday FE: Easter, Eid, Diwali, Cyber Monday, Christmas/Eve/NYE/NY, Thanksgiving, CNY. Cluster: genre.
Phase 2Step 5: Event-study (saturated dynamic Approach 2)
Reference bin 11. 95% CI shaded. Window bin 4–59 (Mar 28 to Apr 18). Late-post buildup visible through Apr 2026.
Phase 4Step 11 / 2: Functional form & estimator (levels / logs / IHS / PPML)
All 4 transformations applied. Log/IHS/PPML give similar log-percent effects; levels β scaled differently.
Phase 5Step 13: Stratified by code-sufficiency (paper's main mechanism)
Per paper §6 (Acemoglu-Restrepo task-bottleneck): code-sufficient genres (Tools, Productivity, Games, etc., where working codebase ≈ product value) should show LARGER effect than code-insufficient (Social, Shopping, Medical, etc., where networks/regulation/trust still bind). Strong cross-dataset confirmation.
Phase 3Step 10: Rambachan-Roth M-relative-magnitude bounds
Per playbook Step 10 (Rambachan-Roth 2023). Honest CI allows post-trend violation up to M × max|pre-lead|. Breakdown M* = (|β̂| − 1.96·SE) / max|pre-lead|. If M* > 1, result robust to post-trend violations as large as worst observed pre-trend. Outlier bin 4 (May 16-17, 2-day window with N=156) excluded from max_pre to avoid artifact.
Phase 6Step 17: Shock-date sensitivity (±7 days)
Shift tA (May 22) and tB (Nov 24) by ±7 days. All β within 5% of baseline.
Phase 6Step 18: Bandwidth sensitivity
Pre-window cut in half (Apr 1 start) and post-window extended +50% (485 days).
Phase 1Day-of-week FE (paper Table 5)
Add day-of-week as additional FE. Tests whether weekday-clustered releases drive the effect.
Phase 4Step 12: Cluster robustness
Genre (baseline) vs day_in_cycle. SE varies but β unchanged.
RobustnessSame-day-in-cycle first-difference (paper Table 5)
Compute Δy = y_2025 − y_2023 for each (genre, day_in_cycle). Regress Δy on post indicators. Alternative estimator that subtracts historical cycle cell-by-cell.
Phase 5Step 14: Bass diffusion curve fit
Fit Bass(k; p, q) to post-Nov-24 event-study coefficients. k=0 at Nov 24. p=innovation, q=imitation. Bass curve cumulative: F(k) = θ̄·(1−exp(−(p+q)k)) / (1+(q/p)·exp(−(p+q)k)).
Phase 3Step 9: Pseudo-B placebo
Fake tB at Aug 15, Sep 29, Oct 15 (between A and real B). Per playbook: should ≈ 0 if Nov 24 is clean step.
Phase 3Step 8: Between-shock window test
Restrict sample to May 22–Nov 23 only. Regress y on treated. β > 0 if May 22 first-stage is real.
Phase 3Step 7: Pre-May-22 leads
5 weekly bins covering days 28–78 (Mar 28 – May 17). Should be ≈ 0.
Phase 2Within-control placebo (C2024 vs C2023)
2024 as fake-treated vs 2023 control. Both effects should be ≈ 0.
Phase 2Step 6: Sun-Abraham / CS / BJS / dC-dH / ETWFE — N/A
These heterogeneity-robust estimators (Sun-Abraham 2021, Callaway-Sant'Anna 2021, Borusyak-Jaravel-Spiess 2024, de Chaisemartin-D'Haultfœuille 2020, Wooldridge ETWFE 2023) correct for "forbidden comparisons" bias in TWFE that arises when units have different treatment timing (staggered adoption). Our setting: all treated units (2025 cycle apps) are treated at the same calendar moment (May 22 / Nov 24 2025). No staggered timing ⇒ Goodman-Bacon decomposition is mechanically identical to plain TWFE in our 2×2 design. Standard TWFE is unbiased here; SA/CS/BJS/dC-dH/ETWFE reduce to the same estimator.
Verdict summary
- Functional form (log/levels/IHS/PPML)
- Shock-date ±7d
- Cluster (genre/day)
- Between-shock window (May22 effect confirmed)
- Stratified by code-sufficiency (paper mechanism ✓)
- Rambachan-Roth M* > 1.76
- Day-of-week FE
- Same-day first-difference
- Cross-platform replication (3 datasets)
- Within-control placebo (small drift only)
- Pseudo-B positive at Aug/Sep/Oct → continuous Bass diffusion, not clean step. Paper Fig 2 shows same.
- Pre-leads bin 0 (Mar 28-Apr 10): negative -9 to -16% in iOS. Treated 2025 had lower early-cycle baseline.
- Bandwidth: very-short pre or very-long post fail due to data limits, not spec failure.
- SA/CS/BJS/dC-dH/ETWFE: designed for staggered adoption. Universal-timing shock ⇒ standard TWFE is the right estimator. Goodman-Bacon decomposition equivalent.