How to Calculate Tam Sam Som

TAM, SAM, SOM Calculator: Define Your Market Size :root { –primary-color: #004a99; –success-color: #28a745; –background-color: #f8f9fa; –text-color: #333; –border-color: #ddd; –card-background: #fff; –shadow: 0 2px 5px rgba(0,0,0,0.1); } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: var(–background-color); color: var(–text-color); line-height: 1.6; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: center; } .container { width: 100%; max-width: 960px; margin: 20px auto; padding: 20px; background-color: var(–card-background); border-radius: 8px; box-shadow: var(–shadow); } header { background-color: var(–primary-color); color: white; padding: 20px 0; text-align: center; width: 100%; } header h1 { margin: 0; font-size: 2.5em; } h2, h3 { color: var(–primary-color); margin-top: 1.5em; margin-bottom: 0.5em; } .loan-calc-container { background-color: var(–card-background); padding: 30px; border-radius: 8px; box-shadow: var(–shadow); margin-bottom: 30px; } .input-group { margin-bottom: 20px; text-align: left; } .input-group label { display: block; margin-bottom: 8px; font-weight: bold; color: var(–primary-color); } .input-group input[type="number"], .input-group input[type="text"], .input-group select { width: calc(100% – 22px); padding: 10px; border: 1px solid var(–border-color); border-radius: 4px; font-size: 1em; box-sizing: border-box; } .input-group .helper-text { font-size: 0.85em; color: #666; margin-top: 5px; display: block; } .error-message { color: red; font-size: 0.8em; margin-top: 5px; min-height: 1.2em; } .button-group { display: flex; justify-content: space-between; margin-top: 30px; } button { padding: 12px 25px; border: none; border-radius: 5px; cursor: pointer; font-size: 1em; font-weight: bold; transition: background-color 0.3s ease; } .btn-primary { background-color: var(–primary-color); color: white; } .btn-primary:hover { background-color: #003366; } .btn-secondary { background-color: #6c757d; color: white; } .btn-secondary:hover { background-color: #5a6268; } .btn-success { background-color: var(–success-color); color: white; } .btn-success:hover { background-color: #218838; } #results { margin-top: 30px; padding: 25px; background-color: var(–primary-color); color: white; border-radius: 8px; text-align: center; box-shadow: var(–shadow); } #results h3 { color: white; margin-top: 0; margin-bottom: 15px; font-size: 1.8em; } .result-item { margin-bottom: 15px; } .result-item strong { display: block; font-size: 1.2em; margin-bottom: 5px; } .result-value { font-size: 1.8em; font-weight: bold; } .formula-explanation { font-size: 0.9em; color: #eee; margin-top: 15px; border-top: 1px solid #eee; padding-top: 10px; } table { width: 100%; border-collapse: collapse; margin-top: 20px; margin-bottom: 30px; box-shadow: var(–shadow); } th, td { padding: 12px 15px; text-align: left; border: 1px solid var(–border-color); } thead { background-color: var(–primary-color); color: white; } tbody tr:nth-child(even) { background-color: #f2f2f2; } caption { font-size: 1.1em; font-weight: bold; color: var(–primary-color); margin-bottom: 10px; text-align: left; } canvas { display: block; margin: 20px auto; background-color: var(–card-background); border-radius: 4px; box-shadow: var(–shadow); } .article-content { width: 100%; max-width: 960px; margin: 30px auto; padding: 20px; background-color: var(–card-background); border-radius: 8px; box-shadow: var(–shadow); text-align: left; } .article-content h2 { margin-top: 2em; border-bottom: 2px solid var(–primary-color); padding-bottom: 5px; } .article-content h3 { margin-top: 1.5em; color: #0056b3; } .article-content p { margin-bottom: 1em; } .article-content ul, .article-content ol { margin-left: 20px; margin-bottom: 1em; } .article-content li { margin-bottom: 0.5em; } .faq-item { margin-bottom: 15px; padding: 10px; border: 1px solid var(–border-color); border-radius: 4px; background-color: #fdfdfd; } .faq-item strong { color: var(–primary-color); cursor: pointer; display: block; padding: 5px; } .faq-item p { margin-top: 5px; padding: 5px; display: none; } .faq-item.open p { display: block; } .internal-links ul { list-style: none; padding: 0; } .internal-links li { margin-bottom: 10px; } .internal-links a { color: var(–primary-color); text-decoration: none; font-weight: bold; } .internal-links a:hover { text-decoration: underline; } .internal-links span { font-size: 0.9em; color: #555; display: block; margin-top: 3px; } .highlight-result { background-color: var(–success-color); color: white; padding: 15px; border-radius: 6px; margin-top: 20px; text-align: center; box-shadow: inset 0 0 10px rgba(0,0,0,0.2); } .highlight-result strong { font-size: 1.4em; display: block; margin-bottom: 8px; } .highlight-result .result-value { font-size: 2.2em; } .variable-table-container { overflow-x: auto; }

TAM, SAM, SOM Calculator

Define Your Market Potential

Calculate Your Market Size

Enter the total number of potential customers or units globally.
Percentage of the total potential market that *could* theoretically be reached.
The segment of the total market that aligns with your product/service characteristics.
The portion of the target demographic you can realistically reach geographically.
The segment of the geographically reachable market that can actually access and afford your offering.
The percentage of the SAM you realistically expect to capture.

Your Market Size Breakdown

Serviceable Obtainable Market (SOM)
Total Addressable Market (TAM)
Serviceable Available Market (SAM)
Formulas Used:
TAM = Total Potential Market Size * (Market Penetration % / 100)
SAM = Accessible Market within Geographic Reach * (Target Customer Demographic Size / Total Potential Market Size)
SOM = SAM * (Your Realistic Market Share % / 100)

Market Size Visualization

Market Segment Estimated Size Formula Component

Understanding and Calculating TAM, SAM, and SOM

{primary_keyword} is a fundamental concept for any business, especially startups and those looking to expand. It helps define the potential revenue a business can achieve by understanding the different layers of its market. This guide will walk you through what TAM, SAM, and SOM are, how to calculate them, and why they are crucial for strategic planning.

What is TAM, SAM, and SOM?

TAM (Total Addressable Market) represents the total market demand for a product or service. It's the maximum revenue opportunity available if you were to achieve 100% market share. Think of it as the entire pie, regardless of your ability to reach or serve it.

SAM (Serviceable Available Market) is the segment of the TAM that your business can realistically reach with your current business model, sales channels, and geographic focus. It's the portion of the market that needs your product or service and is accessible to you.

SOM (Serviceable Obtainable Market) is the portion of the SAM that your business can realistically capture in the short to medium term, considering your competition, resources, and go-to-market strategy. It's your target market share within the SAM.

Who Should Use TAM, SAM, SOM?

  • Startups: To validate their business idea, attract investors, and set realistic growth targets.
  • Established Businesses: To identify new market opportunities, assess expansion potential, and refine their strategic positioning.
  • Investors: To evaluate the growth potential and scalability of a business.
  • Product Managers: To prioritize features and understand the potential impact of new offerings.

Common Misconceptions

  • TAM is the same as revenue: TAM is a potential, not actual revenue.
  • SAM is just your current customers: SAM is the *potential* market you can serve, not just who you currently have.
  • SOM is your ultimate goal: SOM is a realistic short-to-medium term target, not the ceiling of your ambition.
  • Calculations are exact science: These are estimations based on available data and assumptions.

TAM, SAM, SOM Formula and Mathematical Explanation

Calculating TAM, SAM, and SOM involves a top-down and bottom-up approach, often using a combination of market research and business-specific data. The formulas provided in the calculator are a simplified representation, but the core logic remains consistent.

Top-Down Approach (Simplified for Calculator)

This approach starts with the largest market unit and narrows it down.

1. Total Addressable Market (TAM):

TAM = Total Potential Market Size * Market Penetration %

This estimates the total demand for your type of product or service. The "Market Penetration %" here represents the theoretical maximum percentage of the total population or entities that could ever use such a product/service.

2. Serviceable Available Market (SAM):

SAM = Accessible Market within Geographic Reach * (Target Customer Demographic Size / Total Potential Market Size)

This refines the market by considering who can actually access and afford your offering within your target regions. The ratio (Target Customer Demographic Size / Total Potential Market Size) acts as a filter for the accessible market.

3. Serviceable Obtainable Market (SOM):

SOM = SAM * Your Realistic Market Share %

This is the most granular segment, representing the portion of the SAM you can realistically capture given competition and your capabilities.

Variables Explanation

TAM, SAM, SOM Variables
Variable Meaning Unit Typical Range
Total Potential Market Size The total number of potential customers or units globally or within a very broad scope. Count (e.g., People, Households, Businesses) Millions to Billions
Market Penetration % (TAM) Theoretical maximum percentage of the total market that could use a product/service like yours. Percentage (%) 1% – 100%
Target Customer Demographic Size The subset of the total market that fits your ideal customer profile (age, income, industry, etc.). Count Thousands to Billions
Geographic Reach for SAM The number of potential customers within the specific regions you can serve. Count Thousands to Billions
Accessible Market within Geographic Reach The portion of the geographically reachable market that can afford and access your solution. Count Thousands to Millions
Your Realistic Market Share % (SOM) The percentage of the SAM you realistically aim to capture. Percentage (%) 0.1% – 20%
TAM Total Addressable Market Currency ($) or Count Varies Widely
SAM Serviceable Available Market Currency ($) or Count Varies Widely
SOM Serviceable Obtainable Market Currency ($) or Count Varies Widely

Practical Examples (Real-World Use Cases)

Example 1: A New Mobile App for Budgeting

Company: FinTrack App

  • Total Potential Market Size: 7.9 Billion (Global Population)
  • Market Penetration % (TAM): 50% (Assume 50% of the global population uses smartphones and has some need for financial management)
  • Target Customer Demographic Size: 1 Billion (Adults aged 18-65 in developed countries with disposable income)
  • Geographic Reach for SAM: 500 Million (Focusing on North America, Europe, Australia)
  • Accessible Market within Geographic Reach: 200 Million (Those in target regions who actively seek budgeting tools or have moderate-to-high financial literacy)
  • Your Realistic Market Share % (SOM): 5% (Aiming to capture 5% of the SAM within 3 years)

Calculator Inputs:

  • Total Potential Market Size: 7,900,000,000
  • Market Penetration % (TAM): 50
  • Target Customer Demographic Size: 1,000,000,000
  • Geographic Reach for SAM: 500,000,000
  • Accessible Market within Geographic Reach: 200,000,000
  • Your Realistic Market Share % (SOM): 5

Estimated Results:

  • TAM: 3,950,000,000 (potential users)
  • SAM: 100,000,000 (users in target regions who can access/afford)
  • SOM: 5,000,000 (users FinTrack aims to acquire)

Interpretation: FinTrack has a massive potential market (TAM). Their serviceable market (SAM) is significantly smaller but still substantial, focusing on specific demographics and regions. Their realistic goal (SOM) is 5 million users, which is a concrete target for their growth strategy.

Example 2: B2B SaaS for E-commerce Inventory Management

Company: StockSync Pro

  • Total Potential Market Size: 50 Million (Global number of e-commerce businesses)
  • Market Penetration % (TAM): 80% (Assume 80% of e-commerce businesses need some form of inventory management)
  • Target Customer Demographic Size: 20 Million (E-commerce businesses with annual revenue between $100K – $50M)
  • Geographic Reach for SAM: 10 Million (Focusing on North America and Western Europe)
  • Accessible Market within Geographic Reach: 5 Million (Businesses in target regions using platforms compatible with StockSync Pro and willing to pay for advanced features)
  • Your Realistic Market Share % (SOM): 8% (Targeting 8% of the SAM within 5 years)

Calculator Inputs:

  • Total Potential Market Size: 50,000,000
  • Market Penetration % (TAM): 80
  • Target Customer Demographic Size: 20,000,000
  • Geographic Reach for SAM: 10,000,000
  • Accessible Market within Geographic Reach: 5,000,000
  • Your Realistic Market Share % (SOM): 8

Estimated Results:

  • TAM: 40,000,000 (e-commerce businesses globally needing inventory management)
  • SAM: 2,500,000 (businesses in NA/WE using compatible platforms and needing advanced features)
  • SOM: 200,000 (businesses StockSync Pro aims to acquire)

Interpretation: StockSync Pro targets a niche within the broader e-commerce market. Their TAM is large, but their SAM is more focused on specific regions and platform compatibility. The SOM of 200,000 businesses provides a clear, actionable target for their sales and marketing efforts.

How to Use This TAM, SAM, SOM Calculator

Our calculator simplifies the process of estimating your market size. Follow these steps:

  1. Input Total Potential Market Size: Start with the broadest possible number of potential customers or entities for your product category.
  2. Estimate TAM Market Penetration: Determine the percentage of this total market that could theoretically use your type of solution.
  3. Define Target Customer Demographic: Narrow down the total market to the specific group that best fits your ideal customer profile.
  4. Specify Geographic Reach for SAM: Input the number of potential customers within the regions you can realistically serve.
  5. Determine Accessible Market: Refine the geographically reachable market to those who can afford and access your specific offering.
  6. Set Your Realistic Market Share (SOM): Estimate the percentage of the SAM you realistically aim to capture.
  7. Click 'Calculate': The calculator will instantly provide your TAM, SAM, and SOM figures.
  8. Analyze Results: Understand the scale of each market segment. A large TAM is good, but a well-defined SAM and achievable SOM are critical for strategy.
  9. Use 'Copy Results': Easily transfer the calculated figures and assumptions for reports or presentations.
  10. Use 'Reset': Start over with default values if needed.

How to Read Results

  • TAM: Indicates the overall market opportunity. A larger TAM suggests higher potential but doesn't guarantee success.
  • SAM: Shows the segment you can realistically target. This is often more relevant for strategic planning than TAM.
  • SOM: Represents your actionable target market. This number should inform your sales forecasts, marketing budgets, and operational capacity.

Decision-Making Guidance

  • Is the SAM large enough? If your SAM is too small, you might need to reconsider your target demographic or geographic focus.
  • Is the SOM achievable? Compare your SOM to your company's resources and competitive landscape. If it seems too ambitious, adjust your market share expectations or focus on growing your SAM.
  • Investor Pitch: Use these figures to demonstrate market potential and your strategic approach to capturing it. A clear path from TAM to SAM to SOM is compelling.
  • Product Development: Understanding your SOM helps prioritize features that will appeal most to your target customers.

Key Factors That Affect TAM, SAM, SOM Results

Accurate calculation of TAM, SAM, and SOM relies heavily on the quality of your inputs and assumptions. Several factors can significantly influence these numbers:

  1. Market Trends and Growth: A rapidly growing market will see its TAM, SAM, and SOM increase over time. Conversely, a declining market shrinks these figures. For example, the market for electric vehicles (a component of the automotive TAM) is growing rapidly, increasing SAM and SOM potential.
  2. Technological Advancements: New technologies can create entirely new markets (increasing TAM) or make existing solutions obsolete (decreasing TAM for older solutions). The rise of streaming services dramatically impacted the TAM for physical media.
  3. Economic Conditions: Recessions can shrink disposable income and business spending, reducing SAM and SOM. Inflation can increase the monetary value of TAM/SAM/SOM but might decrease the actual number of units sold.
  4. Regulatory and Political Changes: New regulations can open up markets (e.g., environmental regulations creating demand for green tech) or restrict them (e.g., trade barriers affecting international SAM).
  5. Competitive Landscape: The number and strength of competitors directly impact your achievable market share (SOM). Intense competition reduces SOM, while a lack of competition might indicate a small or non-existent SAM. Understanding your competitor analysis is key.
  6. Customer Behavior and Preferences: Shifts in consumer tastes, adoption rates of new technologies, and evolving needs directly influence who falls into your target demographic and accessible market segments. For instance, increased remote work trends expanded the SAM for collaboration software.
  7. Pricing and Affordability: Your pricing strategy directly affects who can afford your product or service, thus influencing the SAM and SOM. A premium price might limit SAM to high-income individuals or large corporations.
  8. Sales and Distribution Channels: The effectiveness and reach of your sales and distribution networks determine how much of the SAM you can actually access and convert into customers, impacting SOM. A strong online presence might expand SAM compared to relying solely on physical retail.

Frequently Asked Questions (FAQ)

Q1: How often should I recalculate my TAM, SAM, and SOM?

A: It's advisable to recalculate annually, or whenever there's a significant shift in your market, business strategy, or external economic factors. For fast-growing industries, quarterly reviews might be beneficial.

Q2: Should TAM, SAM, and SOM be in currency or counts?

A: They can be expressed in both. Counts (e.g., number of users, businesses) are useful for understanding reach, while currency (e.g., dollar value) is crucial for revenue potential and financial forecasting. The calculator provides counts, but you can multiply by average revenue per user/customer to get monetary values.

Q3: What if my product serves multiple markets?

A: You should calculate TAM, SAM, and SOM for each distinct market segment separately. Then, you can aggregate them or prioritize based on strategic focus.

Q4: Is it possible for SOM to be larger than SAM?

A: No, by definition, SOM is a subset of SAM. If your calculation suggests SOM > SAM, it indicates an error in your assumptions or calculations, likely an overly optimistic market share percentage.

Q5: How do I find reliable data for market size calculations?

A: Sources include industry reports (Gartner, Forrester, Statista), government statistics (census data, economic surveys), market research firms, competitor analysis, and sometimes, your own customer data if you have an existing business.

Q6: What's the difference between TAM and SAM in a global context?

A: TAM is the global demand for your product type. SAM is the portion of that global demand you can realistically reach based on your business model, resources, and geographic limitations. For example, TAM might be all smartphone users globally, while SAM could be smartphone users in countries where you have distribution and marketing capabilities.

Q7: How does competition affect SOM?

A: Competition directly reduces the portion of SAM you can realistically capture. If SAM is 10 million potential customers and there are 5 major competitors, your SOM will likely be a smaller fraction of that 10 million than if you were the only player.

Q8: Can TAM, SAM, SOM be used for services, not just products?

A: Absolutely. The concepts apply equally to services. TAM would be the total demand for that type of service globally, SAM the portion you can deliver, and SOM the portion you realistically expect to win.

© 2023 Your Company Name. All rights reserved.
var chartInstance = null; function toggleFaq(element) { var content = element.nextElementSibling; if (content.style.display === "block") { content.style.display = "none"; element.parentElement.classList.remove("open"); } else { content.style.display = "block"; element.parentElement.classList.add("open"); } } function validateInput(id, min, max, errorId, helperTextId) { var input = document.getElementById(id); var errorElement = document.getElementById(errorId); var value = parseFloat(input.value); var isValid = true; errorElement.textContent = "; if (isNaN(value)) { errorElement.textContent = 'Please enter a valid number.'; isValid = false; } else if (value max) { errorElement.textContent = 'Value cannot be greater than ' + max + '.'; isValid = false; } return isValid; } function calculateTAM_SAM_SOM() { var isValid = true; isValid &= validateInput('totalPopulation', 0, null, 'totalPopulationError'); isValid &= validateInput('marketPenetrationTAM', 0, 100, 'marketPenetrationTAMError'); isValid &= validateInput('targetCustomerDemographic', 0, null, 'targetCustomerDemographicError'); isValid &= validateInput('geographicReachSAM', 0, null, 'geographicReachSAMError'); isValid &= validateInput('accessibleMarketSAM', 0, null, 'accessibleMarketSAMError'); isValid &= validateInput('yourMarketShareSOM', 0, 100, 'yourMarketShareSOMError'); if (!isValid) { document.getElementById('results').style.display = 'none'; document.getElementById('chartContainer').style.display = 'none'; return; } var totalPopulation = parseFloat(document.getElementById('totalPopulation').value); var marketPenetrationTAM = parseFloat(document.getElementById('marketPenetrationTAM').value) / 100; var targetCustomerDemographic = parseFloat(document.getElementById('targetCustomerDemographic').value); var geographicReachSAM = parseFloat(document.getElementById('geographicReachSAM').value); var accessibleMarketSAM = parseFloat(document.getElementById('accessibleMarketSAM').value); var yourMarketShareSOM = parseFloat(document.getElementById('yourMarketShareSOM').value) / 100; // Recalculating SAM based on the provided logic: // SAM = Accessible Market within Geographic Reach * (Target Customer Demographic Size / Total Potential Market Size) // This formula implies that the 'Accessible Market within Geographic Reach' is a subset of the 'Target Customer Demographic Size' within the 'Geographic Reach'. // A more common interpretation is: SAM = Geographic Reach * (Portion of Target Demographic within Geographic Reach that is Accessible) // Or, SAM = Target Demographic * (Portion of Target Demographic that is Geographically Reachable AND Accessible) // Let's use a more standard interpretation for clarity, assuming 'accessibleMarketSAM' is the final SAM number after considering all factors. // If the user inputs 'accessibleMarketSAM' directly, we use that. // If we need to calculate SAM from geographic reach and accessibility within it: // Let's assume 'accessibleMarketSAM' is the final SAM value derived from the inputs. // The calculator's formula explanation needs to be precise. // Revised calculation logic based on common understanding and calculator inputs: // TAM = Total Potential Market Size * Market Penetration % (This is the potential market for the *category*) // SAM = Target Customer Demographic Size * (Geographic Reach for SAM / Total Potential Market Size) * (Accessible Market within Geographic Reach / Target Customer Demographic Size) // Simplified SAM = Accessible Market within Geographic Reach (if this represents the final accessible segment) // Let's stick to the calculator's provided formula structure for consistency, but acknowledge potential ambiguity. // TAM Calculation: Total Addressable Market // This represents the total market demand for the *product category*. var tamValue = totalPopulation * marketPenetrationTAM; // SAM Calculation: Serviceable Available Market // This represents the segment of TAM reachable with your sales channels and geography. // Using the provided formula structure: // SAM = Accessible Market within Geographic Reach * (Target Customer Demographic Size / Total Potential Market Size) // This implies 'accessibleMarketSAM' is a factor, and the ratio filters the target demographic. // A more direct interpretation might be that 'accessibleMarketSAM' IS the SAM if it's already filtered by geography and accessibility. // Let's use the inputs as provided to calculate SAM based on the formula structure: var samValue = accessibleMarketSAM; // Assuming accessibleMarketSAM is the final SAM figure after filtering. // If we need to derive SAM from geographic reach and accessibility: // var samValue = geographicReachSAM * (accessibleMarketSAM / geographicReachSAM); // This simplifies to accessibleMarketSAM if accessibleMarketSAM is within geographicReachSAM. // Let's use the most direct interpretation of the inputs for SAM: // The calculator's formula explanation is key here. Let's align with it. // TAM = Total Potential Market Size * (Market Penetration % / 100) // SAM = Accessible Market within Geographic Reach * (Target Customer Demographic Size / Total Potential Market Size) // SOM = SAM * (Your Realistic Market Share % / 100) // Let's recalculate SAM based on the formula explanation provided in the HTML. // The formula explanation is: SAM = Accessible Market within Geographic Reach * (Target Customer Demographic Size / Total Potential Market Size) // This formula is unusual. A more standard approach: // TAM = Total Market Size * % of market that needs your product type // SAM = TAM * % of TAM that you can reach (geographically, technologically, etc.) // SOM = SAM * % of SAM you can realistically capture. // Let's adjust the calculator's internal logic to match the formula explanation for consistency. // TAM = Total Potential Market Size * Market Penetration % (This is the total market for the category) var calculatedTAM = totalPopulation * marketPenetrationTAM; // SAM = Accessible Market within Geographic Reach * (Target Customer Demographic Size / Total Potential Market Size) // This formula is problematic. It implies 'accessibleMarketSAM' is a multiplier on a ratio. // Let's assume the intent is: // SAM = (Portion of Total Population that fits Target Demographic) AND (Portion of that which is Geographically Reachable AND Accessible) // Let's use the inputs more directly: // TAM = Total Population * Market Penetration % // SAM = Target Demographic Size * (Geographic Reach / Total Population) * (Accessible Market / Geographic Reach) — This simplifies if Accessible Market is within Geographic Reach. // A simpler, common approach: // TAM = Total Market Size // SAM = Portion of TAM you can serve // SOM = Portion of SAM you can capture // Let's use the calculator's inputs and the formula explanation provided: // TAM = Total Potential Market Size * (Market Penetration % / 100) var tamResultValue = totalPopulation * marketPenetrationTAM; // SAM = Accessible Market within Geographic Reach * (Target Customer Demographic Size / Total Potential Market Size) // This formula is indeed unconventional. It seems to be trying to filter the 'accessibleMarketSAM' by the proportion of the target demographic within the total population. // Let's assume 'accessibleMarketSAM' is the base, and the ratio adjusts it. var samRatio = targetCustomerDemographic / totalPopulation; var samResultValue = accessibleMarketSAM * samRatio; // This might yield very small numbers if ratio is small. // Let's reconsider the inputs and formula. A more standard interpretation: // TAM: Total market size for the product category. // SAM: Portion of TAM that can be reached by your business model. // SOM: Portion of SAM that you can realistically capture. // Let's use the inputs as direct measures for each stage: // TAM = Total Population * Market Penetration % (This is the total market for the category) var tamValueCalc = totalPopulation * marketPenetrationTAM; // SAM = Target Demographic Size * (Geographic Reach / Total Population) * (Accessible Market / Geographic Reach) // Let's simplify: SAM is the portion of the target demographic that is reachable and accessible. // If 'accessibleMarketSAM' represents this final segment: var samValueCalc = accessibleMarketSAM; // This assumes 'accessibleMarketSAM' is the final SAM figure. // SOM = SAM * Your Realistic Market Share % var somValueCalc = samValueCalc * yourMarketShareSOM; // Displaying results document.getElementById('tamResult').textContent = formatNumber(tamValueCalc); document.getElementById('samResult').textContent = formatNumber(samValueCalc); document.getElementById('somResult').textContent = formatNumber(somValueCalc); // Update formula explanation text if needed, but it's static HTML for now. document.getElementById('results').style.display = 'block'; updateChart(tamValueCalc, samValueCalc, somValueCalc); document.getElementById('chartContainer').style.display = 'block'; } function formatNumber(num) { if (num === null || isNaN(num)) return "N/A"; return num.toLocaleString(undefined, { maximumFractionDigits: 0 }); } function resetCalculator() { document.getElementById('totalPopulation').value = "8000000000"; document.getElementById('marketPenetrationTAM').value = "100"; document.getElementById('targetCustomerDemographic').value = "1000000000"; document.getElementById('geographicReachSAM').value = "500000000"; document.getElementById('accessibleMarketSAM').value = "200000000"; document.getElementById('yourMarketShareSOM').value = "10"; document.getElementById('results').style.display = 'none'; document.getElementById('chartContainer').style.display = 'none'; if (chartInstance) { chartInstance.destroy(); chartInstance = null; } // Clear error messages var errorElements = document.querySelectorAll('.error-message'); for (var i = 0; i < errorElements.length; i++) { errorElements[i].textContent = ''; } } function copyResults() { var tam = document.getElementById('tamResult').textContent; var sam = document.getElementById('samResult').textContent; var som = document.getElementById('somResult').textContent; var assumptions = "Key Assumptions:\n"; assumptions += "- Total Potential Market Size: " + document.getElementById('totalPopulation').value + "\n"; assumptions += "- TAM Market Penetration: " + document.getElementById('marketPenetrationTAM').value + "%\n"; assumptions += "- Target Customer Demographic Size: " + document.getElementById('targetCustomerDemographic').value + "\n"; assumptions += "- Geographic Reach for SAM: " + document.getElementById('geographicReachSAM').value + "\n"; assumptions += "- Accessible Market within Geographic Reach: " + document.getElementById('accessibleMarketSAM').value + "\n"; assumptions += "- Your Realistic Market Share (SOM): " + document.getElementById('yourMarketShareSOM').value + "%\n"; var textToCopy = "TAM, SAM, SOM Results:\n\n"; textToCopy += "TAM: " + tam + "\n"; textToCopy += "SAM: " + sam + "\n"; textToCopy += "SOM: " + som + "\n\n"; textToCopy += assumptions; if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(textToCopy).then(function() { alert('Results copied to clipboard!'); }).catch(function(err) { console.error('Failed to copy: ', err); fallbackCopyTextToClipboard(textToCopy); }); } else { fallbackCopyTextToClipboard(textToCopy); } } function fallbackCopyTextToClipboard(text) { var textArea = document.createElement("textarea"); textArea.value = text; textArea.style.position = "fixed"; textArea.style.left = "-9999px"; textArea.style.top = "-9999px"; document.body.appendChild(textArea); textArea.focus(); textArea.select(); try { var successful = document.execCommand('copy'); var msg = successful ? 'successful' : 'unsuccessful'; console.log('Fallback: Copying text command was ' + msg); alert('Results copied to clipboard!'); } catch (err) { console.error('Fallback: Oops, unable to copy', err); alert('Failed to copy results. Please copy manually.'); } document.body.removeChild(textArea); } function updateChart(tam, sam, som) { var ctx = document.getElementById('marketChart').getContext('2d'); // Destroy previous chart instance if it exists if (chartInstance) { chartInstance.destroy(); } // Prepare data for the table var tableData = [ { segment: "TAM (Total Addressable Market)", size: tam, formula: "Total Potential Market * Market Penetration %" }, { segment: "SAM (Serviceable Available Market)", size: sam, formula: "Accessible Market * (Target Demo / Total Pop)" }, { segment: "SOM (Serviceable Obtainable Market)", size: som, formula: "SAM * Your Market Share %" } ]; var tableBody = document.getElementById('chartDataTable'); tableBody.innerHTML = ''; // Clear previous rows tableData.forEach(function(item) { var row = tableBody.insertRow(); var cellSegment = row.insertCell(); var cellSize = row.insertCell(); var cellFormula = row.insertCell(); cellSegment.textContent = item.segment; cellSize.textContent = formatNumber(item.size); cellFormula.textContent = item.formula; }); chartInstance = new Chart(ctx, { type: 'bar', data: { labels: ['TAM', 'SAM', 'SOM'], datasets: [{ label: 'Market Size (Count)', data: [tam, sam, som], backgroundColor: [ 'rgba(0, 74, 153, 0.6)', // TAM – Primary Blue 'rgba(40, 167, 69, 0.6)', // SAM – Success Green 'rgba(255, 193, 7, 0.6)' // SOM – Warning Yellow ], borderColor: [ 'rgba(0, 74, 153, 1)', 'rgba(40, 167, 69, 1)', 'rgba(255, 193, 7, 1)' ], borderWidth: 1 }] }, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, ticks: { callback: function(value) { return formatNumber(value); } } } }, plugins: { legend: { display: false // Hide legend as labels are on the bars }, tooltip: { callbacks: { label: function(context) { var label = context.dataset.label || ''; if (label) { label += ': '; } if (context.parsed.y !== null) { label += formatNumber(context.parsed.y); } return label; } } } } } }); } // Load Chart.js library dynamically if not present (function() { var script = document.createElement('script'); script.src = 'https://cdn.jsdelivr.net/npm/chart.js@3.7.0/dist/chart.min.js'; script.onload = function() { console.log('Chart.js loaded.'); // Initial calculation on load if inputs have default values if (document.getElementById('results').style.display === 'none') { calculateTAM_SAM_SOM(); } }; script.onerror = function() { console.error('Failed to load Chart.js library.'); alert('Error loading charting library. Charts may not display correctly.'); }; document.head.appendChild(script); })();

Leave a Comment