Anomalies compound, that is why they hurt
A stock out on a hero SKU is not a stock out. It is a 36 to 72 hour rolling drop in conversion rate, ad efficiency, and customer lifetime value, because the ads keep running and the customer keeps landing on a sold-out page. The drop is not visible in a weekly report. By the time it shows up, the damage is done.
The same is true for refund spikes and conversion drops. The signal is in the first hour. The cost is in the next 48. Detection has to be wired to alerting, and alerting has to be wired to a human who can act.
Trigger one: hero SKU stock out
Define the hero SKUs once. They are the top 20 percent by units, or the top 5 SKUs by revenue, whichever list is shorter. Wire an alert that fires when any hero SKU drops below a reorder threshold, and a second alert that fires the moment it hits zero.
The second alert needs to be loud. It should pause any paid campaigns targeting that SKU, route a notification to the buying team, and surface a replacement recommendation if one exists. Most stores have all three of these capabilities in their stack and have never wired them together.
Trigger two: refund rate spike
Refund rate by SKU, by week, by source. The trigger is a rolling 24-hour refund rate that exceeds the trailing 30-day average by more than 2 standard deviations. That math sounds dense. The implementation is a Shopify Flow that compares two numbers and posts to Slack.
The point is not to catch every refund. It is to catch the pattern. A bad batch, a mis-labeled product, a damaged shipment from a single warehouse. These show up as a sharp localized spike well before they show up on the P and L.
Trigger three: conversion rate drop
Site-wide conversion rate, on a rolling 4-hour basis, with the same 2-standard-deviation trigger as the refund rate. This one catches the slow-burn issues. A bad deploy, a broken pixel, a Shopify outage that does not show up on the status page until later.
When this fires, do not assume the worst. Walk the funnel. Place a test order. Pull a session replay. The alert is a smoke detector, not a diagnosis. The job is to look, decide if there is fire, and act.
Wire it once, then move on
All three triggers can be built in Shopify Flow and a single Slack channel. No ops engineer required. The hardest part is the calibration in the first two weeks, when the thresholds are too tight and you get noise. Tighten the math, narrow the alerts, then leave them alone.
Anomaly detection is the kind of work that earns its keep on the day something goes wrong. Most days it is quiet. On the day it is not, it saves the quarter.