OPS-25-K7Small shop · E-commerce

Price monitoring of 14 competitors for a 3-person shop

14 competitors monitored daily. 6 hours per week recovered in a 3-person team. €290/month retainer, payback in a month.

+18%margin on top SKUs
Sector
E-commerce shop · fitness · ~€140k/month
Surfaces
Browser · Slack · 1 parser, 14 sklepów
Runtime
11 months production
Published
2025-08-19

Challenge

A 3-person e-commerce shop selling fitness accessories (supplements, home gym equipment, training apparel). ~€140k/month turnover, 14–22% margin by category. Competing with 14 shops in the segment — from Decathlon down to niche boutique stores.

Process in 2024: the owner manually checked prices across 14 shops every 2 days for ~40 key SKUs. Excel, copy-paste, ~3 hours each time. The partner did the same for a different category. Combined: 6 hours per week in a 3-person team — 10% of total team time.

The deeper problem: between checks competitors shifted prices, they did not know. They lost sales in peak hours (Saturday evening, Sunday morning) because their prices were 10–15% above competitors whose changes they had not yet seen.

Approach

Setup in 2 weeks. One parser per shop (14 parsers, each simple — JSON-LD was enough on 11 of 14). Daily monitoring at 6 AM (frequent enough for their market, not real-time), dashboard with full diff vs previous day, Slack #price-alerts channel with a notification when a competitor moved price of a key SKU by >10%.

Maximally simple stack: Playwright on a small VPS (Hetzner CPX21, €8/month), daily Cron, PostgreSQL, plain Next.js dashboard. No Temporal, no Kubernetes — a project at this scale does not need it.

Edge cases handled: 2 shops use anti-bot (Cloudflare Basic), we used residential proxy but only for them. The rest datacenter. Proxy cost: ~$15/month.

Outcome

6 hours/week recovered. The owner uses that time for content marketing — admitted that is more value than the price intelligence itself.

Margin on top 20 SKUs rose +18% in the first 4 months. Not by raising prices — by correct positioning. When a competitor cut a product price, they adjusted within 2–4h instead of 2–4 days. When a competitor raised, they raised too. Pricing accuracy improved.

Operational cost: €290/month (€8 VPS + €15 proxy + the rest is retainer for change monitoring and parser updates). ROI measured by the owner: first month.

System operating 11 months with no major interruptions. One parser update during the period (one shop changed layout in February 2026, fix in 4 hours).

Stack

PlaywrightPostgreSQLNext.js dashboardSlack APICronHetzner VPSBright Data residential (limited)

Metrics

  • 14Competitors monitored
  • ~280SKUs tracked
  • 6h / weekTime saved
  • +18%Top SKU margin lift
  • €290 / monthOperating cost
  • 1 monthROI
Similar problem in your business?

Every project is different, but patterns repeat.

If you recognise pieces of this case study in your own situation — write. We usually see in the first call whether it is hours-per-week scale or months of infrastructure.