Power financial workflows with Data Export
Metronome is the source of truth for your billing data. Your customers, invoices, products, usage events, and even input from third-party integrations are all represented within Metronome. With Metronome's Data Export capability, Metronome automatically transfers your data to your existing warehouse where it can be queried and joined with internal datasets.
Metronome clients use Data Export for core financial workflows and analyses, including:
- Revenue insights and forecasting
- Credit burn down and overage monitoring
- Spend monitoring
- Revenue recognition
- Data reconciliation
- Tracking product adoption, driving upsells, and identifying cross-sells
Using Data Export and this guide, your internal teams can unify critical data to drive revenue decisions, run reports, and improve operations.
1. Enable Data Export
Your Metronome data is always available for export through the API. However, accessing this data requires engineering effort to query the APIs and store the data. Data Export automates the process, allowing you to access the data directly from your existing data infrastructure, which for most clients is a data warehouse or data lake.
To enable Data Export, contact your Metronome representative. Metronome supports every major data warehouse, database, and object storage.
Once established, Metronome sends new records to your data warehouse automatically multiple times per day.
Exported data includes additional information added through Custom Fields, allowing you to bring third-party records into your data warehouse through Metronome.
2. Identify the workflows you want to power
With your data in hand, the next step is to determine what questions you want the answers to. Figure out which workflows are undersupported for your teams–Sales, Finance, whomever. One approach is to interview end users you think would benefit from an analysis built on the Metronome data. If you happen to be that end user, even better!
Access to all your Metronome data means you can perform margin analysis with greater detail than before. You can calculate costs against revenue to find the margins on usage events. Or summarize and drill down into the discounts granted to customers, and how that affects your margins.
Note most datasets are exported every 6 hours, not continually. You cannot use this data for real-time monitoring.
With Data Export you can preview forthcoming payments, not just finalized invoices.
3. Build custom dashboards
With your Metronome data exported to your warehouse and your key workflows identified, you can build custom dashboards for each of your needs and teams. Use your preferred business intelligence tool—Hex, Looker, Tableau, Omni, Mode—to view and analyze your data.
Below are a few common finance workflows and the SQL queries used to address them.
- Revenue insights and forecasting
- Credit burn down and overage monitoring
- Data reconciliation
Track your monthly revenue across some or all of your customers using finalized invoices generated throughout the month.
select
date_trunc('month', end_timestamp) as date_month,
sum(total) as revenue
from metronome_export.invoice
where
end_timestamp > cast('2021-01-01 00:00:00.000000+00:00' as timestamp)
and end_timestamp < cast('2023-10-01 00:00:00.000000+00:00' as timestamp)
and environment_type = 'PRODUCTION'
group by 1
order by 1 desc
Track your estimated daily revenue across some or all of your customers using draft invoices. Draft invoices are generated daily using the latest usage data captured by Metronome.
Note that draft invoices are not finalized. The numbers reflect projected revenue, not actual.
select
date_trunc('day', updated_at) as snapshot,
sum(total) as revenue
from metronome_export.draft_invoice
where
end_timestamp = cast('2023-10-01 00:00:00.000000+00:00' as timestamp)
and updated_at >= cast('2023-09-01 00:00:00.000000+00:00' as timestamp)
and updated_at < cast('2023-10-01 00:00:00.000000+00:00' as timestamp)
and environment_type = 'PRODUCTION'
group by 1
order by 1 desc
Track your monthly credit grants and corresponding burn downs across some or all of your customers.
select
date_trunc('month', created_at) as date_month,
sum(cg.amount_granted) as amount_granted,
sum(cgd.amount) as amount_burned,
(sum(cgd.amount) / sum(cg.amount_granted)) as percentage_burned
from metronome_export.credit_grant as cg
left join metronome_export.credit_grant_deduction as cgd on cgd.credit_grant_id = cg.id
where
cg.created_at > cast('2022-01-01 00:00:00.000000+00:00' as timestamp)
and cg.created_at < cast('2023-09-01 00:00:00.000000+00:00' as timestamp)
and cg.environment_type = 'PRODUCTION'
and cg.amount_granted < 10000000000
and cgd.memo != 'Credits expired'
group by 1
order by 1 desc
Track which customers have reached a spend threshold based on configured Metronome Alerts. These thresholds are often used to notify customers of over spending to either help them better manage their spend or re-negotiate their contract.
select
c.name,
cah.alert_status,
cah.created_at,
a.name as alert_type
from metronome_export.customer_alert_history as cah
join metronome_export.alert as a on a.id = cah.alert_id
join metronome_export.customer as c on c.id = cah.customer_id
where
a.alert_type = 'spend_threshold_reached'
cah.environment_type = 'PRODUCTION'
cah.alert_status = 'in_alarm'
cah.created_at > CAST('2023-10-01' as TIMESTAMP)
Pull useful customer and billing data to facilitate reconciliation. For example, you may grab customer information with associated NetSuite data.
select id,
name,
created_at,
updated_at,
json_extract(custom_fields, '$.netsuite_internal_customer_id') as netsuite_id
from metronome_export.customer