{"id":315,"date":"2014-11-07T14:19:51","date_gmt":"2014-11-07T13:19:51","guid":{"rendered":"https:\/\/chartmogul.com\/?p=315"},"modified":"2023-08-09T17:18:24","modified_gmt":"2023-08-09T15:18:24","slug":"calculating-mrr-with-multiple-currencies","status":"publish","type":"post","link":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/","title":{"rendered":"Calculating MRR with multiple currencies"},"content":{"rendered":"<p><a title=\"MRR\" href=\"https:\/\/help.chartmogul.com\/hc\/en-us\/articles\/203299812\" target=\"_blank\" rel=\"noopener\"><strong>MRR<\/strong><\/a>, or <strong>Monthly Recurring Revenue<\/strong>, is perhaps the single most important metric a subscription business will need to calculate. \u00a0To over-simplify, MRR is a calculation of a businesses normalised, monthly subscription revenue.<\/p>\n<p>We started with the assumption that most businesses have a &#8216;primary currency&#8217; they measure their global revenues in, usually the native currency where they\u2019re headquartered.<\/p>\n<p>We decided the most useful approach would be to allow our users to set a Primary currency and then consolidate all subscriptions into that currency.<\/p>\n<p>This lead us to the question of how should we handle fluctuating exchange rates? \u00a0We thought about giving users the option to set a static rate for each currency they work with, but this wouldn&#8217;t allow us to generate historically accurate graphs.<\/p>\n<p>We decided we&#8217;d need to use historic exchange-rate data to give an accurate picture of MRR over time. \u00a0Thanks to <a title=\"openexchangerates.org\" href=\"https:\/\/openexchangerates.org\/\" target=\"_blank\" rel=\"noopener\">openexchangerates.org<\/a> we could easily query rates for almost every currency going back 15 years, and can also use it to automatically fetch updates daily.<\/p>\n<p>As much of ChartMogul&#8217;s calculations are based off parsing paid invoices, we settled on using the relevant\u00a0&#8216;closing rate&#8217;\u00a0from\u00a0the day on which\u00a0each invoice was paid. \u00a0For real-time updates we use yesterday&#8217;s closing rate, and then at midnight\u00a0when there is a closing rate available for today\u00a0we switch all\u00a0activity generated today\u00a0to using the correct closing\u00a0rate.<\/p>\n<p>What this means is that if you have a customer paying a subscription in Euros and your account&#8217;s Primary currency is USD then you may see a subtle fluctuation in MRR each month.<\/p>\n<p>This we believe gives a more accurate picture of real MRR, taking into account the positive and negative impact that currency fluctuations will have on your MRR number.<\/p>\n<p>During the implementation we made a couple of technical decisions that might be of interest. \u00a0Firstly, we selected a backend base-currency (USD) so we only need to store rates relative to USD. This allows us to store less records in our DB and still be able to convert between any two currencies by first converting to USD and then from it (there is no loss in underlying value in these conversions unlike the terrible buy\/sell rates you get at the bank or airport!)<\/p>\n<p>Secondly, to help with handling conversions on the fly, we added another column to the database to store not only the MRR amounts in the invoiced currency, but also in USD. This pre-calculation allowed us to simplify and speed up the calculation of metrics in realtime.<\/p>\n<p>ChartMogul was also configured to generate notifications for any customer upgrades or downgrades (expansions\/contractions), and adding fluctuating exchange rates was going to create some false alarms. \u00a0So for the purpose of generating upgrade or downgrade activity we use the original invoiced currency regardless of the Primary currency.<\/p>\n<p>After everything was implemented we ended up with a simple but effective way of handling multiple currencies gracefully.<\/p>\n<p>One nice surprise is that you can switch your account&#8217;s Primary currency at any time and immediately see all your metrics recalculated in a different currency.<\/p>\n<p>What do you think of our approach? \u00a0We\u2019re interested to hear how others have dealt with this issue.<\/p>\n<p><em>Uladzimir\u00a0is\u00a0a backend developer at <a title=\"ChartMogul\" href=\"https:\/\/chartmogul.com\/\" target=\"_blank\" rel=\"noopener\">ChartMogul<\/a>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Several weeks ago we started thinking about how to best approach calculating MRR for businesses who sell subscription plans in different currencies.<\/p>\n","protected":false},"author":6,"featured_media":2542,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[193,48,194],"class_list":["post-315","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-global-business","tag-mrr","tag-multiple-currencies"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Calculating MRR with multiple currencies | ChartMogul<\/title>\n<meta name=\"description\" content=\"Monthly Recurring Revenue is the single most important metric a subscription business needs to calculate. With multiple currencies this can become tricky.\" \/>\n<meta name=\"robots\" content=\"index, follow\" \/>\n<link rel=\"canonical\" href=\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculating MRR with multiple currencies | ChartMogul\" \/>\n<meta property=\"og:description\" content=\"Monthly Recurring Revenue is the single most important metric a subscription business needs to calculate. With multiple currencies this can become tricky.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/\" \/>\n<meta property=\"og:site_name\" content=\"ChartMogul\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/chartmogul\" \/>\n<meta property=\"article:published_time\" content=\"2014-11-07T13:19:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-09T15:18:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2014\/11\/shutterstock_1243719881.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"667\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Uladzimir D.\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@chartmogul\" \/>\n<meta name=\"twitter:site\" content=\"@chartmogul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Uladzimir D.\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/\"},\"author\":{\"name\":\"Uladzimir D.\",\"@id\":\"https:\/\/chartmogul.com\/blog\/#\/schema\/person\/f6dadfbacd5d14e7afba74551e7a1e9f\"},\"headline\":\"Calculating MRR with multiple currencies\",\"datePublished\":\"2014-11-07T13:19:51+00:00\",\"dateModified\":\"2023-08-09T15:18:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/\"},\"wordCount\":550,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/chartmogul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2014\/11\/shutterstock_1243719881.jpg\",\"keywords\":[\"Global business\",\"mrr\",\"multiple currencies\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/\",\"url\":\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/\",\"name\":\"Calculating MRR with multiple currencies | ChartMogul\",\"isPartOf\":{\"@id\":\"https:\/\/chartmogul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2014\/11\/shutterstock_1243719881.jpg\",\"datePublished\":\"2014-11-07T13:19:51+00:00\",\"dateModified\":\"2023-08-09T15:18:24+00:00\",\"description\":\"Monthly Recurring Revenue is the single most important metric a subscription business needs to calculate. With multiple currencies this can become tricky.\",\"breadcrumb\":{\"@id\":\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#primaryimage\",\"url\":\"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2014\/11\/shutterstock_1243719881.jpg\",\"contentUrl\":\"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2014\/11\/shutterstock_1243719881.jpg\",\"width\":1000,\"height\":667,\"caption\":\"Multiple currencies\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/chartmogul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculating MRR with multiple currencies\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/chartmogul.com\/blog\/#website\",\"url\":\"https:\/\/chartmogul.com\/blog\/\",\"name\":\"ChartMogul\",\"description\":\"Get all your SaaS &amp; Subscription Metrics with a Single Click! MRR, churn, LTV and much more.\",\"publisher\":{\"@id\":\"https:\/\/chartmogul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/chartmogul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/chartmogul.com\/blog\/#organization\",\"name\":\"ChartMogul\",\"url\":\"https:\/\/chartmogul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/chartmogul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2019\/05\/ChartMogul-Logo.png\",\"contentUrl\":\"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2019\/05\/ChartMogul-Logo.png\",\"width\":278,\"height\":52,\"caption\":\"ChartMogul\"},\"image\":{\"@id\":\"https:\/\/chartmogul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/chartmogul\",\"https:\/\/x.com\/chartmogul\",\"https:\/\/www.linkedin.com\/company\/chartmogul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/chartmogul.com\/blog\/#\/schema\/person\/f6dadfbacd5d14e7afba74551e7a1e9f\",\"name\":\"Uladzimir D.\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/chartmogul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/37834a9501f69b2971af6b1b7d77b789c480e799d16f006a7ff9446c09a5c5cc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/37834a9501f69b2971af6b1b7d77b789c480e799d16f006a7ff9446c09a5c5cc?s=96&d=mm&r=g\",\"caption\":\"Uladzimir D.\"},\"url\":\"https:\/\/chartmogul.com\/blog\/author\/vlad\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calculating MRR with multiple currencies | ChartMogul","description":"Monthly Recurring Revenue is the single most important metric a subscription business needs to calculate. With multiple currencies this can become tricky.","robots":{"index":"index","follow":"follow"},"canonical":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/","og_locale":"en_US","og_type":"article","og_title":"Calculating MRR with multiple currencies | ChartMogul","og_description":"Monthly Recurring Revenue is the single most important metric a subscription business needs to calculate. With multiple currencies this can become tricky.","og_url":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/","og_site_name":"ChartMogul","article_publisher":"https:\/\/www.facebook.com\/chartmogul","article_published_time":"2014-11-07T13:19:51+00:00","article_modified_time":"2023-08-09T15:18:24+00:00","og_image":[{"width":1000,"height":667,"url":"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2014\/11\/shutterstock_1243719881.jpg","type":"image\/jpeg"}],"author":"Uladzimir D.","twitter_card":"summary_large_image","twitter_creator":"@chartmogul","twitter_site":"@chartmogul","twitter_misc":{"Written by":"Uladzimir D.","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#article","isPartOf":{"@id":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/"},"author":{"name":"Uladzimir D.","@id":"https:\/\/chartmogul.com\/blog\/#\/schema\/person\/f6dadfbacd5d14e7afba74551e7a1e9f"},"headline":"Calculating MRR with multiple currencies","datePublished":"2014-11-07T13:19:51+00:00","dateModified":"2023-08-09T15:18:24+00:00","mainEntityOfPage":{"@id":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/"},"wordCount":550,"commentCount":0,"publisher":{"@id":"https:\/\/chartmogul.com\/blog\/#organization"},"image":{"@id":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#primaryimage"},"thumbnailUrl":"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2014\/11\/shutterstock_1243719881.jpg","keywords":["Global business","mrr","multiple currencies"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/","url":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/","name":"Calculating MRR with multiple currencies | ChartMogul","isPartOf":{"@id":"https:\/\/chartmogul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#primaryimage"},"image":{"@id":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#primaryimage"},"thumbnailUrl":"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2014\/11\/shutterstock_1243719881.jpg","datePublished":"2014-11-07T13:19:51+00:00","dateModified":"2023-08-09T15:18:24+00:00","description":"Monthly Recurring Revenue is the single most important metric a subscription business needs to calculate. With multiple currencies this can become tricky.","breadcrumb":{"@id":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#primaryimage","url":"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2014\/11\/shutterstock_1243719881.jpg","contentUrl":"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2014\/11\/shutterstock_1243719881.jpg","width":1000,"height":667,"caption":"Multiple currencies"},{"@type":"BreadcrumbList","@id":"https:\/\/chartmogul.com\/blog\/calculating-mrr-with-multiple-currencies\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/chartmogul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Calculating MRR with multiple currencies"}]},{"@type":"WebSite","@id":"https:\/\/chartmogul.com\/blog\/#website","url":"https:\/\/chartmogul.com\/blog\/","name":"ChartMogul","description":"Get all your SaaS &amp; Subscription Metrics with a Single Click! MRR, churn, LTV and much more.","publisher":{"@id":"https:\/\/chartmogul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/chartmogul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/chartmogul.com\/blog\/#organization","name":"ChartMogul","url":"https:\/\/chartmogul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/chartmogul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2019\/05\/ChartMogul-Logo.png","contentUrl":"https:\/\/chartmogul.com\/blog\/wp-content\/uploads\/2019\/05\/ChartMogul-Logo.png","width":278,"height":52,"caption":"ChartMogul"},"image":{"@id":"https:\/\/chartmogul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/chartmogul","https:\/\/x.com\/chartmogul","https:\/\/www.linkedin.com\/company\/chartmogul\/"]},{"@type":"Person","@id":"https:\/\/chartmogul.com\/blog\/#\/schema\/person\/f6dadfbacd5d14e7afba74551e7a1e9f","name":"Uladzimir D.","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/chartmogul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/37834a9501f69b2971af6b1b7d77b789c480e799d16f006a7ff9446c09a5c5cc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/37834a9501f69b2971af6b1b7d77b789c480e799d16f006a7ff9446c09a5c5cc?s=96&d=mm&r=g","caption":"Uladzimir D."},"url":"https:\/\/chartmogul.com\/blog\/author\/vlad\/"}]}},"_links":{"self":[{"href":"https:\/\/chartmogul.com\/blog\/wp-json\/wp\/v2\/posts\/315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chartmogul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chartmogul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chartmogul.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/chartmogul.com\/blog\/wp-json\/wp\/v2\/comments?post=315"}],"version-history":[{"count":10,"href":"https:\/\/chartmogul.com\/blog\/wp-json\/wp\/v2\/posts\/315\/revisions"}],"predecessor-version":[{"id":20082,"href":"https:\/\/chartmogul.com\/blog\/wp-json\/wp\/v2\/posts\/315\/revisions\/20082"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/chartmogul.com\/blog\/wp-json\/wp\/v2\/media\/2542"}],"wp:attachment":[{"href":"https:\/\/chartmogul.com\/blog\/wp-json\/wp\/v2\/media?parent=315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chartmogul.com\/blog\/wp-json\/wp\/v2\/categories?post=315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chartmogul.com\/blog\/wp-json\/wp\/v2\/tags?post=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}