Revenue
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $136.1M | $163.6M | $187.9M | $261.3M | $255.7M | $230.5M | $252.9M | $229.2M | $181.4M | $134.3M | $119.3M | $122.0M | $112.0M | $98.6M | $73.5M | $63.2M |
| Gross profit | $21.7M | $33.6M | $44.4M | $51.0M | $47.5M | $45.2M | $49.3M | $44.3M | $36.8M | $29.5M | $29.3M | $30.4M | $27.6M | $26.4M | $22.5M | $21.0M |
| Gross margin | 15.94% | 20.53% | 23.65% | 19.52% | 18.58% | 19.60% | 19.48% | 19.32% | 20.28% | 21.99% | 24.53% | 24.87% | 24.65% | 26.77% | 30.60% | 33.23% |
| Operating expenses | $38.6M | $32.9M | $38.9M | $45.6M | $43.3M | $35.5M | $39.1M | $40.6M | $32.7M | $27.3M | $26.0M | $27.1M | $24.7M | $22.5M | $19.6M | $18.2M |
| Operating income | −$16.9M | $700,000 | $5.6M | $5.4M | $4.2M | $9.7M | $10.2M | $3.7M | $4.1M | $2.2M | $3.3M | $3.3M | $2.9M | $3.9M | $2.9M | $2.8M |
| Operating margin | −12.42% | 0.43% | 2.97% | 2.06% | 1.64% | 4.22% | 4.03% | 1.63% | 2.25% | 1.64% | 2.74% | 2.70% | 2.59% | 3.98% | 3.92% | 4.48% |
| EBITDA | −$15.3M | $2.3M | $7.6M | $7.4M | $6.3M | $11.4M | $12.4M | $5.8M | $6.2M | $4.3M | $5.2M | $5.0M | $4.4M | $5.1M | $4.0M | $3.8M |
| EBITDA margin | −11.22% | 1.41% | 4.03% | 2.83% | 2.46% | 4.95% | 4.90% | 2.55% | 3.43% | 3.20% | 4.33% | 4.13% | 3.93% | 5.15% | 5.38% | 6.09% |
| Net income | −$24.6M | −$3.1M | $3.9M | −$732,000 | $2.0M | $3.4M | $2.4M | −$1.6M | −$923,000 | $173,000 | $892,000 | $3.3M | $4.2M | $3.5M | $2.3M | $2.3M |
| Net profit margin | −18.09% | −1.93% | 2.08% | −0.28% | 0.78% | 1.46% | 0.96% | −0.68% | −0.51% | 0.13% | 0.75% | 2.68% | 3.79% | 3.50% | 3.18% | 3.61% |
| Basic EPSper basic share | -$1.04 | -$0.13 | $0.17 | -$0.03 | -$0.08 | $0.16 | $0.12 | -$0.07 | -$0.04 | $0.01 | $0.04 | $0.16 | $0.16 | $0.14 | $0.11 | $0.11 |
| Diluted EPSper diluted share | -$1.04 | -$0.13 | $0.16 | -$0.03 | -$0.08 | $0.16 | $0.11 | -$0.07 | -$0.04 | $0.01 | $0.04 | $0.15 | $0.15 | $0.14 | $0.10 | $0.11 |
Reported shareholders
| Holder | % owned |
|---|---|
BROWN ROBERT G/ | ≈22.59%6.42M shares |
BARTELS WILLIAMS H | ≈16.58%4.71M shares |
Nantahala Capital Management, LLC | 4.65%1.32M shares |
SPAR Business Services Inc | ≈3.50%992.55K shares |
VANGUARD CAPITAL MANAGEMENT LLC | 1.78%504.2K shares |
Matacunas Mike R. | ≈0.82%234.21K shares |
Linnane William | ≈0.67%190.91K shares |
Hennen Steven Michael | ≈0.47%133K shares |
GEODE CAPITAL MANAGEMENT, LLC | 0.41%115.85K shares |
RBF Capital, LLC | 0.34%97.3K shares |
RENAISSANCE TECHNOLOGIES LLC | 0.27%76.94K shares |
VANGUARD FIDUCIARY TRUST CO | 0.18%51.49K shares |
CITADEL ADVISORS LLC | 0.13%38.15K shares |
BELZER KORI | ≈0.12%33.22K shares |
NORTHERN TRUST CORP | 0.11%31.97K shares |
CSS LLC/IL | 0.09%24.42K shares |
STATE STREET CORP | 0.07%20.59K shares |
XTX Topco Ltd | 0.06%18.11K shares |
OSAIC HOLDINGS, INC. | <0.01%2.34K shares |
Tower Research Capital LLC (TRC) | <0.01%754 shares |
Percentages use 28.4M shares of this listed class outstanding on Jun 30, 2026. ≈ compares the latest reported holding with a share total from a different date; it is not a confirmed current stake.
Gray completes the 100% scale. Reported positions may overlap; holders have different reporting dates.
| Transaction | Insider | Type | Shares | Price | Value | Owned after |
|---|---|---|---|---|---|---|
| Jun 11, 2026Form 4 | BROWN ROBERT G/TenPercentOwner | SellCommon Stock, $.01 par value | 10.0K | $0.85 | $8.5K | 2.88M |
| May 1, 2026Form 4 | Hennen Steven MichaelChief Financial Officer | BuyCommon Stock, $.01 par value | 78.0K | $0.64 | $49.9K | 133.0K |
| Dec 19, 2025Form 4 | Hennen Steven MichaelChief Financial Officer | BuyCommon Stock, $.01 par value | 55.0K | $0.78 | $42.9K | 55.0K |
| Oct 3, 2025Form 4 | Linnane WilliamPresident | BuyCommon Stock, $.01 par value | 173.0K | $1.02 | $176.5K | 190.9K |
| Sep 25, 2025Form 4 | BROWN ROBERT G/TenPercentOwner | SellCommon Stock, $.01 par value | 10.0K | $1.07 | $10.7K | 2.89M |