Article

Why SaaS Data Is Harder Than Everyone Pretends

The metric did not get harder. The data underneath it was always this way. The board meeting just made it impossible to ignore.

Christie Pronto

April 28, 2026

6 Min

A finance leader sits down to calculate NRR for the quarterly board deck. 

The formula is straightforward. 

Twenty minutes later they are staring at three different versions of the same customer across four systems, a churn number that changes depending on which table they pull from, and an MRR figure that does not match what the CRM says.

The metric did not get harder. 

The data underneath it was always this way. 

The board meeting just made it impossible to ignore.

The Gap Between the Formula and the Reality

SaaS metrics read cleanly in a benchmark report. MRR, NRR, churn, expansion revenue. The formulas are well documented, widely referenced, and taught in every SaaS finance course that exists.

What those formulas do not account for is the state of the production database sitting underneath them.

Growing SaaS companies do not have clean data. 

They have accumulated data, layered across systems that were added at different stages of growth, each built with its own logic for how a customer, a subscription, or a transaction gets recorded. 

The billing system was implemented in year one. The CRM came in year two when the sales team grew. The product database evolved alongside the product itself. The support platform got added when the customer base reached a size that required it.

None of those systems were designed to talk to each other cleanly. They were designed to do their specific job, and they do it well. The problem surfaces when someone tries to build a metric that requires all of them to agree on the same customer at the same point in time.

That is the operating reality of almost every SaaS company between $5M and $100M ARR, and it is more common than the tools built to solve it would suggest.

The Customer Identity Problem

A customer at a SaaS company does not exist in one place.

They live in the CRM, the billing system, the product database, the support platform, and sometimes a spreadsheet someone built during implementation that quietly became a source of truth for one department and nobody else. 

Each system carries its own version of who that customer is, when they started, what they pay, and whether they are currently active.

The CRM might show an account as active because the contract has not expired. The product database might flag the same account as at-risk because login activity dropped off three weeks ago. 

The billing system might show a different MRR figure because the last upgrade was applied mid-cycle and the proration logic differs from what finance is using.

All three are technically correct. None of them agree.

Reconciling those versions is not a one-time data cleaning task. 

It is an ongoing operational reality that shapes every metric the business produces, and it compounds in complexity as the company scales and adds more systems, more customers, and more edge cases that none of the original system configurations anticipated.

Where Specific Metrics Actually Break Down

The metrics that look simplest on paper carry the most hidden complexity in practice.

MRR assumes the business knows exactly what counts as recurring revenue. ProfitWell surveyed 50 SaaS companies on how they calculate MRR and found that 1 in 5 were removing some form of expense from the equation, 2 in 5 were including trial or free users, and a majority were incorrectly breaking down annual payments into monthly figures. 

These are judgment calls made by operators who have reasonable arguments for each decision and no universal standard to resolve the disagreement.

ARR carries the same problem at a larger scale. Research from Ordway Labs found that ARR definitions vary so significantly across SaaS companies that the same business could report a 30 to 40 percent variance in its number depending on which definition it applies. 

This is a fundamental disagreement about what the business is actually producing, and it makes benchmarking against industry standards nearly meaningless without knowing which definition was used to generate the number being compared.

Churn is where definitions become most contested internally. Gross churn and net churn measure different things and are not interchangeable. How a company handles paused accounts changes the number. Whether a seat reduction counts as partial churn or a contraction event shifts the story entirely. 

Most SaaS companies have an internal answer to each of these questions. Very few have it documented anywhere a data system can consistently apply it.

Active users may be the most elastic definition in the industry. What counts as active depends on the product, the business model, the stage of the company, and sometimes the audience the number is being presented to. 

It drifts over time without anyone making a formal decision to change it, and the drift goes unnoticed until two people on the same team reference the metric in the same meeting and produce different numbers.

What Off the Shelf Tools Do With This

Most tools respond to this complexity in one of two ways, and neither works on a real production database.

The first approach is to assume the data is clean and apply a universal definition to every metric. 

The tool produces answers that look authoritative because they are formatted with confidence. They hold up until someone in a board meeting asks a follow-up question that requires understanding the logic behind the number, and the person who pulled it cannot explain it.

The second approach is to infer meaning from the structure of the schema, guessing at relationships based on column names, table connections, and patterns the tool has seen in other databases. 

This works reasonably well on simple, well-organized data. It falls apart on the kind of organically grown, multi-system data that most SaaS companies are actually running on, where column names reflect decisions made four years ago by a developer who is no longer at the company.

What both approaches share is an inability to account for the fact that churn at one company is not the same calculation as churn at another. 

The definitions, the edge cases, and the business logic that make a metric meaningful are specific to each organization. 

A tool that treats every database the same is not a data intelligence tool. It is a query tool with a confidence problem.

A tool that treats every database the same is not a data intelligence tool. It is a query tool with a confidence problem.

Why This Erodes Trust More Than Anything Else

The people making decisions on these numbers are CS leaders, finance leads, and RevOps managers. They are smart, experienced operators. They are not data engineers, and they were never expected to be.

When the churn number in the CS platform does not match the churn number in the board deck, they do not always know why. They know something is wrong. They do not know which number to defend and which one to investigate. That uncertainty does not stay contained to the moment it surfaces.

Teams start hedging their presentations. 

Finance adds footnotes explaining which methodology was used and why the number might look different from last quarter. CS stops referencing the retention number in leadership meetings because the last time they did, someone questioned it and the conversation spent forty minutes on methodology instead of action. 

RevOps builds a reconciliation process that runs every month before reporting because the systems have never agreed without it.

The data still exists. The tools still run. The dashboards still update. 

What erodes is confidence, and a team that has lost confidence in its data does not ask more questions. It asks fewer, moves more slowly, and defaults to instinct in exactly the situations where the data should be doing the most work.

That behavioral shift is more damaging than a slow queue. A slow queue delays a decision. 

Eroded data trust reshapes how an entire team relates to its own business intelligence, and recovering it requires more than a faster tool.

How Teela Handles the Complexity

Teela approaches SaaS data the way it actually exists rather than the way a formula assumes it should.

During onboarding, the system maps the schema, identifies relationships across systems, and builds a vocabulary layer where the team defines how their business specifically handles the questions that every SaaS company answers differently:

  • What counts as an active customer in this product
  • How churn is calculated here, including the edge cases and the paused account logic
  • Which version of a customer record to trust when multiple systems disagree
  • How annual contracts get recognized in MRR and what happens to the number mid-cycle

Those definitions get documented in the system and applied consistently to every question the team asks from that point forward. 

When a CS leader asks why NRR slipped last quarter, the answer reflects the company's actual logic rather than a generic formula that ignores how the business works.

Every question asked builds on that foundation. Definitions sharpen over time. Edge cases get refined as new situations surface. 

The intelligence Teela holds about how this specific business measures itself compounds rather than resetting each time someone new needs a number.

What Changes When the Definitions Are Settled

Teams stop arguing about which number is right before they can begin the conversation about what the number means.

The finance lead presents NRR without a methodology footnote because everyone already agreed on the definition. 

The CS leader references retention in the leadership meeting because the number has been tested, questioned, and confirmed. RevOps stops running the monthly reconciliation because the systems are drawing from the same logic.

SaaS data does not become simple. 

The schema complexity, the customer identity problem, the metric definitions that vary by edge case, none of that disappears. 

What changes is that the complexity gets absorbed into the system during onboarding rather than resurfacing in every report, every meeting, and every board deck where someone needs a number they can actually stand behind.