Hold total weekly budget constant and reallocate across channels/countries/devices to minimize blended CPA
Excluded combos (R²<0.3): spend adjusted to level where incremental CPA ≤ λ (capped at
historical max). “Weekly Budget” = last 7-day cost. “Current CPA” = last 7-day blended
CPA.
CPA = k × Sγ model | 53 weeks | Data: Jul 14, 2025 – Jul 13, 2026 |
Last 7d: Aug 10–16, 2026 (excl 3d SKAN lag)
Click any combination to see CPA scatter, $10K milestone table, and rationale. Green = spend increase, Red = decrease vs current.
| Channel / Country / Device | Last 7d Spend | Last 7d CPA | Last 7d Acq | Target Spend | Target CPA | Target Acq/Wk | Change | R² | Health (52wk) | Health (7d) | Zone |
|---|
Performance-weighted campaign-level inputs. Best-performing campaigns (lower CPA + higher health) get proportionally more of the budget increase (or less of the cut). ⭐ = top performer, ⚠️ = underperformer. Uses Next Week values when ramp is enabled.
| Campaign | Weekly Budget | Daily Budget | tCPA Bid | Change |
|---|
Filter to see actual daily/weekly trends for any combination.
Each channel/country/device combination is fitted with a power-law model on weekly (spend, CPA) data over 52 weeks. The model is fitted in log-log space via linear regression with 5% outlier trimming (top 2.5% + bottom 2.5% of CPA observations removed).
λ is the portfolio marginal CPA — the cost of acquiring one additional user from the most efficient next dollar across all optimized combos.
For each optimized combo, marginal CPA at spend S is:
Marginal_CPA(S) = k × Sγ / (1 − γ)
At the optimum, every optimized combo has the same marginal CPA = λ. This is the equal-marginal-returns condition. Binary search finds the λ where Σ Si = Budget.
Target spend per combo: Si = ((1−γi) × λ / ki)1/γi
CPHC (Cost Per Healthy Customer) = Spend ÷ Healthy Acquisitions, where a “healthy” customer is one who is both Prime and meets the D1_1500 threshold (uploaded ≥1500 photos in day 1).
Each combo has a measured health rate (fraction of acquisitions that are healthy). Since health rate is approximately constant per combo regardless of spend level (avg correlation = −0.05), the quality-adjusted model is:
CPHC = CPA / health_rate = (k / h) × Sγ Marginal_CPHC(S) = (k / h) × Sγ / (1 − γ)
The optimization is identical to Tab 1 except λ is in CPHC units and allocation accounts for health rate:
Si = ((1−γi) × λ × hi / ki)1/γi
Effect: Combos with higher health rates receive proportionally more budget. A combo with 50% health rate gets treated as 2× more efficient than one with 25% health rate (at the same raw CPA).
Health rate data: 52-week aggregate % of customers acquired who are Prime + D1_1500. Ranges from 20.5% (Google/US/Android) to 58.2% (Meta/DE/Android).
Same raw CPA optimization as Tab 1, but with an additional constraint: the portfolio blended health rate must be ≥ the floor set by the slider.
Algorithm:
Paused combos are shown with ⏸️ in the allocation table. Their budget is redistributed to the remaining (healthier) combos via re-solved λ.
Trade-off: Higher floor = more combos paused = higher CPA (less efficient channels excluded) but better customer quality. The slider lets you explore this frontier.
Combos with R² below 0.3 have unreliable spend→CPA relationships. Instead of curve-based optimization, they use the $10K milestone table:
On the CPHC tab, incremental CPHC (= incr_CPA / health_rate) is compared against λ instead.
Prediction intervals (80%) use each combo’s residual standard error, widened by an extrapolation factor proportional to distance beyond historical data.
Large budget swings (e.g., +150% or -70%) cause platform algorithm instability — Meta and Google have algorithmic learning phases that reset when budgets change dramatically. The ramp-rate constraint limits weekly changes per combo:
S_this_week = clamp(S_optimal, S_current × (1 − maxDown), S_current × (1 + maxUp))
Defaults: maxUp = 25%, maxDown = 20% (asymmetric because cutting too fast destroys pixel/conversion signal permanently, while overspending is just temporarily expensive).
The allocation table shows both Target (unconstrained optimal) and Next Week (clamped) targets. A convergence indicator (Nwk) shows how many weeks at the ramp rate to reach target from current spend.
Channel-specific note: Apple Search Ads has no “learning phase” — you could ramp faster there. Consider setting higher limits for ASA combos (future enhancement).
CPA / CPHC GuardrailOn the CPA and Health Constrained tabs: when blended CPA would exceed the guardrail target, the model caps total deployment at the maximum budget where CPA ≤ target. Excess budget remains unspent.
On the CPHC tab: the guardrail operates on blended CPHC (cost per healthy customer). The slider range adjusts to $20–$60 to reflect the higher absolute CPHC values.
Weekly aggregated data from quicksight.r_and_o (Redshift). Channels: Meta, Google App, Apple Search
Ads. Devices: Android & iOS. Filter: is_raw_branch_log_data = 'N'. “Last
7d” metrics reflect the most recent complete week (Aug 10–16, 2026).
Health rate:
SUM(CASE WHEN is_prime_acq='Y' THEN is_d1_1500 END) / SUM(customers_acquired) —
constant per combo across 52-week history (correlation with spend ≈ −0.05).