← All thinking
Note 165 min readThe Trapped-Asset Principle

Buying the Same Revenue Twice

“Find me another million” is four different assignments wearing the same sentence. Here’s where I’d look, and in what order.

If I walked into your $20M SaaS company tomorrow morning and you said, “Matt, find me another million dollars,” I wouldn’t have an instant answer for you. I’d have a stack of diagnostic questions. Smart ones, and probably a few that sound embarrassing in their simplicity.

Because what kind of million dollars are we actually talking about? Do you want a million in net new recurring ARR? Do you want cash in the bank this calendar year, or are you hunting for bottom-line profit? Those are completely different assignments. And just as importantly: how much are you willing to change your operating model to get it? Some CEOs are happy to spin up high-touch professional services. Others would rather leave money on the table than run a services agency.

Once that baseline is on the table, I start in the exact same two places every time. Churn first, then account expansion.

Building a brand-new acquisition engine takes twelve months of pain and capital. Finding trapped revenue among people who’ve already decided to trust you takes a fraction of that time. They bought your software. They handed you a real business problem to solve. What I want to know is what happened to them next.

Start with the revenue that’s already walking out the door

You can have an outbound sales engine running on all cylinders and still be buying the exact same revenue over and over again. New customers arrive through the front door, old ones quietly exit out the back, the entire company works harder than it did last year, and the annual revenue number lands exactly where it started.

That’s an expensive way to stand still. It’s a treadmill on steroids.

I spent four years building a first-party data activation platform at GrowthLoop, and churn prediction was a major use case. The lesson that stuck with me was refusing to rely on any single customer health metric. We had to cross-reference product telemetry against the money: feature engagement on one axis, spending patterns on the other.

The accounts you really need to lose sleep over are the ones that look perfectly healthy on one axis while quietly deteriorating on the other. That divergence is where real disengagement shows up first, while you still have enough runway to do something about it. A cancellation ticket isn’t the beginning of a problem. It’s the final sentence in a six-month story. A quiet account might be a satisfied customer, or it might be a dead account that simply hasn’t remembered to cancel its annual contract yet. Looking at logins just tells you somebody logged in.

Why does onboarding take six months?

I regularly talk to leadership teams who casually tell me it takes six to twelve months for a new enterprise client to actually adopt their product.

I have a really hard time accepting that. You convinced an executive to buy. They navigated procurement, signed the contract, and wired the deposit. And now they’re waiting three quarters of a year to see a single dollar of value from that decision?

I start wondering how long it takes an aggressive competitor to notice that gap. The second one does, you’re completely screwed.

Sometimes there are legitimate technical hurdles. But “enterprise software is complicated” is usually a lazy excuse that shuts down an investigation before anyone examines the work. In my experience, it doesn’t take much digging before someone in the room admits that a process measured in months could easily be compressed into two weeks. The question that gets you there is embarrassingly direct: why does this take so long?

How much of that onboarding timeline is necessary engineering, and how much is a ticket gathering dust in someone’s queue? Did an edge-case requirement from one difficult customer two years ago quietly become mandatory for every client who signs up today? I look for the smallest unit of tangible value a buyer can experience, and then measure whether delivering it on day ten fundamentally changes retention.

Expansion starts with what they do the second they log off

Once churn is stabilized, I find the cohort of customers getting massive value and watch what they do the moment they step outside your product.

Where are they exporting your CSVs? What desktop spreadsheet do they immediately paste the data into? Who are they hiring on Upwork to finish the workflow your platform left half-done? What keeps showing up in support tickets that someone in product dismissed as out of scope?

If customers are already living inside your software, you have an incredible vantage point on the problems sitting right next door. That’s a massive commercial advantage most founders leave on the floor.

That doesn’t mean every customer request deserves a feature. A demanding client will happily turn your product roadmap into their custom IT wishlist if you let them. So I look for pattern recognition across the customer base. Are twenty accounts struggling with the exact same friction? Does that friction cost them enough that they’d write a check to eliminate it, and are you uniquely positioned to solve it?

The clues are always scattered across the org chart. Sales hears the feature a prospect would gladly pay an extra twenty grand for. Customer success watches the workaround being invented two weeks after launch. Support answers the exact same complaint three times a day. Connect those dots, and you’re looking at an expansion banger that practically sells itself.

Freeing up time isn’t a dollar of ARR

There’s often hidden money in the unglamorous operational friction surrounding your revenue too. How many manual touchpoints does a contract renewal require? Why does a routine subscription change require an engineering pull request?

Just be ruthless about what kind of money that actually is. Cutting ten hours of manual work a week creates operational capacity. It only becomes bottom-line savings if payroll actually drops, and it only becomes revenue if you deploy that freed-up capacity to capture demand you couldn’t serve yesterday.

Treating freed-up hours as realized ARR is magic-spreadsheet accounting, and it’s pure nonsense.

Make the number survive contact with reality

Let’s say, purely for the sake of argument, that you could retain $300,000 of ARR that was on track to churn, and sell a $10,000 annual add-on to seventy existing customers. On a slide, that’s your extra million dollars.

Now the real diagnostic work begins: which specific accounts make up that three hundred grand? Why do we believe they’re planning to walk? Who are the seventy customers targeted for the add-on, and has a single one of them said out loud that they’d pay for it?

If an opportunity evaporates the second you ask for actual customer names, it was never an opportunity. It was just a hallucination in a forecast.

So if you ask me to help find another million dollars, I’m not going to pitch you on a speculative new marketing campaign. I’m going to start by getting much closer to the customers who are already paying you. Where does value take too long to arrive, and what are they still forced to do for themselves after they’ve written the check?

Find those answers first. Then we can talk about the next million.

Know where this has to go, and not how?

Twenty minutes. Tell me where you want this company to be in two years and I’ll tell you what I’d go look at first.