Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!
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 product table that has the following:
| Customer ID | Sale Order ID | Prod Type | Sale Type | Start Date | End Date | ARR |
| Cutomer A | 1 | Perpetual | New | 4/15/2018 | 4/14/2020 | 100,000 |
| Customer A | 1 | Perpetual | New | 4/15/2018 | 4/14/2020 | 20,000 |
| Customer B | 2 | Term | New | 6/16/2019 | 6/15/2021 | 10,000 |
| Customer C | 3 | Perpetual | New | 10/1/2020 | 9/30/2021 | 60,000 |
| Customer C | 3 | Perpetual | New | 10/1/2020 | 9/30/2021 | 20,000 |
| Customer A | 4 | Term | Renewal (Late) | 8/6/2020 | 4/14/2021 | 120,000 |
| Customer B | 5 | Term | Upsell | 9/20/2019 | 6/15/2021 | 25,000 |
| Customer C | 6 | Perpetual | Renewal | 9/30/2021 | 9/30/2022 | 61,800 |
| Customer C | 6 | Perpetual | Renewal | 9/30/2021 | 9/30/2022 | 20,600 |
I have a seperate table for customers with a few details in that table. Just, Customer ID, Name, Region, etc.
I have quite a few different but related things I am trying to get from this data:
My current model for getting this information has a calculated comlumn for each month on the sales prod table that calculates if the ARR was active during that month. I then unpivoted that table so that there is a new table with a row for each product and each month and then I calculate a few other columns to get the details I am looking for. Then I have a by customer table that summerizes the unpivoted product table and has a few more calculated columns to get some of the customer count information. To get churn rates I pull the monthly details into excel.
I'm looking for a more elegant solution, even if it just starts with a way to calculate active ARR $ and # of Customers as of a given date, and added customers and ARR $ withoug creating columns for every time period.
I appreciate any help.
Thank you,
Erin
Solved! Go to Solution.
@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.
Then you can calculate your current customers at any date via this measure:
And the ARR at any date with this measure:
Edit: I changed the Current Customers to do a DISTINCTCOUNT instead of COUNTX.
Respectfully,
Zoe Douglas (DataZoe)
Follow me on LinkedIn at https://www.linkedin.com/in/zoedouglas-data
See my reports and blog at https://www.datazoepowerbi.com/
@Anonymous , there are quite a few things there. You have either follow HR Blog or the attached file after signature to get the daily number : https://community.powerbi.com/t5/Community-Blog/HR-Analytics-Active-Employee-Hire-and-Termination-trend/ba-p/882970
Then refer to Customer Retention blogs
Customer Retention Part 1:
https://community.powerbi.com/t5/Community-Blog/Customer-Retention-Part-1-Month-on-Month-Retention/ba-p/1361529
Customer Retention Part 2: Period over Period Retention :https://community.powerbi.com/t5/Community-Blog/Customer-Retention-Part-2-Period-over-Period-Retention/ba-p/1377458
@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.
Then you can calculate your current customers at any date via this measure:
And the ARR at any date with this measure:
Edit: I changed the Current Customers to do a DISTINCTCOUNT instead of COUNTX.
Respectfully,
Zoe Douglas (DataZoe)
Follow me on LinkedIn at https://www.linkedin.com/in/zoedouglas-data
See my reports and blog at https://www.datazoepowerbi.com/
Thank you, this has really helped me get started building a better model.
Vote for your favorite vizzies from the Power BI World Championship submissions!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 58 | |
| 53 | |
| 43 | |
| 17 | |
| 16 |
| User | Count |
|---|---|
| 123 | |
| 108 | |
| 44 | |
| 32 | |
| 24 |