Finding the "Growth Rate" of a metric in Beastmode

We are currently building a dashboard where looking at change over time is critical - ideally how we'd like to accomplish this is by measuring the growth rate, or change in the metrics over the period set by the analyzer.

 

Is it possible to calculate this in a beastmode while still retaining the ability to change the filters and time frames observed?

 

For example if the page analyzer was set to Q1 2017 and we were measuring weekly sales we'd want to see:

(last week of Q1 - first week of Q1)/first week of Q1

 

Sure we could calculate these in an ETL before it gets to the dataset but then we would lose our ability to determine what time period we want to look at, what granularity we want to see, and what other filters we can apply.

 

Best Answer

  • AS
    AS Coach
    Answer ✓

    Austin, generically speaking, would your calculation look like this?

     

    (last week of [page analyzer time period] - first week of [page analyzer time period] ) / first week of [page analyzer time period]

    Beast mode query language allows you to pretty much only dynamically reference current_date, not the dates underlying the analyzer/date picker.  That would be a very powerful feature, though.  Definitely throw that one up in the ideas exchange board.

     

    FWIW, I once helped build a custom app that generated a calculation like this.  It had user input of two custom time ranges, and the app calculated the growth rate for a whole series of metrics based on the input.  It was a pretty simple JS app and sat on a Domo page just like any other card.  If you have a developer on staff it wouldn't take long to spin up something like that.

    Aaron
    MajorDomo @ Merit Medical

    **Say "Thanks" by clicking the heart in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"

Answers

  • AS
    AS Coach
    Answer ✓

    Austin, generically speaking, would your calculation look like this?

     

    (last week of [page analyzer time period] - first week of [page analyzer time period] ) / first week of [page analyzer time period]

    Beast mode query language allows you to pretty much only dynamically reference current_date, not the dates underlying the analyzer/date picker.  That would be a very powerful feature, though.  Definitely throw that one up in the ideas exchange board.

     

    FWIW, I once helped build a custom app that generated a calculation like this.  It had user input of two custom time ranges, and the app calculated the growth rate for a whole series of metrics based on the input.  It was a pretty simple JS app and sat on a Domo page just like any other card.  If you have a developer on staff it wouldn't take long to spin up something like that.

    Aaron
    MajorDomo @ Merit Medical

    **Say "Thanks" by clicking the heart in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"
  • Yea! That's exactly what it would be - although instead of referencing the analyzer itself it could be accomplished by allowing for table level calculations in beastmodes similar to windowed calculations for Tableau.

     

    This has been suggested in idea here - unfortunately it seems to have lost steam.

     

    I've looked into building a JS app for this but we have a lot of concerns around mixing the functionality of custom cards and out of the box cards on pages that will face our external clients.  We don't want them to get confused as to what filters they have applied where, why they can export from some cards and not others, etc.

     

    Thanks,

    Austin

  • Domo is working on window functions in beast mode, so I think you'll be able to see some of those this year (my guess).  I look forward to some of this higher level analytical functionality.

    Aaron
    MajorDomo @ Merit Medical

    **Say "Thanks" by clicking the heart in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"
  • Oooh that is really useful knowledge!

     

    Thanks for the info Aaron.

  • Are they finished with window functions yet? there are many use cases for this.

    * CAGR

    * Filtering to show only top 10 categories during a given (variable) period

    etc.

    etc.

     

  • Yes and no.  There are some window functions available, but it's not officially supported according to Support.  So you might have what you need, but you're on your own to make it work.

     

    Try the documentation here.

    Aaron
    MajorDomo @ Merit Medical

    **Say "Thanks" by clicking the heart in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"