Built-In Billing Analytics
Recurso provides built-in analytics that give you real-time visibility into your billing performance. Track monthly recurring revenue (MRR) movements, monitor usage patterns, and ask free-form questions about your data using GenAI-powered natural-language queries.MRR Tracking
FX-normalized MRR with per-currency breakdown and rate provenance
Usage Statistics
Aggregate usage metrics across meters and customers
AI Queries
Ask questions about your data in plain English
MRR Tracking
Monthly Recurring Revenue is the core health metric for any subscription business. Recurso sums active-subscription MRR per currency, converts each currency bucket to a single reporting currency, and returns the normalized total together with the exact exchange rates used — auditable, not just a number.Get MRR Metrics
MRR values are returned in the smallest currency unit (e.g., paise for INR, cents for USD). Divide by 100 to get the display value. Each
breakdown[] entry shows the native amount, the converted amount in the reporting currency, and the rate applied.FX Normalization
Reporting currency resolution
The reporting currency is resolved in order:- The tenant’s
BaseCurrency(set on your account), when configured - The
REPORTING_CURRENCYenvironment variable (see Going to Production) USD
GET /v1/organizations/{id}/analytics/mrr) is normalized the same way and returns the same fx snapshot alongside its per-currency, per-tenant breakdown.
Rate provenance (fx.source)
The fx snapshot tells you exactly which rates produced the number, and how trustworthy they are:
Unconvertible currencies
If a currency bucket cannot be converted (no rate available even in the static table), it is excluded fromnormalized_mrr rather than silently mixed in. The bucket still appears in breakdown[] with its native amount, converted_amount: 0, and an error explaining why — so the gap is visible instead of corrupting the total.
Usage Statistics
Monitor consumption metrics across all metered subscriptions. Usage statistics help you understand customer engagement, forecast revenue, and identify upsell opportunities.Get Usage Stats
Usage Parameters
GenAI Natural-Language Queries
The/analytics/ask endpoint lets you query your billing data using plain English. Recurso uses an LLM to translate your question into a data query, executes it, and returns both the answer and the underlying data.
Ask a Question
Ask Parameters
Response Fields
Example Queries
Here are some questions the AI query engine handles well:Revenue Questions
Revenue Questions
- “What is my MRR growth rate over the last 6 months?”
- “Which plan generates the most revenue?”
- “What is the average revenue per customer?”
- “Show me revenue by currency for Q1 2026”
Customer Questions
Customer Questions
- “How many customers signed up this month?”
- “Which customers have been on a trial for more than 14 days?”
- “List my top 10 customers by lifetime value”
- “What is my customer churn rate?”
Subscription Questions
Subscription Questions
- “How many subscriptions are past due right now?”
- “What is the upgrade-to-downgrade ratio this quarter?”
- “Show me subscriptions expiring in the next 7 days”
- “What is the average subscription duration before churn?”
Usage Questions
Usage Questions
- “Which customers are approaching their usage limits?”
- “What is the 95th percentile API usage across all customers?”
- “Show me usage trends for meter_api_calls over the last 30 days”
- “Which subscriptions have zero usage this month?”
Dunning Analytics
Track the performance of your payment recovery efforts with dedicated dunning analytics endpoints.Dunning Overview
Get a high-level summary of dunning activity across your tenant:Dunning Weights
Understand which retry strategies are most effective. Weights indicate how much each retry attempt contributes to overall recovery:Dunning History
View the timeline of dunning events for a specific period:Dashboard Integration
Pull analytics data into your own dashboards using the API endpoints above.1
Fetch MRR on a schedule
Call
GET /v1/analytics/mrr daily or hourly to pull the latest MRR breakdown into your data warehouse.2
Fetch usage stats per meter
Call
GET /v1/analytics/usage for each meter to power real-time usage charts.3
Use AI queries for ad-hoc reporting
Expose
POST /v1/analytics/ask in an internal tool so finance and ops teams can self-serve answers.Webhook Events
Analytics-related events you can subscribe to:Best Practices
Track Net New MRR
Focus on net new MRR (new + expansion - contraction - churn) as your primary growth indicator
Set Date Ranges Wisely
Use consistent date ranges (calendar months, quarters) to avoid misleading comparisons
Cache AI Responses
Cache results from the /ask endpoint for repeated questions to reduce latency and cost
Automate Reporting
Schedule MRR and usage fetches to keep dashboards always up to date