Forum Discussion

FrederickRoxas's avatar
FrederickRoxas
Regular Visitor
2 years ago
Solved

Customer Churn Decile Formula

Can you please help to create a Power BI Formula for Customer Churn Decile (0-1)

 

Churn DecileCountChurn Rate
 2,490,57132.11%
 826,77410.66%
 465,1306.00%
 349,4514.51%
 297,7773.84%
 261,4673.37%
 242,7713.13%
 257,7943.32%
 325,8984.20%
 1,906,94624.59%
 331,1574.27%
Total7,755,736100.00%
  • Hello FrederickRoxas,

     

    Can you please try this:

     

    1. Rank Customers Based on Churn Probability

    Churn Rank = RANKX(ALL(Customers), Customers[ChurnProbability],, DESC, Dense)

    2. Assign Decile Based on Rank

    Decile = 
    VAR TotalCustomers = COUNTROWS(Customers)
    VAR DecileSize = TotalCustomers / 10
    RETURN CEILING(Customers[Churn Rank] / DecileSize, 1)
    

    3. Calculate Churn Rate for Each Decile

    Decile Churn Rate = 
    DIVIDE(
        SUMX(
            FILTER(Customers, Customers[Decile] = SELECTEDVALUE(Customers[Decile])),
            Customers[HasChurned]
        ),
        COUNTROWS(FILTER(Customers, Customers[Decile] = SELECTEDVALUE(Customers[Decile]))),
        BLANK()
    )
    

     Hope this helps!

3 Replies

  • Hello FrederickRoxas,

     

    Can you please try this:

     

    1. Rank Customers Based on Churn Probability

    Churn Rank = RANKX(ALL(Customers), Customers[ChurnProbability],, DESC, Dense)

    2. Assign Decile Based on Rank

    Decile = 
    VAR TotalCustomers = COUNTROWS(Customers)
    VAR DecileSize = TotalCustomers / 10
    RETURN CEILING(Customers[Churn Rank] / DecileSize, 1)
    

    3. Calculate Churn Rate for Each Decile

    Decile Churn Rate = 
    DIVIDE(
        SUMX(
            FILTER(Customers, Customers[Decile] = SELECTEDVALUE(Customers[Decile])),
            Customers[HasChurned]
        ),
        COUNTROWS(FILTER(Customers, Customers[Decile] = SELECTEDVALUE(Customers[Decile]))),
        BLANK()
    )
    

     Hope this helps!