Cohort & Churn Analysis

Hi Fellow Power BI Users -

In Your showcase of Churn Analysis
, you illustrated how to calculate the new, retained and lost customers, but the problem all this measure cannot be taken as an overall (retention) rate like in the case of cohort analysis :

I tried to put it as a pivot table to calculate the retention rate as a cohort for each month by putting the Months Numbers as a column and the (Year & Month) as rows and customer count as value , but it does not give me accurate numbers on each month as shown in the pictures below:


What sort of changes shall we do in your showcase to calculate cohort analysis as it
shown in the mentioned links above?

I will look into this. But there’s a bit to it and I haven’t researched in depth for use in Power BI, so will require some time. Thanks

Check this:

Could you look at this:

For the total customers I created the measure :slight_smile:
Total Customers = CALCULATE( DISTINCTCOUNT(Sales[Customer ID] ))

I created the following calculated column:

For the cohort I made it like this:

Cohort = IF(day(Sales[Purchase Date]<20),DATE(YEAR(Sales[Purchase Date]),MONTH(Sales[Purchase Date]),1),DATE(YEAR(Sales[Purchase Date]),MONTH(Sales[Purchase Date])+1,1))

    YEAR ( Sales[Cohort]) & "0"
        & MONTH ( Sales[Cohort] )

RankInvoiceYear&Month = 
    FILTER (
        EARLIER ( Sales[Cohort] ) = Sales[Cohort] 
  // Sales[Cohort],
   Sales[Purchase Date],
 // Sales[Y&M],

But I got wrong results :slight_smile:

The setup is :slight_smile:

I sent you the file by email , Can you guide about what is missing?

Can you add the file here.

I can’t see it on email anyway, but you can add them to the post here.

Customer attrition.pbix (497.1 KB)

Thank You Sam , The homework is on (Page 5).

Ok more detail is required here.

The reason why you are getting results like the below (I’ve played around with a few things) is because your ‘cohort’ groups are just each month.

From my understanding and from reviewing the articles you’ve posted you need to be able to group by something to great the ‘cohort’

Grouping by month, or any time frame doesn’t really make sense because you already have that filter.

For example here, the cohort groups are determined by how long a customer subscribed to the product.


These doesn’t really relate to the data set you are using. It’s just a different type of data.

Again this data is different

So really the question is what type of cohort are you attempting to create here?

I’ve mocked up an example from this data set here.

But you’ll see that there is an identifiable cohort that can be align to the dataset

Cohort Analysis Example.pbix (80.7 KB)

For the file I’m already have it and I know it have a sign up date for the customer , In our case there is no Is that means we cannot implement it in our data?

Well you have to group the data somehow. That could be completed in a few ways. Just depends what you are looking for.