Using my connected Amazon ad data, pull daily impressions per US advertisement for the last 61 days (include attributed sales if the source has them).

For each advertisement: compute a 30-day rolling mean and standard deviation of daily impressions, using the prior days only. Flag each day Over if impressions are above mean + 1.5 standard deviations, Under if below mean - 1.5, otherwise Normal. (1.5 is the sensitivity dial: lower catches more, higher only the clearest breaks.)

Mark an ad Watch the day it first breaks in either direction. Once the break holds (anomalous on 2 of the last 3 days), confirm it: Act now for a sustained drop, Scale for a sustained surge. Ads back to Normal stay off the list.

Return Act now first, then Watch, then Scale, ranked by the change in attributed sales versus baseline. For each: advertisement id, label, the last 3 daily flags, latest vs expected impressions, and the sales change per day.

Then one ROI line for the run: ads flagged, total sales at risk per day, total upside per day, each also as a share of daily sales.

For each Act now ad, name the most likely cause to check first, in this order: budget capped mid-day, bid lost top-of-search, keyword rank slip, Buy Box loss or listing suppression, out-of-stock throttling, then external. Treat sales figures as directional and confirm the cause before spending against it.
