We'd been customers of ChartMogul from when we first started going to market in 2021, but recently reached the point of outgrowing it.
This post outlines the different stages we went through to get here, and why we decided to switch to Causal for our ARRÂ reporting.
Enjoy!
Revenue maturity
As your company grows, youâll go through different stages of ârevenue maturityâ:
Stage 1: Getting your first customers
In the beginning youâre just trying to get your first customer. Once you manage that, you go after the next one, and so on. All the while youâre doing whatever it takes to close the deal â custom pricing, custom payment terms, you name it.
At this stage, you donât need sophisticated reporting â Stripeâs dashboard can tell you your ARR, and the nuances donât really matter.
Stage 2: Doubling down
As you get to $500kâ$1m ARR, your revenue data starts to become more meaningful. You probably have 50â100 customers, which is enough to start pulling out different segments and spotting trends. You also have enough data to start understanding what churn and expansion look like.
This is where Stripe reporting hits a ceiling â Stripe wonât let you see your SaaS metrics broken down by different products or segments, it wonât tell you anything about your Net Dollar Retention (NDR), and without this information, you risk flying blind as you decide where to focus your teamâs energy.
This is where SaaS metrics tools come in â they connect to Stripe, and pull out all the different SaaS metrics that you need to know. Examples: ChartMogul, Profitwell, Baremetrics.
Stage 3: Scaling up
Somewhere between $1mâ$5m ARR, youâll have 100s of customers and the nuances of ARR calculation and your Stripe setup start to meaningfully impact your numbers:
- Should past ARR be affected by refunds?
- Does a customer churn if their payments fail, or if they request a cancellation?
- What happens to one-off payments for services?
This is where out-of-the-box SaaS metrics tools stop scaling:
- They donât offer the customisability that you need to tailor your metrics for your business
- They donât plug into the rest of your customer data to let you slice and dice by different properties
- They donât let you create custom charts and tables to visualise your metrics in the format that your team want to see
At this point, youâll need to go custom: youâll have to feed your Stripe data into your data warehouse, set up complex SQL queries to pull things out the way you want, and feed it into a spreadsheet or BI tool. And youâll probably need a data team to do that for you.
At Causal, we recently moved from Stage 2 â Stage 3. Hereâs the âinside baseballâ on why we switched and what our new ARR reporting setup looks like in Causal.
Why ChartMogul wasnât enough for us
As we started to get more customers, particularly on our month-to-month self-serve plan, ChartMogulâs limitations became a problem for 4 main reasons:
- Custom segments
- Custom calculations
- Custom visualisations
- Pricing model
Custom segments
ChartMogul has done an incredible job of covering all the metrics that you could possibly want to see. Where it falls short is letting you break these metrics down in the way thatâs most useful for your business.
ChartMogul supports breakdowns by Plan. If your company is anything like ours, youâll quickly end up with dozens of plans as you iterate on your pricing, allow all sorts of contract lengths (e.g. monthly vs annual). To deal with this, ChartMogul helpfully lets you create Plan Groups.
For example, you can put all 20 of your self-serve Stripe plans into a âSelf-serveâ group and your enterprise plans into an âEnterpriseâ plan group, and then see your MRR breakdown by âSelf-serveâ vs âEnterpriseâ. This is useful, but keeping Plan Groups up-to-date as your Stripe setup evolves is very cumbersome and error-prone.
In reality, there are lots of other ways you might want to slice your revenue data:
- By source â what proportion of my ARR comes from channel partners?
- By segment â what proportion of my ARR comes from VC-backed companies?
- By behaviour â what proportion of my ARR comes from users that have connect to QuickBooks?
To get these breakdowns, you need to be able to join your Stripe data with the rest of your customer data (e.g. âsourceâ, âsegmentâ), and youâll need a tool that lets you slice and dice in a fully flexible way. ChartMogul has a concept of 'custom attributes' but these attributes need to be set manually, which is time-consuming and easy to mess up.
On top of all this, it's unlikely that your Stripe data will be perfectly clean, and there will be cases where you have multiple Stripe IDs for the same customer. Like with custom attributes, ChartMogul has functionality for 'merging customers' but this operation can't be undone (easy to mess up) and ChartMogul shouldn't be the source of truth for these customer mappings, since you'll want to use them elsewhere in your reporting as well.
Example: Partnerships ARR
We recently started partnering with fractional CFO firms, who use Causal with their clients. Given that we were spending a lot of internal resources on this programme, it was important to understand how much it contributes to our ARR, as well as see which fractional CFO partners were driving the most clients (and therefore, revenue) to Causal. This required joining our Stripe data to extra fields from our data warehouse (Snowflake), which wasn't possible in ChartMogul.
Custom calculations
To make our ARR data actionable, we needed to be able to combine it with other sources and metrics:
- Customer acquisition cost (CAC): to calculate this, we needed to divide âNew Customersâ by our sales and marketing spend from QuickBooks.
- Burn Multiple:Â Net Burn (from QuickBooks)Â divided by Net New ARRÂ (from Stripe)
- CACÂ payback period:Â CACÂ (as above)Â divided by ACV (from Stripe)
Custom visualisations
Once your numbers are calculated, you need to visualise them. ChartMogul does an okay job at this â for each metric, theyâve picked a sensible chart type. But if you want to present your numbers in your own way, and inevitably you will want to do this, then youâll need to export your data into a spreadsheet and set up your custom charts.
Price scaling
Most ARR reporting tools charge based on your revenue â the more money you make, the more you pay them. This starts to get steep as you get close to $5m ARR and beyond, where youâll be paying $1,000+ each month to get your metrics:
Our Causal ARR reporting setup
Our ARR reporting is now done fully in Causal, in the same place as we do the rest of our financial reporting and general BI.
Custom segments
Causal connects directly to our Snowflake instance, which is our source of truth for all data. This includes our Stripe data and the rest of our customer data.
Having this all in Causal lets us join data sources together, so that we can segment our Stripe ARR data by fields that come from our enriched customer tables.
Custom calculations
Weâve built custom ARR calculation logic using Causalâs formulas. This is much nicer than building logic in SQL or in Excel:
- Unlike Excel, Causalâs formulas are human-readable and automatically apply across âdimensionsâ, so a single formula generates a metric across all of our 100s of customers, and across every month of our model
- Unlike SQL, Causal is built to work with time-series data so the logic in Causal is much simpler than it would be in SQL
Custom visualisations
With all the data in Causal, weâre free to create whatever kind of output we want. This is how we like to look at Expansion vs Churn + NDR:
Bonus: out-of-the-box wizard
đ We just launched our Stripe wizard â this gives you the same out-of-the-box metrics that a SaaS reporting tool does, but since itâs in Causal, you can customise your report incrementally as you need to do, and link it to the rest of your data as well.
Conclusion
Stripe is fine for ARR reporting as you get your first customers, but once your business is off the ground youâll need more insight into important metrics.
Tools like ChartMogul are good, but youâll quickly need to move away.
With Causalâs new Stripe wizard, you can get the simplicity of out-of-the-box metrics (like ChartMogul) but the flexibility to do custom calculations and segmentation as your business evolves.
â