Revenue
2009
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 | 2009 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $76.3M | $74.4M | $76.2M | $80.3M | $82.7M | $64.1M | $74.9M | $83.2M | $82.4M | $82.9M | $84.2M | $83.4M | $78.3M | $72.7M | $66.1M | $59.9M | $54.5M |
| Gross profit | $43.5M | $41.8M | $45.2M | $46.5M | $47.0M | $36.1M | $42.0M | $50.9M | $49.1M | $51.7M | $52.1M | $52.1M | $49.3M | $45.9M | $40.3M | $36.3M | $32.6M |
| Gross margin | 57.04% | 56.19% | 59.25% | 57.88% | 56.86% | 56.27% | 56.01% | 61.22% | 59.56% | 62.36% | 61.87% | 62.48% | 63.01% | 63.13% | 61.02% | 60.53% | 59.85% |
| Operating expenses | $44.5M | $41.2M | $40.8M | $45.1M | $44.7M | $41.3M | $43.6M | $46.8M | $44.9M | $41.4M | $41.6M | $40.2M | $38.1M | $36.8M | $32.6M | $29.6M | $27.5M |
| Operating income | −$963,000 | $628,000 | $4.4M | $1.4M | $2.3M | −$6.3M | −$2.6M | $6.0M | $6.4M | $10.3M | $10.5M | $12.0M | $11.3M | $9.1M | $7.7M | $6.6M | $5.1M |
| Operating margin | −1.26% | 0.84% | 5.79% | 1.73% | 2.78% | −9.91% | −3.47% | 7.17% | 7.74% | 12.42% | 12.45% | 14.33% | 14.39% | 12.57% | 11.66% | 11.08% | 9.35% |
| EBITDA | −$63,000 | $1.8M | $5.6M | $2.6M | $3.4M | −$5.3M | −$897,000 | $7.8M | $8.3M | $12.0M | $12.0M | $13.4M | $12.5M | $10.2M | $8.7M | $7.6M | $6.2M |
| EBITDA margin | −0.08% | 2.46% | 7.36% | 3.22% | 4.11% | −8.35% | −1.20% | 9.33% | 10.01% | 14.50% | 14.31% | 16.05% | 15.92% | 14.04% | 13.20% | 12.70% | 11.42% |
| Net income | $9.1M | $827,000 | $3.8M | $1.2M | $1.4M | −$4.9M | −$1.9M | $4.4M | $2.5M | $6.4M | $6.4M | $7.7M | $7.3M | $5.6M | $4.8M | $4.2M | $3.3M |
| Net profit margin | 11.93% | 1.11% | 4.94% | 1.53% | 1.64% | −7.65% | −2.54% | 5.29% | 3.01% | 7.72% | 7.61% | 9.24% | 9.28% | 7.70% | 7.19% | 6.95% | 6.09% |
| Basic EPSper basic share | $1.11 | $0.10 | $0.45 | $0.15 | $0.16 | -$0.54 | -$0.21 | $0.48 | $0.27 | $0.69 | $0.64 | $0.76 | $0.71 | $0.55 | $0.47 | $0.41 | $0.32 |
| Diluted EPSper diluted share | $1.10 | $0.09 | $0.45 | $0.15 | $0.16 | -$0.54 | -$0.21 | $0.48 | $0.27 | $0.69 | $0.63 | $0.75 | $0.71 | $0.55 | $0.47 | $0.41 | $0.31 |
Reported shareholders
| Holder | % owned |
|---|---|
Bandera Partners LLC | 34.89%2.86M shares |
JCP Investment Management, LLC | 10.69%876.06K shares |
FIRST FOUNDATION ADVISORS | 2.74%224.35K shares |
Brooklands Fund Management Ltd | 2.63%215.72K shares |
Value Investment Professionals, LLC | 2.25%183.94K shares |
VANGUARD CAPITAL MANAGEMENT LLC | 1.76%144.43K shares |
MONEY CONCEPTS CAPITAL CORP | 0.98%80.6K shares |
Values First Advisors, Inc. | 0.71%57.78K shares |
George Kaiser Family Foundation | 0.53%43.44K shares |
CANTRELL VICTORIA MARIE | ≈0.37%29.94K shares |
RENAISSANCE TECHNOLOGIES LLC | 0.33%26.91K shares |
VANGUARD FIDUCIARY TRUST CO | 0.31%25.64K shares |
GEODE CAPITAL MANAGEMENT, LLC | 0.31%25.18K shares |
DIMENSIONAL FUND ADVISORS LP | 0.26%21.41K shares |
Saadeh-Jajeh Diana | ≈0.16%13.5K shares |
JAMES INVESTMENT RESEARCH, INC. | 0.15%12.57K shares |
NewEdge Advisors, LLC | 0.15%12.57K shares |
STATE STREET CORP | 0.15%12.06K shares |
Gehre Johnathan Lee | ≈0.13%10.37K shares |
Sullivan John Richmond | ≈0.13%10.37K shares |
Percentages use 8.19M 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.