What is fatigue score?
Fatigue score is a 0–1 estimate of how worn out a creative is, built from two signals: how often the audience is now seeing it (frequency), and whether its click-through rate has been declining. A rising score means the same ad is losing its pull — typically the moment to refresh it.
Formula
fatigue score = frequency component + CTR-decline component
frequency component = min(recent avg. frequency ÷ 5, 1) × 0.5
CTR-decline component = clamp(−CTR change % ÷ 30, 0, 1) × 0.5
Worked example
A creative's average frequency over its most recent 7 days of delivery is 3.5, giving a frequency component of min(3.5 ÷ 5, 1) × 0.5 = 0.35. Its click-through rate was 2.0% in the preceding 7-day window and has fallen to 1.4% in the most recent one, a −30% change, giving a CTR-decline component of clamp(30 ÷ 30, 0, 1) × 0.5 = 0.5. Fatigue score is 0.35 + 0.5 = 0.85.
How Saldo Metrics computes it
canonical.v_creative_fatigue compares each creative's most recent 7 rows of daily
delivery data (v_ad_spend_enriched, ranked by date_key) against the preceding 7 —
not against the creative's own best-ever window, and not against a fixed benchmark.
Two components are summed, each capped so neither can exceed half the score:
- Frequency component — the average delivery frequency in the recent window, divided by 5 and capped at 1, weighted 0.5. A creative already showing at frequency 5+ maxes out this half regardless of how much higher it climbs.
- CTR-decline component — the percentage change in click-through rate between the prior and recent windows. Only a decline counts (an improving CTR contributes nothing, not a negative score); a 30% or larger drop maxes out this half.
fatigue_score is the sum, so it ranges 0 to 1; the app displays it as that raw
decimal (e.g. 0.85), not multiplied into a percentage. The same view derives the
recommendation column from the score and spend: below €50 of spend the creative is
always MONITOR regardless of score (too little data to act on); at 0.7 or above it's
REFRESH; at 0.4 or above, MONITOR; below that, SCALE if CTR is trending up more
than 5%, otherwise MONITOR.
Why it matters
Ad audiences are finite, and repetition has diminishing (then negative) returns — frequency creeping up while CTR falls is the earliest signal that a creative needs a refresh, well before spend efficiency visibly drops. Catching it early avoids paying full price for a creative that has already peaked.
Common mistakes
- Treating fatigue score as a lifetime measure. It only ever compares the last two ~7-day windows, so a creative that fatigued and was refreshed a month ago can look perfectly healthy again — it has no memory of that earlier decline.
- Acting on a low-spend creative's score. Below €50 of spend the recommendation is
always
MONITOR, on purpose — the underlying CTR and frequency numbers are too noisy at that volume to act on. - Reading a rising CTR as proof there's no fatigue. Frequency can still be climbing toward saturation even while CTR holds; check both components, not just the recommendation label.
Where you see this in the app
Marketing → Creatives, in the fatigue score shown against each creative and the REFRESH / SCALE / MONITOR recommendation it drives.
- Formula
- frequency component + click-through-rate decline component (each capped at 0.5)
- How Saldo Metrics computes it
- canonical.v_creative_fatigue
Last reviewed 2026-08-12