Industrials / Specialty Business ServicesNasdaqCM
$12.04
+0.31 (+2.64%)
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 $2.6M · quality 81.3/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
38/100
D
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
$61M
P/E
38.8x
↑EV/EBITDA
20.4x
↑ROE
16.5%
↑Gross Margin
38.2%
↑Debt/Equity
0.10
↓TradingView lightweight chart
Absolute Values (Left Axis)
Ratios / Percentages (Right Axis)
Financial statement dashboard
2010–2025 · 15 años de histórico normalizado
Revenue CAGR
+14.5%
FCF CAGR
+9.5%
FCF margin
5.8%
FCF / Net income
0.95x
Latest source
Provider fallback
Margin decomposition
Último año: revenue $24.9M · net income $1.5M · FCF $1.5M
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 | 2010 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Income Statement | |||||||||||||||||
| Revenue | $24.9M | $24.9M | $25.7M | $25.1M | $24.8M | $21.9M | $20.1M | $20.8M | $17.8M | $15.4M | $11.6M | $10.4M | $8.8M | $5.8M | $5.3M | $4.2M | $3.3M |
| Net Income | $1.5M | $1.5M | $2.1M | $2.2M | $2.0M | $3.0M | $1.4M | $1.3M | $800736.00 | $142314.00 | $433171.00 | $533917.00 | $229095.00 | $-33560.00 | $870358.00 | $864452.00 | $327757.00 |
| EBITDA | $2.9M | $2.9M | $3.6M | $3.7M | $3.6M | $3.1M | $2.7M | $2.6M | $1.8M | $936362.00 | $902144.00 | $1.1M | $570364.00 | $147004.00 | $582391.00 | $751403.00 | $441222.00 |
| EPS | — | — | 0.40 | 0.39 | 0.33 | 0.48 | 0.22 | 0.22 | 0.48 | 0.16 | 0.32 | 0.32 | 0.16 | — | 0.64 | 0.64 | 0.32 |
| Gross Margin | 38.2% | 38.2% | 41.0% | 41.9% | 42.1% | 44.4% | 44.5% | 43.7% | 43.5% | 44.2% | 46.6% | 46.7% | 42.9% | 46.7% | 53.8% | 55.5% | 55.0% |
| Operating Margin | 4.8% | 4.8% | 8.6% | 10.7% | 10.7% | 10.5% | 8.4% | 7.5% | 4.9% | 0.5% | 5.5% | 7.6% | 3.9% | 0.5% | 9.3% | 16.0% | 11.0% |
| Net Margin | 6.2% | 6.2% | 8.2% | 8.6% | 8.0% | 13.5% | 6.9% | 6.5% | 4.5% | 0.9% | 3.7% | 5.1% | 2.6% | -0.6% | 16.5% | 20.4% | 10.0% |
| Balance Sheet | |||||||||||||||||
| Debt/Equity | 0.10 | 0.10 | 0.26 | 0.26 | 0.25 | — | 0.05 | — | — | — | — | 0.00 | 0.00 | 0.04 | 0.17 | — | — |
| Current Ratio | 1.88 | 1.88 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| Cash Flow | |||||||||||||||||
| Free Cash Flow | $1.5M | $1.5M | $2.6M | $2.7M | $2.4M | $2.8M | $2.0M | $2.5M | $787479.00 | $573462.00 | $540209.00 | — | — | $182259.00 | $260838.00 | $708514.00 | $372548.00 |
| Returns | |||||||||||||||||
| ROE | 16.5% | 16.5% | 21.3% | 19.9% | 16.0% | 21.5% | 11.1% | 11.3% | 7.4% | 1.5% | 4.6% | 7.9% | 3.7% | -0.8% | 38.1% | 74.3% | 92.9% |
| Valuation | |||||||||||||||||
| P/E | 38.84 | 38.84 | 33.07 | 34.26 | 41.21 | — | — | — | — | — | — | — | — | — | — | — | — |
| EV/EBITDA | 20.35 | 20.35 | 19.59 | 20.05 | 22.56 | — | — | — | — | — | — | — | — | — | — | — | — |
| P/B | 6.55 | 6.55 | 7.10 | 6.85 | 6.58 | — | — | — | — | — | — | — | — | — | — | — | — |
| Growth & Yield | |||||||||||||||||
| Revenue Growth | -3.3% | -3.3% | 2.4% | 1.2% | — | 9.2% | -3.4% | 16.7% | 15.2% | 33.0% | 11.7% | 18.6% | 51.2% | 10.2% | 24.3% | 29.3% | — |
| EPS Growth | — | — | 2.6% | 18.2% | — | 118.2% | 0.0% | -54.2% | 200.0% | -50.0% | 0.0% | 100.0% | — | — | 0.0% | 100.0% | — |
Revenue, Net Income & Free Cash Flow ($B)
Margins (%)
Returns (%)
Leverage & Liquidity
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
+24.3%
Start / end P/E
n/dx → n/dx
EPS bridge
0.40 → n/d
Residual
+24.3%
EPS/multiple decomposition requires positive EPS at both endpoints; residual absorbs price move not explained by dividends.
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.