Beast Mode Calculation

Shumilex
Shumilex ⚪️
edited October 8 in Card Building

Hi Everyone,

Trying to come up with a beast mode calculation to calculate the percent difference between last weeks count and this weeks count.

This is the example of how the data would look:






Also I would like to know how to do a rolling 4 weeks count so an additional field with header 4 week count and then the percent difference between the four weeks count.

Let me know please and thanks!

Answers

  • MarkSnodgrass
    MarkSnodgrass Portland, Oregon 🟤

    @Shumilex I would point you to this post by @GrantSmith that should do the trick for you. You would add an extra calculation to divide the current week number from the previous week.

    https://dojo.domo.com/discussion/52679/domo-ideas-conference-beast-modes-rolling-averages#latest

  • GrantSmith
    GrantSmith Indiana 🔴
    edited October 8

    Hi @Shumilex

    I'd recommend utilize a custom date offset where you can compare one date to a different date. In your case you're just wanting to know the value from last week. I've done a write up / walk through of this methodology before. You can find more information here: https://dojo.domo.com/discussion/53481/a-more-flexible-way-to-do-period-over-period-comparisons#latest

    You'd then just need to calculate your percentage difference:

    (SUM(CASE WHEN `Period Type` = 'Current' THEN `Value` END)
    -
    SUM(CASE WHEN `Period Type` = 'Last Week' THEN `Value` END))
    /
     WHEN `Period Type` = 'Last Week' THEN `Value` END)
    
    


  • GrantSmith
    GrantSmith Indiana 🔴
    edited October 8

    To address the 4 week rolling average you could utilize the LAG window function however you'd need to have 28 different LAG functions (I'm assuming your date has a day grain and not a week grain here. If you have it by week this becomes easier and you can refer to the post @MarkSnodgrass mentioned) called in your beast mode which is a bit much to write. What I might also recommend is to have a 2 weeks ago, 3 weeks ago and 4 weeks ago offset you define and then just tweak your PoP beast mode (this is assuming you want weeks 0-3 vs 1-4 if not you could apply the same method for weeks 5-8):

    (SUM(CASE WHEN `Period Type` IN ('Current', 'Last Week', '2 Weeks Ago', '3 Weeks Ago') THEN `Value` END)
    -
    SUM(CASE WHEN `Period Type` IN ('Last Week', '2 Weeks Ago', '3 Weeks Ago', '4 Weeks Ago') THEN `Value` END))
    /
     WHEN `Period Type` IN ('Last Week', '2 Weeks Ago', '3 Weeks Ago', '4 Weeks Ago') THEN `Value` END)