Healthcare / Diagnostics & ResearchNasdaqCM
$19.11
+0.01 (+0.05%)
FCF base 3Y
n/d
n/d CAGR · yield n/d
FCF base 5Y
n/d
n/d base · n/d expected
Precio de entrada
n/d
MOS 22% · confianza 25%
FCF escenarios
weak_data · normalized FCF $10.1M · quality 78.7/100
Ranking barato/determinista: CAGR esperado 5Y + downside bear + calidad del modelo + balance + capital allocation + data gate. No entra en buy-candidate si la data es débil o el CAGR 5Y no compensa.
SA Score
56/100
C
Piotroski
5/9
balance/quality
Valuation
50/100
+0.0% upside
5Y CAGR
+0.0%
50/100
Data QA
20/100
SEC 0%
Sin guardar todavía.
Market Cap
$120M
P/E
19.1x
↓EV/EBITDA
5.6x
↓ROE
4.8%
↑Gross Margin
41.1%
↓Debt/Equity
0.23
↑TradingView lightweight chart
Absolute Values (Left Axis)
Ratios / Percentages (Right Axis)
Financial statement dashboard
2011–2025 · 14 años de histórico normalizado
Revenue CAGR
+8.5%
FCF CAGR
+7.8%
FCF margin
7.1%
FCF / Net income
0.89x
Latest source
Provider fallback
Margin decomposition
Último año: revenue $104.4M · net income $8.3M · FCF $7.4M
Gross margin
Operating margin
Net margin
FCF margin
| Metric | TTM | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Income Statement | ||||||||||||||||
| Revenue | $104.4M | $104.4M | $102.9M | $98.6M | $97.6M | $89.9M | $85.7M | $87.2M | $81.5M | $78.0M | $73.4M | $69.1M | $68.5M | $49.1M | $39.4M | $33.1M |
| Net Income | $8.3M | $8.3M | $10.6M | $9.4M | $12.4M | $10.2M | $8.2M | $15.3M | $21.2M | $19.6M | $15.7M | $12.9M | $10.4M | $8.7M | $5.8M | $3.2M |
| EBITDA | $18.5M | $18.5M | $23.9M | $24.6M | $31.7M | $-3.0M | — | — | — | — | — | — | — | — | — | — |
| EPS | 1.23 | 1.23 | 1.53 | 1.32 | 1.75 | 1.47 | 1.28 | 2.41 | — | — | 2.60 | 2.13 | 1.73 | 1.46 | 1.00 | 0.60 |
| Gross Margin | 41.1% | 41.1% | 43.9% | 46.4% | 48.2% | — | — | — | — | — | — | — | — | — | — | — |
| Operating Margin | 11.1% | 11.1% | 16.1% | 15.0% | 22.6% | -7.9% | — | — | — | — | — | — | — | — | — | — |
| Net Margin | 8.0% | 8.0% | 10.3% | 9.5% | 12.7% | 11.4% | 9.6% | 17.6% | 26.0% | 25.1% | 21.4% | 18.7% | 15.2% | 17.7% | 14.6% | 9.5% |
| Balance Sheet | ||||||||||||||||
| Debt/Equity | 0.23 | 0.23 | 0.25 | 0.23 | 0.25 | — | — | — | — | — | — | — | — | 0.02 | 0.04 | 0.08 |
| Current Ratio | 9.18 | 9.18 | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| Cash Flow | ||||||||||||||||
| Free Cash Flow | $7.4M | $7.4M | $13.3M | $10.1M | $10.7M | $15.6M | $12.9M | $16.1M | $21.5M | $19.7M | $17.3M | $13.4M | $14.0M | $8.7M | $6.3M | $2.6M |
| Returns | ||||||||||||||||
| ROE | 4.8% | 4.8% | 6.4% | 5.9% | 8.3% | 7.4% | 6.5% | 13.2% | 21.5% | 23.7% | 25.9% | 25.4% | 22.6% | 23.0% | 52.0% | 53.7% |
| Valuation | ||||||||||||||||
| P/E | 19.11 | 19.11 | 10.78 | 12.96 | 8.47 | — | — | — | — | — | — | — | — | — | — | — |
| EV/EBITDA | 5.60 | 5.60 | 3.85 | 4.05 | 2.80 | — | — | — | — | — | — | — | — | — | — | — |
| P/B | 0.70 | 0.70 | 0.64 | 0.72 | 0.66 | — | — | — | — | — | — | — | — | — | — | — |
| Growth & Yield | ||||||||||||||||
| Revenue Growth | 1.4% | 1.4% | 4.3% | 1.1% | — | 4.9% | -1.7% | 7.0% | 4.5% | 6.4% | 6.3% | 0.8% | 39.4% | 24.6% | 19.0% | — |
| EPS Growth | -19.6% | -19.6% | 15.9% | -24.6% | — | 14.8% | -46.9% | — | — | — | 22.1% | 23.1% | 18.5% | 46.0% | 66.7% | — |
Revenue, Net Income & Free Cash Flow ($B)
Margins (%)
Returns (%)
Leverage & Liquidity
3Y implied EPS CAGR
11.3%
EPS terminal req.
$1.70
Spread vs growth
-30.9%
5Y implied EPS CAGR
10.8%
EPS terminal req.
$2.05
Spread vs growth
-30.4%
10Y implied EPS CAGR
10.4%
EPS terminal req.
$3.30
Spread vs growth
-30.0%
Qué te dice: cuánto EPS CAGR está descontando el precio si sales al múltiplo terminal indicado. Si el growth observado queda por debajo, el mercado está pidiendo una ejecución muy fina.
Total return
+31.8%
Start / end P/E
9.5x → 15.5x
EPS bridge
1.53 → 1.23
Residual
-12.5%
Simple additive decomposition: total return = EPS growth contribution + P/E multiple contribution + dividend contribution + explicit residual. The residual captures cross-terms, buybacks/share-count effects, FX, special dividends, data noise and methodology mismatch so the bridge always reconciles.