Hi,
Thanks for flagging this and for the detailed example—it’s really helpful. Here’s what’s happening under the hood:
How the “Monthly Recurring Revenue in £ (GBP)” value is calculated
The Metrics API builds your MRR by taking each transaction’s original amount × the exchange rate in effect at the time of that transaction. We then sum those converted-to-GBP values to return your “MRR in GBP.”
Why you’re seeing 0
and a “$” unit
If we don’t have an exchange rate for a given transaction timestamp, the API can’t convert the amount—and rather than guess, it falls back to returning 0
. That also causes the default “$” unit to persist in the response.
Why your “Date and Region” or “Currency” settings don’t change this
Those settings only affect the RevenueCat dashboard—they don’t influence the Metrics API’s response schema.
I’ve escalated this to Engineering—this appears to be impacting multiple projects, not just your account—and they’re investigating a fix to ensure historical exchange-rate lookups are complete. In the meantime, our strongest, most consistent signal is still the base “Monthly Recurring Revenue” metric in USD.
I realize this isn’t ideal when you need GBP-denominated reporting, and I appreciate your patience while we work on it. If there’s anything else I can clarify, just let me know!
Best,
Hussain
Thank you for the response.
So it seems like it’s still double-converting, which isn’t great when dealing with financial transactions. All my transactions original currency have been in GBP, not USD. So the better way would be to keep all the transactions in their original currencies and do the conversion the way you want to, to whatever currency is needed. I have the occasional AED or EUR transaction, but not many - my payouts still take place in GBP from Google, so they convert directly, not via USD.
Hi Mulder00,
Great news—engineering just rolled out support for a currency
query parameter on the /metrics/overview
endpoint. Now, if you request:
/metrics/overview?currency=GBP
the returned “Monthly Recurring Revenue” (mrr
) value will be in GBP. A couple of important notes:
-
Unit field: It will still show "unit": "$"
, but that simply denotes “currency” (not specifically USD).
-
Legacy fields: Metrics like Monthly Recurring Revenue in GBP
, Monthly Recurring Revenue in AUD
, etc., will continue to return 0 and are being phased out. You can safely ignore those and rely solely on the "Monthly Recurring Revenue"
object.
For example, here’s a snippet from the updated response (with currency=GBP
):
{
"metrics":
{
"description": "Monthly Recurring Revenue",
"id": "mrr",
"last_updated_at": null,
"last_updated_at_iso8601": null,
"name": "MRR",
"object": "overview_metric",
"period": "P28D",
"unit": "$",
"value": 100
},
{
"description": "Monthly Recurring Revenue in GBP",
"id": "mrr_gbp",
"last_updated_at": 1749043739498,
"last_updated_at_iso8601": "2025-06-04T13:28:59.498684+00:00",
"name": "MRR GBP",
"object": "overview_metric",
"period": "P28D",
"unit": "$",
"value": 0
}
// …other legacy fields…
],
"object": "overview_metrics"
}
In this example, "value": 100
in the Monthly Recurring Revenue
object is your true MRR in GBP. You can ignore the Monthly Recurring Revenue in GBP
field returning 0.
Supported currency
values:
-
USD
-
EUR
-
GBP
-
AUD
-
CAD
-
JPY
-
BRL
-
KRW
-
CNY
-
MXN
-
SEK
-
PLN
Let me know if you have any other questions!
Best,
Hussain