Case Studies

How a KYC & Identity Infrastructure Company Stopped Losing Expansion Revenue It Didn't Know It Had

A 200-person identity verification platform grew multi-product adoption from 34% to 51% of its enterprise base, surfaced 3× more expansion opportunities per quarter, and cut time-to-identify a cross-sell from weeks to days, without adding headcount.

"We knew there was more revenue in our existing accounts. We just couldn't see it, and when we could, it was usually too late."

— Head of Revenue, Identity Verification Platform


The Setup

This company does one thing exceptionally well: it helps banks, NBFCs, brokerages, and digital platforms onboard customers faster and more compliantly than they could on their own. Over a decade in market, they'd built a product suite that covered nearly the entire compliance and verification stack: eKYC, Video KYC, face authentication, AML screening, bank account verification, OCR, KYB, Aadhaar eSign, and more.

Their AI verification engine processed hundreds of millions of checks a year. Their pass rates were class-leading. Clients like large telecom operators, major fintech lenders, and securities platforms trusted them at scale.

From the outside, the revenue story looked strong. New logos were coming in. Retention was solid. The product kept getting better.

But inside the revenue org, something wasn't adding up.


The Problem Nobody Had Time to Name

The team was about 25 people (salespeople, customer success managers, and key account managers) spread across a client base of 200+ enterprise accounts. Each account had its own contract structure, its own pricing logic, its own implementation history, and its own set of modules they had or hadn't adopted.

The product had ten-plus modules. Most clients were using two or three.

That gap between what clients were using and what they could have been using represented real revenue. Not theoretical revenue. Real, closeable expansion revenue sitting in accounts the team already owned.

The problem wasn't that the team didn't want to go after it. The problem was structural.

Twenty-five people. Two hundred accounts. Ten modules. The math didn't work.

A KAM managing fifteen accounts can stay on top of the relationship. They can take the quarterly call, respond to support escalations, handle the renewal conversation. What they cannot do, not consistently, not across fifteen accounts simultaneously, is:

  • Track what each client is or isn't using across ten modules
  • Notice when usage patterns suggest an adjacent need
  • Know that a client's competitor just expanded into a segment requiring AML screening
  • Cross-reference all of that against what the account hasn't yet bought

That kind of analysis requires time nobody had. So it happened occasionally, when someone remembered, when a client happened to ask, or when a KAM who'd been working an account long enough had the context to see the gap intuitively.

Expansion was happening. It was just happening by accident.

The account that made it real

There was an account the team knew well: a mid-size digital lending platform that had come in two years earlier for eKYC and face authentication. Smooth implementation. Happy client. Good relationship with the KAM who owned it.

That KAM moved to a new vertical internally.

The replacement KAM inherited the account in HubSpot: company name, contract value, renewal date, a few call notes. What wasn't in HubSpot:

  • Why bank account verification had been excluded from the original scope (a pricing conversation that never got resolved)
  • That the client had mentioned interest in AML screening on a call eight months earlier
  • That their contract renewal was now eleven weeks away

The client had started evaluating a competing AML vendor two months prior. Nobody on the team knew. When the topic finally came up on a routine check-in, the competitor had already run a POC.

The deal wasn't lost yet. But the position was weak, and it didn't need to be.

"The issue wasn't that we missed the account. We knew the account. The issue was that what we knew about it lived in people's heads, not in any system we could act on."

— Head of Revenue

Three other things making this harder

Beyond the headcount math, there were structural issues that compounded the problem.

Pricing complexity. Every enterprise client had negotiated their own terms: volume thresholds, bundled discounts, usage-based structures. This made it hard to quickly model what an expansion conversation would even look like for a specific account. Prep time for a cross-sell pitch could easily run three to four hours. That's before anyone picks up the phone.

Context fragmentation. The intelligence that existed about each account was scattered. HubSpot had the deal history, product usage data lived in a separate system, pricing was in spreadsheets, and the implementation nuances were often only in someone's memory or buried in a Slack thread from a year ago. No one had a full picture. Everyone had a piece.

No early warning system. Opportunity signals a client expanding into a new geography, a regulatory change affecting their onboarding flow, a usage dip suggesting they might be testing alternatives existed in the data. Nobody was watching for them.


What Changed When INCERTO Was Deployed

INCERTO wasn't deployed to generate reports. It was deployed to act.

The system connected across the data sources the revenue team already had (HubSpot records, product usage logs, contract files, pricing sheets, implementation notes) and built a living picture of each account. Not a snapshot. A continuously updated map of what was true about each relationship, what had changed, and what that implied.

But the more important part was what it did with that picture.

Pulling context out of people's heads

One of the first things the system did was ask questions. Structured ones, routed to the right people: the KAM who'd been on a call six months ago, the solutions engineer who'd scoped the original implementation, the finance contact who knew why a pricing conversation had stalled.

The answers got logged in a structured decision trace attached to the account, not in a notes field that nobody reads. So when a new KAM inherited a client, or when a cross-sell opportunity was being prepped, the context was actually there. Why bank account verification had been left out. What the client's compliance team had said about AML. What a competitor had pitched them on at the last industry event.

Over time, account knowledge stopped being personal. It became institutional.

Opportunities started surfacing before someone thought to look

The system ran continuously, not quarterly, not during review cycles.

When a client's usage of face authentication spiked in a way that typically preceded a request for deepfake detection, a signal surfaced. When an NBFC account's contract renewal was ten weeks out and they were still running bank account verification through a third-party vendor, a flag went up. When a brokerage client that had been using eKYC only started expanding into B2B onboarding (a pattern their usage data suggested before anyone said it explicitly), an opportunity was generated and routed to the relevant KAM with context already attached.

The KAM didn't have to find the opportunity. It found them.

The team's job shifted, but didn't shrink

This is worth being specific about, because the expectation going in was that automation would free up time. That turned out to be only partially true.

KAMs were not spending less time on accounts. They were spending the same time (around six hours per account per month) but the work looked different:

  • Before: Pulling usage reports, chasing context from colleagues, manually reviewing contract terms before a renewal call
  • After: Understanding the client's business, preparing a tailored proposal, running the actual expansion conversation

The system handled the preparation. The humans handled the relationship.

That's a harder thing to put in a metric. But it's the change that made the metrics possible.


The Results: Five Metrics, Three Honest Outcomes

The team tracked five things they cared about. Here's what actually happened.

MetricBeforeAfterMovement
Expansion opportunities identified per quarter8-10 accounts (manual, review-cycle dependent)31 accounts surfaced automatically✓ Moved significantly
Multi-product accounts (2+ modules active)34% of enterprise base51% of enterprise base✓ Moved significantly
Time to identify a cross-sell opportunity3-4 weeks (account review cycles)4-6 days✓ Moved significantly
Expansion revenue as % of new ARR18%26%~ Moved partially
KAM time spent on account prep per month~6 hrs/account~6 hrs/accountDid not move

On the three that moved

The jump in expansion opportunities identified (from roughly eight to ten accounts per quarter surfaced manually, to thirty-one surfaced automatically) was the most immediate change. It showed up within the first six weeks. The system was finding things the team had no bandwidth to find on their own.

Multi-product adoption moving from 34% to 51% of the enterprise base took longer. It required the team to actually work the opportunities that were being surfaced, and some of those conversations took months. But the direction was clear, and it held.

The reduction in time-to-identify (from three to four weeks down to four to six days) was largely invisible to the team, which is probably the right sign. It stopped feeling like something that required effort to initiate.

On the one that moved partially

Expansion revenue as a percentage of new ARR went from 18% to 26%. That's meaningful, but it fell short of where the team had hoped to be.

The reason, when they looked at it honestly: the system was surfacing opportunities well, but the team was still learning how to close them. Multi-product conversations with enterprise clients are different from new logo conversations: different stakeholders, more complex pricing, a different kind of sell. The skills needed to run those deals well were still developing.

The pipeline got healthier. The conversion rate on expansion deals is the next problem to solve.

On the one that didn't move

KAM time spent on account prep per month didn't change. It stayed at roughly six hours per account.

Initially this looked like a failure. It wasn't.

The KAMs weren't doing less work. They were doing better work. The hours that used to go toward pulling reports, chasing context, and trying to understand an account before a call now went toward the parts of the job that actually require a human: reading the client's situation, preparing a relevant pitch, running the conversation. The system absorbed the mechanical work. The KAM's time got more valuable, not shorter.

This wasn't the outcome anyone had predicted. It's probably the one that will compound the most over time.

"I thought we'd get time back. We didn't. But the time we already had started going somewhere useful, which turns out to matter more."

— Senior KAM


What Actually Changed

The metrics are real, but they're not the whole story.

Before INCERTO, expansion at this company worked like a lot of things work at fast-scaling B2B companies: through effort, memory, and the initiative of individuals who happened to be paying attention at the right moment. It produced results. It also produced inconsistency, and a hard ceiling, because there are only so many people, and only so many hours, and the accounts just kept coming.

What changed wasn't that the team got bigger. It was that the system started doing the part of the job that doesn't require a person (the continuous scanning, the signal detection, the context assembly, the preparation) so that the people could do the part that does.

Account knowledge stopped evaporating when someone changed roles. Pricing context stopped living in one person's inbox. Expansion opportunities stopped depending on someone being in the right meeting at the right time.

The company still has a small revenue team relative to its account base. That's unlikely to change quickly. But the gap between what that team can see and what they can act on has closed considerably. And the gap between what clients are using and what they could be using (the one that represented real, uncaptured revenue) is starting to close too.

"The product suite was always there. The clients were always there. We just couldn't connect the two at the speed the business needed. Now something is working on that problem every day, even when we're not."

— Head of Revenue