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!Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request 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.
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!