Relative Valuation (Comparable Company Analysis) Calculator

Use our interactive calculator to perform a Comparable Company Analysis for assessing company valuation.

Company Inputs

Enter the market capitalization, EBITDA, and revenue metrics for the subject company.

How to Use This Calculator

This calculator helps financial analysts and investors perform a Comparable Company Analysis to determine the relative valuation of a company by comparing it with similar businesses in the industry.

Enter the target company's market capitalization, EBITDA, and revenue to instantly see how the valuation multiples stack up against peers.

Data Source and Methodology

Tutti i calcoli si basano rigorosamente sulle formule e sui dati forniti da fonti finanziarie autorevoli e metodologie di analisi comparabile.

Glossary of Terms

How It Works: A Step-by-Step Example

For example, if a company has a market capitalization of $1 million, EBITDA of $500,000, and revenue of $2 million, the EV/EBITDA ratio is 2 and the Price to Sales ratio is 0.5.

Frequently Asked Questions (FAQ)

What is Comparable Company Analysis?

It is a valuation method to assess the value of a company by comparing it with similar businesses.

Why is EBITDA used?

EBITDA is used as it provides a clear view of a company's operating profitability without the effects of capital structure, tax policies, and depreciation.

How do I input data into the calculator?

Enter the company's financial metrics and market data into the designated fields to perform the analysis.

Can this calculator be used for any industry?

Yes, however, ensure the companies you are comparing belong to the same industry for meaningful analysis.

Formulas

EV/EBITDA: \(\frac{Market\ Capitalization + Debt - Cash}{EBITDA}\)

Price to Sales: \(\frac{Market\ Capitalization}{Revenue}\)

  • EV: Enterprise value (Market Cap + Debt - Cash)
  • EBITDA: Earnings before interest, taxes, depreciation, and amortization
  • Revenue: Total revenue over the period
Citations
Sources (authoritative):
Changelog
Version: 0.1.0-draft
Last code update: 2026-01-19
0.1.0-draft · 2026-01-19
  • Initial audit spec draft generated from HTML extraction (review required).
  • Verify formulas match the calculator engine and convert any text-only formulas to LaTeX.
  • Confirm sources are authoritative and relevant to the calculator methodology.
Verified by Ugo Candido Last Updated: 2026-01-19 Version 0.1.0-draft
Version 1.5.0
; return symbol + round2(safe).toFixed(2); } }; const els = { marketCap: document.getElementById('marketCap'), ebitda: document.getElementById('ebitda'), revenue: document.getElementById('revenue'), currency: document.getElementById('currency'), calcBtn: document.getElementById('calcBtn'), resetBtn: document.getElementById('resetBtn'), evEbitdaValue: document.getElementById('evEbitdaValue'), priceSalesValue: document.getElementById('priceSalesValue'), enterpriseValue: document.getElementById('enterpriseValue'), revenueValue: document.getElementById('revenueValue'), errorBox: document.getElementById('errorBox') }; const defaults = { marketCap: '1000000', ebitda: '500000', revenue: '2000000', currency: 'USD' }; function parseInputs() { return { marketCap: parseFloat(els.marketCap.value), ebitda: parseFloat(els.ebitda.value), revenue: parseFloat(els.revenue.value), currency: els.currency.value }; } function validate(inputs) { const errors = []; if (!Number.isFinite(inputs.marketCap) || inputs.marketCap <= 0) { errors.push('Market capitalization must be greater than 0.'); } if (!Number.isFinite(inputs.ebitda) || inputs.ebitda <= 0) { errors.push('EBITDA must be greater than 0.'); } if (!Number.isFinite(inputs.revenue) || inputs.revenue <= 0) { errors.push('Revenue must be greater than 0.'); } return { ok: errors.length === 0, errors }; } function compute(inputs) { const { marketCap, ebitda, revenue } = inputs; if (!Number.isFinite(marketCap) || !Number.isFinite(ebitda) || !Number.isFinite(revenue)) { return null; } const ev = marketCap; const evEbitda = ebitda === 0 ? null : ev / ebitda; const priceToSales = revenue === 0 ? null : ev / revenue; return { ev, evEbitda, priceToSales, revenue }; } function format(outputs, inputs) { if (!outputs) return null; return { evEbitda: Number.isFinite(outputs.evEbitda) ? round2(outputs.evEbitda).toFixed(2) : '—', priceToSales: Number.isFinite(outputs.priceToSales) ? round2(outputs.priceToSales).toFixed(2) : '—', enterpriseValue: fmtCurrency(outputs.ev, inputs.currency), revenue: fmtCurrency(outputs.revenue, inputs.currency) }; } function render(formatted, errors) { if (errors && errors.length) { els.errorBox.style.display = 'block'; els.errorBox.textContent = errors.join(' '); } else { els.errorBox.style.display = 'none'; els.errorBox.textContent = ''; } if (!formatted) { els.evEbitdaValue.textContent = '—'; els.priceSalesValue.textContent = '—'; els.enterpriseValue.textContent = '—'; els.revenueValue.textContent = '—'; return; } els.evEbitdaValue.textContent = formatted.evEbitda; els.priceSalesValue.textContent = formatted.priceToSales; els.enterpriseValue.textContent = formatted.enterpriseValue; els.revenueValue.textContent = formatted.revenue; } function update() { const inputs = parseInputs(); const validation = validate(inputs); if (!validation.ok) { render(null, validation.errors); return; } const outputs = compute(inputs); if (!outputs) { render(null, ['Calculation failed for the current inputs. Please revise values.']); return; } const formatted = format(outputs, inputs); render(formatted, []); } els.calcBtn.addEventListener('click', update); els.resetBtn.addEventListener('click', () => { els.marketCap.value = defaults.marketCap; els.ebitda.value = defaults.ebitda; els.revenue.value = defaults.revenue; els.currency.value = defaults.currency; const debouncedUpdate = debounce(update, 100); document.querySelectorAll('#inputsCard input, #inputsCard select, #inputsCard textarea') .forEach((el) => { el.addEventListener('input', debouncedUpdate); el.addEventListener('change', debouncedUpdate); }); update(); }); el.addEventListener('change', debouncedUpdate); }); update(); })();