Evaluating a software company requires looking beyond surface-level revenue figures into the mechanics of how the business retains customers, defends its market position, and maintains the health of the product itself. Whether you’re considering an investment, an acquisition, or a strategic partnership, the evaluation breaks down into three core areas: financial performance, technical quality, and competitive durability. Getting all three right gives you a reliable picture of what the company is actually worth and where it’s headed.
Start With Revenue Quality, Not Just Revenue Size
Total revenue tells you how big a software company is. Revenue quality tells you whether it will stay that way. The most revealing financial metrics for a software business measure how predictable and sticky the income stream is, not just how large.
Net revenue retention (NRR) measures whether existing customers spend more over time, after accounting for cancellations and downgrades. An NRR above 100% means the company is growing even without acquiring a single new customer. According to SaaS Capital’s 2026 benchmarking data, the median NRR for bootstrapped SaaS companies with $3 million to $20 million in annual recurring revenue (ARR) is 103%, while top-performing companies (90th percentile) hit 117.9%. If the company you’re evaluating falls below 100%, existing customers are shrinking the revenue base, and the business depends entirely on new sales to grow.
Gross revenue retention (GRR) strips out expansion revenue and isolates pure churn. It answers a simpler question: what percentage of last year’s revenue stuck around? The median GRR in that same benchmarking set is 91%, with top performers retaining 100%. A GRR below 85% is a warning sign that customers are leaving at a rate that will be expensive to replace.
Revenue growth rate matters, but context matters more. The median growth rate for bootstrapped SaaS companies in the $3M to $20M ARR range is 15%, while the 90th percentile grows at 42.3%. A company growing at 25% with strong retention is in a healthier position than one growing at 40% while hemorrhaging customers. Always pair growth with retention metrics.
Understand the Unit Economics
Unit economics reveal whether each customer relationship is profitable enough to sustain the business long term. Two numbers matter most here.
Customer acquisition cost (CAC) is the total sales and marketing spend divided by the number of new customers acquired in that period. Customer lifetime value (LTV) is the average revenue a customer generates over their entire relationship, minus the cost of serving them. A healthy software company typically shows an LTV-to-CAC ratio of at least 3:1, meaning each customer generates three times what it cost to acquire them. Below that, the company may be spending unsustainably to grow.
Also look at how long it takes to recoup the acquisition cost of a customer, sometimes called the CAC payback period. Anything under 12 months is strong. If the payback period stretches beyond 18 to 24 months, the company needs significant capital to fund growth, and any increase in churn becomes painful fast.
Assess the Competitive Moat
A software company’s long-term value depends on how defensible its position is. Revenue and growth rates can look identical for two companies, but the one with a stronger moat will be worth substantially more because it’s harder to displace. Here are the moat types that matter most in software.
Switching costs are one of the most powerful defenses a software company can have. When a product becomes deeply embedded in a customer’s workflow, with custom configurations, integrations, and trained employees, even a slightly better alternative may not justify the pain and expense of switching. Enterprise software with lengthy onboarding processes and deep workflow customization tends to build this moat naturally.
Network effects exist when the product becomes more valuable as more people use it. A collaboration platform where every new user makes it more useful for existing users, or a marketplace where more sellers attract more buyers, creates a self-reinforcing growth loop that competitors struggle to replicate. In data-heavy software, this often shows up as a data network effect: more usage generates more data, which improves the product’s models or recommendations, which attracts more users.
Cornered resources include proprietary datasets, specialized domain knowledge, or exclusive partnerships that competitors cannot easily obtain. A software company that has accumulated years of real-world workflow data in a niche industry has built something that cannot be replicated simply by writing better code.
Counter positioning occurs when a software company’s approach is structurally difficult for incumbents to copy because doing so would cannibalize their existing business. AI-native startups competing against traditional per-seat SaaS companies sometimes benefit from this: the incumbent’s pricing model depends on more users, while the challenger’s model automates those users away.
When evaluating moat strength, ask a simple question: if a well-funded competitor built a similar product tomorrow, how long would it take them to reach parity? If the answer is “a few months,” the moat is thin. If it’s “years, and they’d still be missing the data and integrations,” you’re looking at real defensibility.
Dig Into the Technology
A software company’s codebase is its factory. If the factory is falling apart, no amount of sales momentum will save the business long term. Technical due diligence is where many evaluations go wrong, because financial buyers often skip it or treat it as a formality.
Technical debt refers to the accumulated cost of shortcuts and suboptimal decisions made during development. Every software company carries some technical debt, and that’s normal. What matters is whether the debt is managed or compounding. IBM defines it as “the future costs associated with relying on shortcuts or suboptimal decisions made during software development,” and it shows up in several forms.
Architectural debt is the most expensive kind. If the system was built as a single monolithic application with tightly coupled components, adding new features or scaling to handle more users becomes progressively harder and slower. Companies built on modern, modular architectures can evolve their product much more efficiently.
Code debt results from inconsistent coding practices, duplicated logic, poor documentation, and unclear naming conventions. It makes the product harder to maintain and slows down every future developer who touches it. Look for whether the company uses automated code quality tools and linting to catch problems early.
Security debt is especially critical. When teams skip encryption best practices, delay vulnerability patching, or lack automated security testing, the product carries hidden compliance and breach risks that can become very expensive very quickly.
One useful benchmark: Shopify dedicates 25% of its development cycles to addressing technical debt through dedicated “debt sprints.” You don’t need to match that number exactly, but a company that allocates zero time to reducing technical debt is almost certainly accumulating problems faster than it’s building features.
Evaluate the Team and Development Velocity
The people building the product matter as much as the product itself. Look at how the engineering team is structured and how quickly it ships. Key questions to investigate include how frequently the company releases updates, whether it uses continuous integration and deployment pipelines, and how large the backlog of unresolved bugs and feature requests has grown.
A company with efficient DevOps practices can push code updates daily or weekly with minimal manual intervention. A company still relying on manual deployment processes and outdated infrastructure will struggle to keep pace as competition intensifies. This infrastructure and DevOps debt, as it accumulates, creates bottlenecks that slow down everything from bug fixes to new feature launches.
Also pay attention to process debt: unclear workflows, poor internal documentation, and missing collaboration practices. These problems don’t show up on a balance sheet, but they directly impact how fast the team can deliver and how smoothly new hires can get productive. High employee turnover in engineering is often a symptom of severe process debt.
Examine the Customer Base
Customer concentration is one of the most underappreciated risks in software businesses. If a single customer accounts for more than 15% to 20% of total revenue, the company’s financial stability depends heavily on that one relationship. Losing it could trigger a crisis. A diversified customer base with no single client representing an outsized share is far more resilient.
Beyond concentration, look at the types of customers the company serves. Enterprise contracts with multi-year terms and annual prepayment provide more predictable revenue than month-to-month subscriptions with small businesses. But enterprise-heavy companies also face longer sales cycles, more complex onboarding, and greater risk from any single contract loss.
Customer satisfaction data, including Net Promoter Scores, support ticket trends, and third-party review ratings, gives you a window into how the product is actually perceived by the people using it daily. A company with strong financials but declining customer satisfaction is likely heading toward retention problems that haven’t shown up in the numbers yet.
Check the Market and Growth Potential
A great software company in a shrinking market will eventually run out of room. Evaluate the total addressable market and, more importantly, whether the company is positioned to capture a growing share of it. The most valuable software companies operate in markets with natural tailwinds, where industry trends push more potential customers toward the type of solution they offer.
Look at how the company prices its product relative to the value it delivers. Software businesses with usage-based or value-based pricing models often scale revenue more naturally as customers grow, compared to flat-rate pricing that caps revenue per account. Pricing power, the ability to raise prices without losing customers, is a strong signal that the product delivers genuine value that customers can’t easily find elsewhere.
Finally, consider adjacent markets the company could expand into. A product that solves one problem well for a specific customer base often has a natural path to solving related problems for the same customers, expanding revenue without the full cost of acquiring new ones. That expansion potential is a meaningful part of long-term value.

