Engineering research · Analysis published August 2026
Ad Fatigue Modeling: What Neural SDEs Teach Us About Frequency Capping
An evidence-aware analysis of a simulation study on repeated ad exposure, latent fatigue, and the decision to stop showing impressions.
Source and attribution
This article analyzes and interprets research published by Nathan Clark (2026). Hypermacx did not conduct the underlying experiment.
Source: Nathan Clark, “When Should You Stop Showing Someone an Ad? Neural SDE Fatigue Modeling for Multi-Channel Ad Campaigns,” 2026. No public source URL was provided in the project context, so this page does not fabricate one.
The simulation, data-generating process, NeuralSDE results, and numerical benchmarks belong to the source study. The practitioner implications and product principles labelled as Hypermacx interpretation are original commentary.
Research question
The paper asks whether a learned continuous-time model can identify when the marginal effect of another ad impression becomes negative. In practical terms: when should we stop showing an ad to a user?
That is harder than counting impressions because fatigue is latent, changes over time, can carry across channels, and is observed alongside a delivery policy that may not be random.
Why ad fatigue is hard to model
A marketer sees exposure and an outcome, not the counterfactual result that would have occurred if the next impression had not been delivered. The response may also vary by channel, user state, recency, creative, and intent.
The paper therefore tests a model that represents a hidden fatigue state evolving continuously, while also comparing it with simpler structural and attribution rules.
Experimental setup
The source study uses a simulation with 3,000 users over 30 campaign timesteps across Display, Social, and Search. Exposure builds a latent fatigue state, fatigue decays over time, and channels can affect one another. The outcome is binary, with an approximately 5% conversion rate, and approximately 38% of impressions are labelled fatigued in the simulation.
Because the users, treatment effects, and fatigue state are generated by the simulation, the study has ground truth for evaluation that real ad platforms generally do not expose.
Models compared
The NeuralSDE is compared with Last-Touch, First-Touch, Linear, Time-Decay, Position-Based, and an Exponential SDE approach. The point is not that a particular model always wins, but to see whether extra continuous-time neural capacity produces better attribution, fatigue detection, and stopping-policy value under the supplied data conditions.
Attribution results
Lower attribution MAE is better. The reported results show simpler models competing strongly with the Neural SDE:
| Model | Attribution MAE |
|---|---|
| ExpSDE | 0.179 |
| Linear | 0.180 |
| NeuralSDE | 0.255 |
NeuralSDE did not outperform the simpler approaches on attribution accuracy in this simulation.
Fatigue detection results
The NeuralSDE reported recall of 0.996, precision of 0.382, F1 of 0.552, and AUC of 0.489. In plain language, it caught almost every simulated fatigued impression, but it also flagged many impressions that were not actually fatigued. The result is close to an “everything is fatigued” detector rather than a well-calibrated discriminator.
| Metric | NeuralSDE | Interpretation |
|---|---|---|
| Recall | 99.6% | Very few fatigued impressions were missed. |
| Precision | 38.2% | Many flagged impressions were not fatigued. |
| F1 | 0.552 | Weak balance between the two. |
| AUC | 0.489 | Little useful ranking separation in this setup. |
The simpler heuristic models reached approximately F1 0.739 and AUC 0.741 in the reported comparison.
Budget savings versus conversion efficiency
Stopping more impressions is not automatically better. The policy results show a trade-off between conserving impressions and preserving conversion efficiency:
| Approach | Impressions saved | Oracle-relative iROAS efficiency |
|---|---|---|
| NeuralSDE | ≈57.2% | ≈0.678 |
| ExpSDE | ≈38.8% | ≈0.718 |
| Several simpler heuristics | ≈42.5% | ≈0.711 |
NeuralSDE occupies a more aggressive conservation point: it saves more impressions but achieves slightly weaker efficiency relative to the oracle. Whether that is desirable depends on impression cost, conversion value, and the business objective.
Why the complex model underperformed
- Sparse outcomes: an approximately 5% conversion rate provides limited positive signal.
- Limited sample size: 3,000 users is a difficult setting for rich cross-channel dynamics.
- Confounding: the delivery policy is not randomized, weakening counterfactual identification.
- Binary outcomes: conversion/no-conversion contains less information than richer outcomes such as revenue.
- Model capacity: the neural model has more parameters than this data-generating setting can reliably support.
The deeper conclusion is not simply that Neural SDEs fail. Data quality and signal strength are the binding constraints; richer data, randomized scheduling or holdouts, and richer outcomes may be more valuable than adding complexity.
What worked better in this environment
In this simulated environment, simple heuristics were surprisingly competitive, and Last-Touch performed poorly in the reported comparison. Conservative stopping rules could save substantial impressions, but the preferred rule depends on whether the priority is budget conservation, conversion efficiency, or a particular economic threshold.
These are findings from one simulation, not universal recommendations for live campaigns.
What this means for practitioners
Practitioners should first make the observable decision context reliable: exposure history, reach, performance trends, creative changes, marginal economics, and incrementality evidence. A stopping rule should make its assumptions visible and be tested against a meaningful outcome.
The paper supports a disciplined sequence: measurement maturity first, then more ambitious causal fatigue modeling when the data supports it.
Hypermacx interpretation
Hypermacx interpretation: ad fatigue is not a number; it is a decision problem.
- Do not start with a black-box “AI fatigue score.” Observable signals should come first.
- Do not use frequency alone. Interpret it with CTR, CPA, ROAS, marginal ROAS, reach, and creative changes.
- Prefer transparent decision rules initially, so a marketer can understand why risk is being flagged.
- Add model complexity only when user-level histories, holdouts, richer outcomes, sufficient volume, and identity resolution support it.
- Eventually separate creative fatigue from audience fatigue; this is a future connection to Creative Intelligence, not a claim about existing functionality.
This interpretation connects with the Ad Fatigue glossary, the Ad Frequency metric, and the practical diagnosis guide.
Limitations of the study
The study is simulation-based. The true fatigue state and treatment effect are known because they are generated by the simulation. Real ad platforms do not expose this ground truth.
Therefore, the exact performance numbers should not be assumed to generalize directly to real campaigns. The results are useful for understanding the relationship between signal quality, model complexity, and policy trade-offs—not for selecting a universal frequency cap.
Source / references
- Nathan Clark (2026), When Should You Stop Showing Someone an Ad? Neural SDE Fatigue Modeling for Multi-Channel Ad Campaigns. Source paper supplied for this analysis.
