Rolling Average Calculation

HI There,

 

I'm trying to do a rolling average calculation. 

Compare Average of previous 7 days (not including yesterday) versus yesterday. 

 

CASE WHEN AVG(CASE WHEN `advertiser` = 'coke' AND (`day` <= CURRENT_DATE()-2 and `day` >= CURRENT_DATE()-8) THEN `revenue` ELSE 0 END) = 0 THEN 0
ELSE
(SUM(CASE WHEN `advertiser` = 'coke' AND `day` = CURRENT_DATE()-1 THEN `revenue` ELSE 0 END)
/
AVG(CASE WHEN `advertiser` = 'coke' AND (`day` <= CURRENT_DATE()-2 and `day` >= CURRENT_DATE()-8) THEN `revenue` ELSE 0 END)-1)
END

 

Thanks! 

 

 

Comments

  • You won't be able to perform this kind of analysis in beast mode.  You would need to capture the prev 7 day average in a dataflow and then you could do the calculation comparing it to yesterday either in the beastmode or in the dataflow.


    “There is a superhero in all of us, we just need the courage to put on the cape.” -Superman