TAM, SAM and SOM for B2B SaaS: build them from your CRM, not a slide

For a B2B SaaS sales team, TAM is every company that matches the pattern of customers you already win. SAM is the part of that list your fit score says is worth pursuing. SOM is the fitted accounts your reps can properly work this month because they show a reason to buy now. Build all three from your CRM.

Key takeaways

  • A top-down TAM from an analyst report tells investors how big a category is; it doesn’t tell a rep which 40 companies to contact on Monday.
  • Your closed-won deals are the best evidence of fit you have, and they’re where the Market layer of the HeyThere GTM System starts. Three years of wins shows which industries, sizes, regions and tech stacks actually buy from you.
  • SAM is a scored list, not a percentage: accounts that match your winning pattern above a threshold you’ve tested against your past wins and losses.
  • SOM is limited by two things at once, rep capacity and buying timing, so size it monthly as the smaller of “accounts your reps can work” and “fitted accounts showing a signal”.

Why a slide TAM doesn’t help your sales team

Most TAM, SAM and SOM numbers are built for a pitch deck: an industry revenue figure, cut by region and segment, then by a share you hope to capture. Salesforce’s own guide to TAM, SAM and SOMSource 1 calls this the top-down method. It notes that the bottom-up method, which starts from real sales figures, tends to be more accurate but takes more research.

The problem for a sales leader is that a top-down number has no names in it. A figure such as “a R2 billion market” (a made-up number, for illustration) can’t be loaded into a CRM, assigned to a rep or checked against last quarter’s pipeline. Nor can it tell you whether your market is running out, which is usually the real question.

A sales-team TAM is a list of accounts. That’s the shift this guide makes, and it’s how the Market layer of the HeyThere GTM System works. The market is built as rows you can score, assign and refresh, not as a number on a slide.

How TAM, SAM and SOM are built from your CRM
TAM, SAM and SOM built from your CRM, in five steps A five-step flow. 1: find the closed-won pattern, the fit rules from three years of wins and losses. 2: TAM, every company that matches the pattern. 3: a fit score, tested on past wins and losses. 4: SAM, the accounts above the tested threshold. 5: monthly SOM, the smaller of rep capacity and SAM accounts showing a buying signal, recalculated every month.
TAM, SAM and SOM built from your CRM, in five steps A five-step flow. 1: find the closed-won pattern, the fit rules from three years of wins and losses. 2: TAM, every company that matches the pattern. 3: a fit score, tested on past wins and losses. 4: SAM, the accounts above the tested threshold. 5: monthly SOM, the smaller of rep capacity and SAM accounts showing a buying signal, recalculated every month.

Five steps, all from your own sales history. Only the last step, monthly SOM, changes every month.

How TAM, SAM and SOM are built from your CRM, as text:

  1. Closed-won pattern: fit rules from three years of wins and losses.
  2. TAM: every company that matches the pattern.
  3. Fit score, tested: checked against past wins and losses first.
  4. SAM: the accounts above the tested threshold.
  5. Monthly SOM: the smaller of rep capacity and signalled SAM, every month.

This matters more if you sell mainly in South Africa. A bottom-up count may land in the hundreds or low thousands of companies, not hundreds of thousands. When your whole TAM might fit in one spreadsheet, every account you miscount or ignore is a visible share of your future revenue.

Start from closed-won: find the pattern in who you actually win

Before you look outwards, look at what your CRM already knows. Pull every closed-won deal from the last three years (longer if your cycle is slow) with the account attached, and describe each customer on the same five or six attributes.

  1. Export your closed-won deals with company name, domain, close date, deal value and the “closed won reason” field if your team fills it in. HubSpot includes closed won reason and closed lost reason as default deal propertiesSource 2; many teams leave them blank, which is worth fixing now.
  2. Enrich each account with industry, employee band, region, number of sites or branches, and the relevant tech it runs (payroll system, CRM, ERP, whatever your product connects to).
  3. Add how the deal went: sales cycle length, deal size, and who signed. If you capture SPICED fields (Winning by Design’s SPICED framework: Situation, Pain, Impact, Critical event, Decision), add the pain and the critical event too.
  4. Group and count. Which industries account for most of your wins? Which employee bands close fastest and at the highest value? Which regions or tech stacks show up again and again?
  5. Do the same for closed-lost deals. A pattern only counts if it separates wins from losses. If 40% of your wins are in retail but so are 40% of your losses, retail isn’t a fit signal. It’s just where you’ve been selling.

The output is a short list of fit rules, each backed by a count. For example: “multi-site companies with 100 to 500 employees in logistics, healthcare or retail, running a local payroll system”. That sentence becomes your search query. For the full method, including which patterns are noise, see how to build your ICP from closed-won data.

Build the TAM from that pattern

Your TAM is every company that matches the broadest version of your fit rules, whether or not it’s in your CRM yet.

  • Company search tools. Clay’s Find Companies sourceSource 3, for example, filters by industry, company size, location, technographics and description keywords. It caps each search at 10,000 results, so split a large market into several searches.
  • Your own CRM. Every account already in your CRM that matches the pattern belongs in the TAM, including old leads and lost deals.
  • Local sources. Check how well your data tool covers smaller South African private companies before you trust its count. Where coverage is thin, industry association member lists, public tender registers and local company directories fill gaps.
  • Deduplicate on domain. The same company appears under three names across three sources. Domain is the most reliable key.

Score the TAM down to SAM

SAM is where most guides apply a percentage. Instead, score every TAM account on how closely it matches your winning pattern and keep the accounts above a threshold.

A simple fit score gives each attribute a weight based on how strongly it separated wins from losses in step one. Industry might carry 30 points, employee band 25, multi-site 20, tech stack 15 and region 10. An account that matches everything scores 100.

The step most teams skip is testing the score. Run it against your own history before you trust it on the rest of the market: your past wins should score well, and your past losses should score noticeably lower. If they don’t, the weights are wrong. When HeyThere builds this Market layer, the scoring model is tested on your own sales history, against your past wins, before it scores the wider market.

Set the SAM threshold where the test shows a clear gap between wins and losses. Every account above it is your SAM.

Test the score before you trust it
Scoring test: 81% of past wins score 70 or above, against 38% of past losses Example data for Rostervale, a fictional company. Bar chart of the share of past deals that score 70 or above on the fit score. Past wins: 81%, which is 52 of 64 deals. Past losses: 38% of 180 deals. The 43-point gap shows the score separates wins from losses, so 70 is set as the SAM threshold.
Scoring test: 81% of past wins score 70 or above, against 38% of past losses Example data for Rostervale, a fictional company. Bar chart of the share of past deals that score 70 or above on the fit score. Past wins: 81%, which is 52 of 64 deals. Past losses: 38% of 180 deals. The 43-point gap shows the score separates wins from losses, so 70 is set as the SAM threshold.

In the worked example below, 81% of Rostervale's past wins (52 of 64) score 70 or above, against 38% of its 180 losses. That gap is why 70 becomes the SAM threshold. Example data: Rostervale is fictional. About this data: Rostervale (fictional), for illustration only.

Not sure how much of this your team already has? The 3-minute signal gap scorecard asks ten questions about your market data, scoring and signals, and shows the three gaps to fix first.

SOM: fitted accounts with intent, capped by what your reps can work

SOM is where a sales-team version differs most from a pitch-deck version. In a deck, SOM is a market share you hope to reach in three to five years. For a sales team, it’s the set of accounts worth working now, and two limits apply at the same time.

Limit 1: rep capacity. A rep can only research, contact and follow up with so many accounts properly in a month. Gradient Works, a territory-planning vendor, suggests dividing a rep’s monthly prospecting hours by the hours each account needsSource 4. It says that, in its experience, reps rarely cover a book well beyond about 150 accounts at a time. Treat that as practitioner guidance from a vendor, not a benchmark. Your own number depends on how much of a rep’s week goes to prospecting: in Salesforce’s 2026 State of Sales surveySource 5 of 4,050 sales professionals in 22 countries, the average seller spent 40% of their time selling (industry data).

Limit 2: timing. Most of your SAM isn’t buying right now. Prof. John Dawes of the Ehrenberg-Bass Institute set out the 95-5 ruleSource 6 for the LinkedIn B2B Institute in 2021: “up to 95% of business clients are not in the market for many goods and services at any one time”. Companies change providers such as their main bank or law firm about once every five years on average. On that basis, only about 20% of business buyers are in the market over a year, and about 5% in a quarter (industry data, 2021). It’s a model, not a live measurement, but the logic holds: a perfect-fit account that just signed a three-year contract elsewhere isn’t in your SOM this month.

That’s why intent belongs in SOM. A buying signal (a new operations leader, a funding round, a new branch, a job ad for the role your product supports, a competitor’s contract coming up) moves a fitted account into the current window.

The monthly rule of thumb:

Monthly SOM (accounts) = the smaller of (reps × accounts each rep can properly work) and (SAM accounts showing a signal this month).

Monthly SOM is the smaller of two limits
Monthly SOM is the smaller of two limits: 104 signalled accounts against capacity for 160 Example data for Rostervale, a fictional company. Two bars on the same scale of accounts per month. Rep capacity: 160, four reps working 40 accounts each. SAM accounts showing a signal this month: 104. Monthly SOM is the smaller number, 104 accounts. The 56 accounts of spare capacity go to warming the highest-fit accounts with no signal yet.
Monthly SOM is the smaller of two limits: 104 signalled accounts against capacity for 160 Example data for Rostervale, a fictional company. Two bars on the same scale of accounts per month. Rep capacity: 160, four reps working 40 accounts each. SAM accounts showing a signal this month: 104. Monthly SOM is the smaller number, 104 accounts. The 56 accounts of spare capacity go to warming the highest-fit accounts with no signal yet.

Four reps can work 160 accounts a month, and 104 SAM accounts show a signal, so monthly SOM is 104. The 56 accounts of spare capacity go to warming high-fit accounts that have no signal yet. Example data: Rostervale is fictional. About this data: Rostervale (fictional), for illustration only.

If signalled accounts exceed capacity, rank them by fit and signal strength. If capacity is left over, use it to warm the highest-fit accounts that have no signal yet. To turn accounts into rand, apply your own opportunity rate and win rate from the CRM, not someone else’s.

A worked example: sizing TAM, SAM and SOM for a South African SaaS company

Fictional company, for illustration only. “Rostervale” is an invented South African workforce-scheduling SaaS with four quota-carrying reps, three years of CRM history and an average contract value of R72,000 a year. None of these figures are HeyThere or client results.

1. Closed-won pattern. Rostervale has 64 closed-won customers. 47 of them (73%) are multi-site businesses with 100 to 500 employees in logistics, healthcare or retail. Deals in that band close in about 70 days; deals outside it take twice as long and are half the size.

2. TAM. Company searches across data tools, Rostervale’s CRM and two industry directories find 3,800 South African companies with 50 to 1,000 employees in shift-based industries. TAM in rand: 3,800 × R72,000 = R273.6 million a year.

3. Scoring test. Rostervale scores its own history first. 52 of 64 past wins (81%) score 70 or above; only 38% of 180 closed-lost accounts do. The threshold is set at 70.

4. SAM. 1,150 of the 3,800 TAM accounts score 70 or above. SAM in rand: 1,150 × R72,000 = R82.8 million a year. 540 of those accounts are already in the CRM; 610 have never been contacted.

5. Monthly SOM. Each rep can properly work about 40 new accounts a month, so capacity is 160. This month, 104 SAM accounts show a signal. Monthly SOM is the smaller number: 104 accounts. The spare capacity of 56 goes to warming the highest-fit accounts with no signal yet.

6. SOM in rand. From its own CRM history, Rostervale turns about 10% of signalled, well-fitted accounts into opportunities and wins 25% of those. 104 × 10% × 25% ≈ 2.6 wins a month or, assuming a similar number of signalled accounts each month, about 31 a year. 12-month SOM in rand (won annual contract value, not accounts): 31 × R72,000 ≈ R2.2 million in new annual contract value.

The same market, drawn to scale
Rostervale’s market as nested sets: TAM 3,800, SAM 1,150, monthly SOM 104 accounts Example data for Rostervale, a fictional company. Three nested squares drawn to scale by area. TAM: 3,800 South African companies with 50 to 1,000 staff in shift-based industries, about R273.6 million a year at R72,000 average contract value. SAM: 1,150 accounts with a fit score of 70 or above, about R82.8 million a year; 540 are already in the CRM and 610 have never been contacted. Monthly SOM: 104 fitted accounts showing a buying signal this month, below the reps’ capacity of 160.
Rostervale’s market as nested sets: TAM 3,800, SAM 1,150, monthly SOM 104 accounts Example data for Rostervale, a fictional company. Three nested squares drawn to scale by area. TAM: 3,800 South African companies with 50 to 1,000 staff in shift-based industries, about R273.6 million a year at R72,000 average contract value. SAM: 1,150 accounts with a fit score of 70 or above, about R82.8 million a year; 540 are already in the CRM and 610 have never been contacted. Monthly SOM: 104 fitted accounts showing a buying signal this month, below the reps’ capacity of 160.

Rostervale's TAM of 3,800 accounts, SAM of 1,150 and monthly SOM of 104, drawn to scale by area. 610 of the 1,150 SAM accounts have never been contacted. Example data: Rostervale is fictional. About this data: Rostervale (fictional), for illustration only.

Two things stand out in the example. The 12-month SOM is under 3% of SAM. That’s what a number looks like once capacity and timing are applied, and it’s far more useful than a slide claiming a share of a category worth billions. And 610 fitted accounts have never been touched, which is a concrete answer to “are we out of leads?”.

Top-down vs CRM-built sizing at a glance

Question Top-down (slide) Built from your CRM
Where the number comes from Analyst reports and assumed percentages Your closed-won pattern applied to real company lists
Unit Rand value of a category Named accounts, then rand
How SAM is set A share of TAM A fit score, tested on your past wins and losses
How SOM is set A hoped-for market share over years The smaller of rep capacity and signalled SAM accounts, monthly
Tells you if the market is exhausted? No Yes: compare SAM with accounts already worked

Exhausted, or just badly timed?

Once your SAM is a list, count how many of its accounts your team has contacted in the last 24 months, and how many of those contacts coincided with a signal.

  • Most SAM accounts never contacted: you have headroom. The job is working the untouched fitted accounts, highest fit first.
  • Most contacted, few at a signalled moment: the market may not be exhausted at all. It may have been reached at the wrong time, repeatedly. This is the pattern behind “we keep contacting the same people every month until they’re ready”, and it’s what we call the signal and warming gap.
  • Most contacted, many at signalled moments, still no traction: your fit pattern may be too narrow, or the segment really is worked. That’s when adjacent segments or a new region come into the plan.

Your closed-lost deals sit inside this picture too: they’re SAM accounts that already showed intent once. Our guide to closed-lost deals shows how to triage them.

Common mistakes when sizing a SaaS market from CRM data

  • Using every customer as evidence of fit. Early customers won through the founder’s network or a heavy discount distort the pattern. Weight recent, rep-sourced wins more.
  • Skipping the losses. Without closed-lost data you can’t tell a fit signal from “where we happened to sell”.
  • Buying a bigger database to fix a small SAM. If the local market is small, more names of poor-fit companies add work, not revenue.
  • Ignoring capacity. A target list of 900 accounts for four reps who can each work 40 a month means 740 of them won’t be worked properly.

When this approach doesn’t fit

You need enough history for the pattern to mean something. With fewer than about 20 closed-won deals, or under a year of CRM data, the fit rules are guesses: start with a hypothesis and revisit after two more quarters. If your CRM data is patchy, the first step is an honest look at what’s usable, which is what a GTM data audit is for.

Sources

  1. Salesforce (blog, Caylin White), TAM, SAM, and SOM: Made Simple for Growing Businesses (25 June 2025). Accessed 30 September 2026.
  2. HubSpot Knowledge Base, HubSpot's default deal properties (9 September 2026). Accessed 30 September 2026.
  3. Clay (Clay University documentation), Find Companies. Accessed 30 September 2026.
  4. Gradient Works (vendor blog, Jenn Deering Davis), How many accounts should sales reps own? (30 June 2022). Accessed 30 September 2026.
  5. Salesforce, State of Sales, 7th edition (announcement) (3 February 2026). Accessed 30 September 2026.
  6. Ehrenberg-Bass Institute (Prof. John Dawes), for the LinkedIn B2B Institute, Advertising effectiveness and the 95-5 rule: most B2B buyers are not in the market right now (May 2021). Accessed 30 September 2026.
  7. Winning by Design, The SPICED Framework. Accessed 30 September 2026.

Frequently asked questions

What is the difference between TAM, SAM and SOM?

TAM is every company that could use what you sell. SAM is the part of that market you can serve well, which for a sales team means the accounts that match your proven customer pattern above a tested fit score. SOM is the part of SAM you can realistically win in a set period, limited by your reps’ capacity and by which accounts are in a buying window.

How do you calculate SAM and SOM from CRM data?

Export three years of closed-won and closed-lost deals, enrich the accounts, and find the attributes that separate wins from losses. Turn those into a fit score, test it on your history, and apply it to a full company list to get SAM. For SOM, take the smaller of your reps’ monthly account capacity and the SAM accounts showing a buying signal that month.

Should TAM be measured in accounts or revenue?

Both, in that order. Count accounts first, because accounts are what reps work and what you can check. Then multiply by your own average contract value to get a rand figure for planning and board conversations. A rand figure without an account list behind it can’t be tested.

How often should you recalculate SAM and SOM?

Recalculate SOM monthly, because signals and capacity change every month. Rescore SAM at least quarterly, and whenever something big changes: a new product, a price change, a new region, or enough new wins to shift the pattern.

Next step

Rather have us look at your data?

In 30 minutes you'll know where your next deals are likely to come from, and a clear next step, whatever you decide.

Newsletter

Good Timing: short notes on reaching buyers when they're ready.

One idea per issue, sent when there's something worth saying.

Get Good Timing, our newsletter: occasional, useful notes. Unsubscribe in one click.

We use these details to respond to your request, as set out in our Privacy Policy.