Threshold assumptions and validation status

Shared reference for every skill

Threshold assumptions and validation status

Defaults in skills are plausible, not validated. Every numeric cutoff is marked ASSUMPTION in the skill bodies until it has been backtested against real optimization outcomes.


How to read a threshold

A default here is a starting point, not a recommendation with evidence behind it. Run the skill read-only first, compare what it flags against what you would have done yourself, and tune the cutoff for your vertical and geo before you let anything write.


Threshold registry

Rule Default Status
CPA block (CPA Tune) > 2.0× target ASSUMPTION
CPA QF decrease (manual CPC) > 1.5× target ASSUMPTION
CTR fatigue drop ≥ 30% vs prior 7d ASSUMPTION
Budget cap hit spend ≥ 95% of dailyLimit on 5/7 days ASSUMPTION
Anomaly trigger 7d vs prior 7d ≥ 40% on CPC/CVR/CPA ASSUMPTION — no day-over-day
Pause teaser recovery rate 30–70% sibling absorption ASSUMPTION
Block wasted-share formula 1 - target/actual ASSUMPTION
Apply drift warn 10% change in spent or CPA ASSUMPTION
Simulator default campaign scope 25 active campaigns DEFAULT — ask user if more

Simulator campaign scope

Constant Value Notes
DEFAULT_CAMPAIGN_SCOPE 25 Analyze all active when count ≤ 25

When active campaign count exceeds 25, the agent must ask the user before Phase 2 whether to run top-25-by-spend (default), all active, or named ids.

User overrides (“all active”, explicit ids, “top 50”) always win over the default.


CPA Tune — learning phase (critical)

ASSUMPTION pending ads-team confirmation: manually blocking sources or aggressive QF cuts while bidding.strategy is cpa (CPA Tune) may fight the algorithm during its learning period.

Until learning is complete:

  • Prefer monitor-only (alert_anomaly) over blocks.
  • Suppress block recommendations with cpa_tune_learning when:
    • Campaign age < 14 days (ASSUMPTION), or
    • Conversions in lookback < 50 (ASSUMPTION), or
    • User has not confirmed learning is complete.

Replace the heuristics above with the documented learning-phase signals once they are published.


Client-configurable overrides

# Example — store in ads-mcp server config per client, not in skill files
cpa_block_multiplier: 2.0
cpa_qf_multiplier: 1.5
max_budget_shift_pct: 20
max_qf_change_pct: 25
min_source_clicks: 50
min_source_spend_usd: 10
cpa_tune_learning_min_days: 14
cpa_tune_learning_min_conversions: 50
stats_drift_warn_pct: 10
default_campaign_scope: 25