What is the best way to dynamically identify data shifts like this in Trendminer? Control chart calculations would be ideal, but I don’t think that’s possible.

What is the best way to dynamically identify data shifts like this in Trendminer? Control chart calculations would be ideal, but I don’t think that’s possible.

Best answer by fvandael
Hi
You're right that TrendMiner has no control-chart object, and the aggregation tag builder has no standard-deviation operator either. The available operators are Average, Minimum, Maximum, Range, Delta and Integral, on a rolling window between your index resolution and a maximum of 24h (Tag Builder: Aggregation). So true ±3σ limits aren't reachable without Python. For a step shift, though, you don't need σ. You can build the shift itself as a tag and monitor it.
Two options, both no-code:
Delta aggregation. Create an aggregation tag on your measurement with operator Delta, direction backwards, and Aggregate per set to roughly the timescale over which the shift happens. The tag returns the difference between the start and end value of that window, so a step shows up as a spike.
Fast-vs-slow mean. Create two Average aggregation tags, for example 15m and 8h, then a formula tag:
fast - slowA sustained non-zero value means the mean has moved away from its own recent history. Formula tags accept up to 10 mapped variables (Tag Builder: Formula), so you can normalise or scale further if needed.
Then run a value based search on that tag (> x / < -x), save it, and enable it as a monitor. Monitors re-run the saved search against live indexed data every 2 minutes and execute the configured actions on each new result (Monitoring and alert overview), so you can send yourself an email when a data drift happens or create an automatic context item.
Kind regards
Frederik Vandael
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.