What's a reasonable scan cadence for competitor price monitoring?
Why Paravey Undercut scans 2 or 3 times a day — not hourly — and what cadences actually catch (vs. generate noise). Trade-offs, duplicate filtering, and the three questions to ask a vendor.
Prisync scans every 12 hours. Wiser offers hourly. Price2Spy pitches “real-time.” Paravey Undercut's tiers sit at every 12 hours (Starter) and every 8 hours (Growth). None of these are random choices — but the pricing-page footnotes almost never explain the reasoning. This post does.
If you're evaluating competitor price monitoring and wondering whether 2 scans/day is “enough” or you need to pay extra for 24, here's what's actually happening on the other side of that promise.
The three constraints that set a floor
1. The alert that matters is the first one
When a competitor drops a price, you want to know. When they drop it again 30 minutes later because the first drop went live with a typo — you don't need a second alert; the state is the same (“they're under us by ~15%”). An hourly scanner would fire two emails. An 8-hour scanner fires one. Same business signal, cleaner inbox.
This matters more than it sounds. Most pricing moves cluster: a competitor runs a Black Friday sale and shifts 30 SKUs in a window of 2 hours. An hourly scanner can turn that into 60+ alert emails — the ones you actually need are hidden among the duplicates. An 8-hour scanner delivers one digest with 30 lines of context, grouped by competitor. That's a useful morning read, not an inbox fire.
2. Shopify rate-limits are real but friendly
Every Shopify storefront exposes /products.json publicly — this is the endpoint we read. Shopify tolerates about 2 requests per second from a single IP, with short burst allowance. For context, a tenant with 5 competitors scanning every 8 hours is:
5 competitors × 3 scans/day = 15 requests per day
Below any reasonable threshold. But if you scaled every tenant to hourly scans and sat behind a single server IP, 100 tenants × 5 competitors × 24 scans = 12,000 requests/day funneling through one address. Shopify starts throttling, individual stores start returning 429, scrape success collapses. We'd need per-tenant proxy rotation before hourly becomes feasible — a 10× infrastructure cost increase for marginal signal gain.
3. The scrape itself takes real time
For non-Shopify stores (WooCommerce, BigCommerce, Squarespace, Magento, custom), our scanner walks the competitor's sitemap, extracts product URLs, fetches each PDP, parses Schema.org JSON-LD. One competitor takes about 15–45 seconds end-to-end. Five competitors in parallel = 1 scan per tenant ≈ 90 seconds. Hourly cadence against 1,000 tenants doing sitemap-based scrapes would need genuine concurrency planning — not just “run it more often.”
What different cadences actually get you
Here's the question nobody asks when picking a tier: how often does the thing I'm worried about actually happen?
Three real failure modes a Shopify brand loses sleep over:
Flash sales (12–48 hours)
A competitor runs a weekend promo. Hits Friday morning, ends Sunday night. A daily scanner catches it on Friday afternoon (window: 24h). An 8-hour scanner catches it within 8 hours of launch. An hourly scanner catches it in <60 min. For a sale that lasts 48h, the difference between a 1-hour-late alert and an 8-hour-late alert is… not much. You still have ~40 hours of the sale to react.
Permanent price repositioning (weekly+ change)
A competitor announces a new pricing structure. Takes effect permanently. Catching it in hour 1 vs hour 8 is noise. What matters is the history going forward — are they holding, or sliding? Scan cadence doesn't affect that; price-history length does. (Starter and Growth both get 90-day history.)
Stealth drops before major holidays
Competitor softly drops 10% a week before Black Friday to let organic traffic discover the price before paid campaigns start. Any cadence catches this — the window is a week. Your action is to match or hold the line; neither needs hour-level precision.
The one real case where hourly cadence pays off: you're running paid search and your bids are tied to competitor prices in real time. That's a sophisticated martech stack most brands don't have — and if you do, you're building a custom integration anyway, not using a monthly SaaS. For every other case, 8-hour scanning is Pareto-optimal.
Why we settled on 12h / 8h and not 6h / 2h
Three reasons specific to how we built the scanner:
- 8h is a nice divisor of a day. Three sweeps land predictably — morning, afternoon, evening. The weekly digest email we send on Mondays has clean “week in review” math built on top of it. A 6h cadence (four sweeps) creates uneven coverage of time zones; 8h (three sweeps) covers US/EU/APAC business hours cleanly for a US-based scanner server.
- The 1% alert threshold filters noise. Even at 8h cadence, the scanner suppresses deltas under 1% to avoid currency-conversion rounding and A/B-test-induced micro-moves. A 1h cadence would need an even tighter threshold or you'd email alerts for noise. The trade-off: faster cadence requires more aggressive filtering, which costs you the small-but-real moves at the margin.
- The delta algorithm compares to the previous reading per URL — not a time-window. So an 8h cadence doesn't “miss” a drop that happened 7h ago; it catches it on the next scan with full before/after context. The drop happened at hour 23; the alert fires at hour 24.
What our Growth tier gets you specifically
Growth at $199/mo includes 3 scans/day (every 8 hours), up to 1,000 tracked products, 5 competitors, Slack alerts + email digests, and (coming) Google Sheets export. That cadence covers:
- Any flash sale lasting >8 hours (99% of them)
- Any permanent repositioning (immediately)
- Any pre-holiday softening (same-day)
What it won't catch: a 2-hour flash promo targeting your exact SKUs that ends before the next sweep. In our data, that's roughly 0.3% of competitor moves — statistically indistinguishable from a mis-scan.
What to actually ask when evaluating a scanner
“How often do you scan?” is the wrong question. The three that matter:
- How are duplicates filtered? Hourly scanning + a sloppy dedupe = inbox chaos.
- What's the alert threshold? If it's 0.1% you'll drown in currency-rounding false positives. 1% is the sweet spot.
- Can I set alert direction? If drops are the only moves you care about (you already set your prices confidently), filter out competitor-rises in the config. We let you pick in onboarding.
Try the free Price Gap Snapshot — a one-time run of the same scanner, no account needed. You'll see what the output looks like against your actual store + competitors in about 90 seconds. If what you see is useful, start a 14-day Undercut trial (no card). The full product walkthrough has the dashboard screens if you want to see the whole thing first.