I work on a web project that handles region based user submissions. We currently have about 50 regions, some receive a large number of submissions, some receive next to none.
We also ingest case data for these submissions from a system, again some regions may supply lots of data, others not so much.
The number of cases ingested and submissions will differ during a weekday and a weekend, and holiday periods (e.g Christmas) will be quieter.
I'm wondering what algorithm I can use to detect and alert on an unexpected variance in the data? E.g if we've been receiving 100 submissions for region X each day, then suddenly that number halves. But that number may be low anyway during the weekend.
I was thinking about possibly alerting on the intersection of two moving averages - maybe a 7 day and a three day, but that might be too slow / unresponsive. Another option may be detecting a %age variance based on the figures for the same day for the past few weeks. What is the best solution?