Revenue
2018
2019
2020
2021
2022
2023
2024
2025
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $22.6M | $20.5M | $19.1M | $18.0M | $21.0M | $20.0M | $21.2M | $22.0M | $18.9M | $14.0M | $13.6M | $11.9M | $11.3M | $10.1M | $10.8M |
| Operating income | $6.2M | $5.0M | $5.1M | $4.4M | $2.9M | $1.5M | $4.0M | $3.5M | $3.9M | $687,441 | −$4.1M | −$2.6M | $398,199 | −$972,712 | $141,241 |
| EBITDAderived | $7.5M | $6.2M | $6.2M | $5.3M | $3.9M | $2.3M | $4.6M | $4.2M | $4.4M | $1.2M | −$3.3M | −$1.7M | $1.3M | −$72,619 | $928,031 |
| Net income | $7.0M | $6.0M | $5.6M | $4.0M | $4.1M | $1.6M | $3.9M | $3.4M | $3.8M | $666,503 | −$3.8M | −$2.5M | $257,487 | −$858,667 | −$205,463 |
| Basic EPSper diluted share | $0.36 | $0.30 | $0.27 | $0.18 | $0.18 | $0.05 | $0.17 | $0.14 | $0.15 | $0.00 | -$0.38 | -$0.19 | -$0.05 | -$0.14 | -$0.09 |
| Diluted EPSper diluted share | $0.35 | $0.29 | $0.27 | $0.18 | $0.18 | $0.05 | $0.16 | $0.14 | $0.15 | $0.00 | -$0.38 | -$0.19 | -$0.05 | -$0.14 | -$0.09 |
| Transaction | Insider | Type | Shares | Price | Value | Owned after |
|---|---|---|---|---|---|---|
| Mar 23, 2026Form 4 · 10b5-1 | FIELDS RANDALL KCHIEF EXECUTIVE OFFICER | SellCommon Stock · indirect | 7.5K | $8.06 | $60.5K | 70.0K |
| Mar 17, 2026Form 4 · 10b5-1 | FIELDS RANDALL KCHIEF EXECUTIVE OFFICER | SellCommon Stock · indirect | 1.4K | $8.05 | $11.5K | 77.5K |
| Mar 16, 2026Form 4 · 10b5-1 | FIELDS RANDALL KCHIEF EXECUTIVE OFFICER | SellCommon Stock · indirect | 6.1K | $8.05 | $48.9K | 78.9K |
| Mar 12, 2026Form 4 · 10b5-1 | FIELDS RANDALL KCHIEF EXECUTIVE OFFICER | SellCommon Stock · indirect | 4.0K | $8.06 | $32.2K | 85.0K |
| Mar 9, 2026Form 4 · 10b5-1 | FIELDS RANDALL KCHIEF EXECUTIVE OFFICER | SellCommon Stock · indirect | 3.5K | $8.56 | $30.0K | 89.0K |