This is a great question. It can definitely get tricky to get the data behind the numbers you see in the Analytics, so here is the process I would follow:
Let's say that the Churn Analysis dashboard is currently showing a total of 24 non-renewing subscriptions, and that this reflects data through October 28th, but today is October 29th (Analytics are always 24 hours behind)
To confirm the total number of subscriptions who will not be renewing in November:
1) Download the Subscriptions export (Status: Live, Time Range: All Time). Then, go to the expires_at column to view how many subscriptions are set to expire, and sort the column Z-A so that only subscriptions that have this field populated are listed at the top. Here is an example:
2) Once you have that list, you can simply scroll back to the left to view the list of account codes that are associated with those populated expires_at fields.
But, let's say now you notice that the list of 18 subscriptions seen here does not match up with the total of 24 we're seeing the Churn Analysis dashboard.
This discrepancy more than likely stems from the fact that the subscriptions listed above have to be manually canceled in order to populate the expired_at columns in the Subscriptions export. This means that any subscriptions that are term-limited will NOT be considered canceled since they are set to expire on next renewal due to their Subscription Terms configuration. This means that they would not show a populated expired_at field in the export.
To find those additional subscriptions that are term-limited, here is what you can replicate:
1) Stay on the same Subscriptions export you already downloaded above
2) Go to the current_term_ends_at column and sort from A-Z
3) You will only focus on the time frame between today and October 31st, since in this case, we only want the list of term-limited subscriptions that will expire before November 1st. Here is what that list could look like:
4) Once I have that list above ready, what I would do is remove every other subscription below it to make this easier to read.
5) Then, I'd scroll to the left to look at the list of account codes matching the terms you see above and one-by-one, I'd have to lookup the accounts in the Recurly Admin, to see if they were term-limited and set to expire before November 1st. Here is an example of what that would look like, below:
Let's say that after adding the term-limited non-renewing subscriptions to your list, you STILL see a remaining discrepancy of one or more subscriptions that you can't locate. This usually stems from the fact that the missing subscriptions expired on the current date (today) since that data is not included in the Analytics dashboard, being that it only updates every 24 hours.
This means that those expired subscriptions would no longer be included in the Subscription: Live version of the Subscriptions export. In order to find those missing subscriptions, you'd have to download the Subscriptions - Churned export for today, whichever day that is for you.
I hope this was helpful. I realize that getting this data is time-consuming and tedious, but until we have access to the underlying data, these are the steps we have to take to reconcile the data you see in Analytics, with exports.