Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Calculating ARR and Churn Rates

Hello,   I am trying to find the most elegant way to solve for ARR (Annual Reccurring Revenue) at a given time while also setting up my model to be able to calculate churn rates. I have a sales pro...
  • DataZoe's avatar
    5 years ago

    Anonymous You can use the measures amitchandak has provided in his HR Analysis post to help you with many of these measures: https://community.powerbi.com/t5/Community-Blog/HR-Analytics-Active-Employee-Hire-and-Termination-trend/ba-p/882970

     

    First, you would create a disconnected date table -- that is, a date table that does not have a set relationship with the data table. Modeling --> New Table. Once created, go to Table tools --> Mark as Date Table.

     

    Date =
    CALENDAR ( MIN ( 'Table'[Start Date] )MAX ( 'Table'[End Date] ) )

     

    Then you can calculate your current customers at any date via this measure:

     

    Current Customers =
    CALCULATE (
        DISTINCTCOUNT ( 'Table'[Customer ID] ),
        FILTER (
            'Table',
            'Table'[Start Date] <= MAX ( 'Date'[Date] )
                && (
                    ISBLANK ( 'Table'[End Date] )
                        || 'Table'[End Date] > MAX ( 'Date'[Date] )
                )
        )
    )

     

    And the ARR at any date with this measure:

     

    Current ARR =
    CALCULATE (
        SUMX (
            FILTER (
                'Table',
                'Table'[Start Date] <= MAX ( 'Date'[Date] )
                    && (
                        ISBLANK ( 'Table'[End Date] )
                            || 'Table'[End Date] > MAX ( 'Date'[Date] )
                    )
            ),
             ( 'Table'[ARR] )
        )
    )

     

    Edit: I changed the Current Customers to do a DISTINCTCOUNT instead of COUNTX.