From 8f095dfbc9c21f857c0e8564f2bd4279da767534 Mon Sep 17 00:00:00 2001 From: Srikanth Chekuri Date: Wed, 26 Mar 2025 18:20:46 +0530 Subject: [PATCH] fix: handle expected value less than zero (#7410) --- ee/query-service/anomaly/seasonal.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ee/query-service/anomaly/seasonal.go b/ee/query-service/anomaly/seasonal.go index 900145f4a7..ea71a3a749 100644 --- a/ee/query-service/anomaly/seasonal.go +++ b/ee/query-service/anomaly/seasonal.go @@ -313,6 +313,9 @@ func (p *BaseSeasonalProvider) getScore( series, prevSeries, weekSeries, weekPrevSeries, past2SeasonSeries, past3SeasonSeries *v3.Series, value float64, idx int, ) float64 { expectedValue := p.getExpectedValue(series, prevSeries, weekSeries, weekPrevSeries, past2SeasonSeries, past3SeasonSeries, idx) + if expectedValue < 0 { + expectedValue = p.getMovingAvg(prevSeries, movingAvgWindowSize, idx) + } return (value - expectedValue) / p.getStdDev(weekSeries) }