|
Concept
|
2025 | 2024 | 2023 | 2022 | 2021 |
|---|---|---|---|---|---|
| Revenue |
$467.7M
10.67%
YoY
|
$422.6M
4.19%
YoY
|
$405.7M
-4.09%
YoY
|
$423.0M
16.12%
YoY
|
$364.2M
23.26%
YoY
|
| Cost Of Revenue |
$295.6M
14.44%
YoY
|
$258.3M
2.25%
YoY
|
$252.6M
-13.15%
YoY
|
$290.9M
13.44%
YoY
|
$256.4M
24.24%
YoY
|
| Gross Profit |
$172.1M
4.75%
YoY
|
$164.3M
7.37%
YoY
|
$153.0M
15.87%
YoY
|
$132.1M
22.5%
YoY
|
$107.8M
20.98%
YoY
|
| Selling, General & Admin |
$131.2M
5.98%
YoY
|
$123.8M
14.18%
YoY
|
$108.4M
6.24%
YoY
|
$102.1M
20.53%
YoY
|
$84.68M
37.86%
YoY
|
| Research & Development |
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
| Depreciation & Amortization |
$10.89M
2.02%
YoY
|
$10.68M
-1.0%
YoY
|
$10.78M
3.63%
YoY
|
$10.41M
3.59%
YoY
|
$10.04M
17.21%
YoY
|
| Operating Expenses |
$130.7M
3.28%
YoY
|
$126.6M
16.71%
YoY
|
$108.4M
6.24%
YoY
|
$102.1M
20.53%
YoY
|
$84.68M
37.86%
YoY
|
| Operating Profit |
$41.41M
9.67%
YoY
|
$37.76M
-15.34%
YoY
|
$44.60M
48.6%
YoY
|
$30.02M
29.68%
YoY
|
$23.15M
-16.43%
YoY
|
| Interest Expense |
-$1.388M
-299.43%
YoY
|
$696.0K
-608.03%
YoY
|
-$137.0K
-106.79%
YoY
|
$2.017M
-244.59%
YoY
|
-$1.395M
-74.6%
YoY
|
| Other Income/Expense, Net |
$1.608M
-45.19%
YoY
|
$2.934M
180.77%
YoY
|
$1.045M
-58.17%
YoY
|
$2.498M
-43.01%
YoY
|
$4.383M
-175.96%
YoY
|
| Pretax Income |
$43.02M
5.72%
YoY
|
$40.70M
-5.33%
YoY
|
$42.98M
32.21%
YoY
|
$32.51M
18.11%
YoY
|
$27.53M
25.54%
YoY
|
| Income Tax |
$10.36M
4.93%
YoY
|
$9.871M
0.68%
YoY
|
$9.804M
46.85%
YoY
|
$6.676M
31.18%
YoY
|
$5.089M
-3.23%
YoY
|
| Net Earnings |
$31.48M
5.01%
YoY
|
$29.98M
-7.68%
YoY
|
$32.47M
37.31%
YoY
|
$23.65M
13.81%
YoY
|
$20.78M
18.62%
YoY
|
| Basic Earnings Per Share |
$1.57
4.67%
YoY
|
$1.50
-7.98%
YoY
|
$1.63
36.97%
YoY
|
$1.19
5.31%
YoY
|
$1.13
-1.74%
YoY
|
| Diluted Earnings Per Share |
$1.56
4.7%
YoY
|
$1.49
-8.33%
YoY
|
$1.63
36.58%
YoY
|
$1.19
6.25%
YoY
|
$1.12
-0.88%
YoY
|
| COMMON SHARES |
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
| Basic Shares Outstanding |
20.06M shares
0.28%
YoY
|
20.00M shares
0.49%
YoY
|
19.91M shares
0.4%
YoY
|
19.83M shares
7.69%
YoY
|
18.41M shares
21.3%
YoY
|
| Diluted Shares Outstanding |
20.18M shares
0.28%
YoY
|
20.12M shares
0.73%
YoY
|
19.98M shares
0.26%
YoY
|
19.93M shares
7.33%
YoY
|
18.57M shares
20.18%
YoY
|
|
Concept
|
2026 Q1 | 2025 Q4 | 2025 Q3 | 2025 Q2 | 2025 Q1 | 2024 Q4 | 2024 Q3 | 2024 Q2 | 2024 Q1 | 2023 Q4 | 2023 Q3 | 2023 Q2 | 2023 Q1 | 2022 Q4 | 2022 Q3 | 2022 Q2 | 2022 Q1 | 2021 Q4 | 2021 Q3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue |
$116.9M
12.86%
YoY
|
$115.6M
13.74%
YoY
|
$124.5M
10.41%
YoY
|
$124.0M
10.11%
YoY
|
$103.6M
8.38%
YoY
|
$101.6M
6.35%
YoY
|
$112.8M
6.86%
YoY
|
$112.6M
3.55%
YoY
|
$95.61M
-0.2%
YoY
|
$95.58M
3.15%
YoY
|
$105.5M
-4.06%
YoY
|
$108.7M
-5.35%
YoY
|
$95.80M
-9.12%
YoY
|
$92.67M
1.46%
YoY
|
$110.0M
7.09%
YoY
|
$114.9M
21.53%
YoY
|
$105.4M
39.3%
YoY
|
$91.33M
29.77%
YoY
|
$102.7M
34.58%
YoY
|
| Cost Of Revenue |
$75.42M
19.98%
YoY
|
$76.27M
23.36%
YoY
|
$81.60M
17.79%
YoY
|
$74.88M
8.22%
YoY
|
$62.86M
8.36%
YoY
|
$61.83M
0.55%
YoY
|
$69.27M
4.04%
YoY
|
$69.19M
3.46%
YoY
|
$58.01M
0.61%
YoY
|
$61.49M
-2.4%
YoY
|
$66.58M
-12.19%
YoY
|
$66.88M
-17.35%
YoY
|
$57.66M
-18.93%
YoY
|
$63.00M
-0.03%
YoY
|
$75.83M
3.99%
YoY
|
$80.92M
21.81%
YoY
|
$71.12M
31.6%
YoY
|
$63.02M
23.36%
YoY
|
$72.92M
36.84%
YoY
|
| Gross Profit |
$41.53M
1.87%
YoY
|
$39.35M
-1.19%
YoY
|
$42.92M
-1.33%
YoY
|
$49.11M
13.13%
YoY
|
$40.76M
8.4%
YoY
|
$39.82M
16.8%
YoY
|
$43.50M
11.69%
YoY
|
$43.41M
3.69%
YoY
|
$37.60M
-1.42%
YoY
|
$34.09M
14.93%
YoY
|
$38.94M
13.98%
YoY
|
$41.86M
23.25%
YoY
|
$38.14M
11.24%
YoY
|
$29.67M
4.79%
YoY
|
$34.17M
14.68%
YoY
|
$33.96M
20.88%
YoY
|
$34.29M
58.55%
YoY
|
$28.31M
46.68%
YoY
|
$29.79M
29.36%
YoY
|
| Selling, General & Admin |
$33.06M
0.31%
YoY
|
$30.67M
-1.58%
YoY
|
$34.75M
7.73%
YoY
|
$32.84M
3.4%
YoY
|
$32.96M
19.71%
YoY
|
$31.16M
6.8%
YoY
|
$32.25M
15.71%
YoY
|
$31.76M
21.86%
YoY
|
$27.53M
8.34%
YoY
|
$29.18M
17.39%
YoY
|
$27.87M
6.15%
YoY
|
$26.06M
-0.38%
YoY
|
$25.41M
2.48%
YoY
|
$24.85M
17.39%
YoY
|
$26.26M
7.49%
YoY
|
$26.16M
23.24%
YoY
|
$24.80M
38.89%
YoY
|
$21.17M
22.8%
YoY
|
$24.43M
52.78%
YoY
|
| Research & Development |
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
| Depreciation & Amortization |
$2.741M
1.97%
YoY
|
$2.759M
-43.03%
YoY
|
$2.766M
2.79%
YoY
|
$5.323M
100.11%
YoY
|
$2.688M
2.24%
YoY
|
$4.843M
77.72%
YoY
|
$2.691M
-0.37%
YoY
|
$2.660M
-1.88%
YoY
|
$2.629M
-0.15%
YoY
|
$2.725M
2.71%
YoY
|
$2.701M
4.0%
YoY
|
$2.711M
5.98%
YoY
|
$2.633M
1.9%
YoY
|
$2.653M
3.35%
YoY
|
$2.597M
2.73%
YoY
|
$2.558M
3.19%
YoY
|
$2.584M
4.87%
YoY
|
$2.567M
3.93%
YoY
|
$2.528M
13.16%
YoY
|
| Operating Expenses |
$33.06M
0.36%
YoY
|
$30.67M
-4.96%
YoY
|
$34.35M
6.57%
YoY
|
$32.56M
0.82%
YoY
|
$32.94M
11.57%
YoY
|
$32.27M
10.6%
YoY
|
$32.23M
16.92%
YoY
|
$32.29M
13.22%
YoY
|
$29.53M
16.19%
YoY
|
$29.17M
17.39%
YoY
|
$27.56M
4.97%
YoY
|
$28.52M
9.02%
YoY
|
$25.41M
2.48%
YoY
|
$24.85M
17.39%
YoY
|
$26.26M
7.49%
YoY
|
$26.16M
23.24%
YoY
|
$24.80M
38.89%
YoY
|
$21.17M
22.87%
YoY
|
$24.43M
52.78%
YoY
|
| Operating Profit |
$8.464M
8.24%
YoY
|
$8.681M
14.92%
YoY
|
$8.573M
-23.93%
YoY
|
$16.55M
48.9%
YoY
|
$7.820M
-3.17%
YoY
|
$7.554M
53.57%
YoY
|
$11.27M
-0.97%
YoY
|
$11.12M
-16.67%
YoY
|
$8.076M
-36.57%
YoY
|
$4.919M
2.22%
YoY
|
$11.38M
43.87%
YoY
|
$13.34M
70.97%
YoY
|
$12.73M
34.15%
YoY
|
$4.812M
-32.6%
YoY
|
$7.910M
47.44%
YoY
|
$7.802M
13.57%
YoY
|
$9.491M
151.68%
YoY
|
$7.139M
244.88%
YoY
|
$5.365M
-23.81%
YoY
|
| Interest Expense |
N/A
|
$471.0K
12.95%
YoY
|
$557.0K
-1171.15%
YoY
|
-$2.712M
-998.01%
YoY
|
$296.0K
-43.51%
YoY
|
$417.0K
-3890.91%
YoY
|
-$52.00K
-109.7%
YoY
|
$302.0K
-47.29%
YoY
|
$524.0K
28.75%
YoY
|
-$11.00K
-93.08%
YoY
|
$536.0K
-208.72%
YoY
|
$573.0K
141.77%
YoY
|
$407.0K
-51.55%
YoY
|
-$159.0K
-47.35%
YoY
|
-$493.0K
60.06%
YoY
|
$237.0K
-121.01%
YoY
|
$840.0K
202.16%
YoY
|
-$302.0K
-68.21%
YoY
|
-$308.0K
-63.64%
YoY
|
| Other Income/Expense, Net |
$918.0K
-17.74%
YoY
|
$726.0K
21.0%
YoY
|
$1.334M
126.49%
YoY
|
-$2.039M
-313.96%
YoY
|
$1.116M
197.6%
YoY
|
$600.0K
86.34%
YoY
|
$589.0K
-11.3%
YoY
|
$953.0K
44.18%
YoY
|
$375.0K
-151.51%
YoY
|
$322.0K
33.61%
YoY
|
$664.0K
364.34%
YoY
|
$661.0K
-42.22%
YoY
|
-$728.0K
-164.48%
YoY
|
$241.0K
5.24%
YoY
|
$143.0K
-695.83%
YoY
|
$1.144M
-71.51%
YoY
|
$1.129M
142.8%
YoY
|
$229.0K
-11.92%
YoY
|
-$24.00K
-97.66%
YoY
|
| Pretax Income |
$9.382M
4.99%
YoY
|
$9.668M
16.24%
YoY
|
$9.907M
-16.46%
YoY
|
$14.51M
20.24%
YoY
|
$8.936M
5.74%
YoY
|
$8.317M
68.5%
YoY
|
$11.86M
-1.54%
YoY
|
$12.07M
-13.8%
YoY
|
$8.451M
-29.6%
YoY
|
$4.936M
0.86%
YoY
|
$12.04M
49.56%
YoY
|
$14.00M
56.49%
YoY
|
$12.00M
13.03%
YoY
|
$4.894M
-30.74%
YoY
|
$8.053M
50.78%
YoY
|
$8.946M
-17.81%
YoY
|
$10.62M
150.71%
YoY
|
$7.066M
415.77%
YoY
|
$5.341M
-11.23%
YoY
|
| Income Tax |
$2.241M
5.66%
YoY
|
$2.474M
0.65%
YoY
|
$2.304M
-11.28%
YoY
|
$3.459M
21.75%
YoY
|
$2.121M
7.39%
YoY
|
$2.458M
223.85%
YoY
|
$2.597M
-10.57%
YoY
|
$2.841M
-14.5%
YoY
|
$1.975M
-29.91%
YoY
|
$759.0K
115.01%
YoY
|
$2.904M
52.84%
YoY
|
$3.323M
95.47%
YoY
|
$2.818M
4.37%
YoY
|
$353.0K
-67.56%
YoY
|
$1.900M
46.15%
YoY
|
$1.700M
13.33%
YoY
|
$2.700M
125.0%
YoY
|
$1.088M
-594.55%
YoY
|
$1.300M
-13.33%
YoY
|
| Net Earnings |
$6.741M
5.18%
YoY
|
$6.810M
21.28%
YoY
|
$7.325M
-19.45%
YoY
|
$10.93M
20.15%
YoY
|
$6.409M
3.94%
YoY
|
$5.615M
44.05%
YoY
|
$9.094M
0.32%
YoY
|
$9.100M
-13.35%
YoY
|
$6.166M
-31.53%
YoY
|
$3.898M
-14.16%
YoY
|
$9.065M
48.7%
YoY
|
$10.50M
65.54%
YoY
|
$9.005M
35.07%
YoY
|
$4.541M
-19.33%
YoY
|
$6.096M
61.01%
YoY
|
$6.344M
-33.8%
YoY
|
$6.667M
274.55%
YoY
|
$5.629M
511.85%
YoY
|
$3.786M
-7.02%
YoY
|
| Basic Earnings Per Share |
$0.34
6.25%
YoY
|
N/A
|
$0.36
-20.0%
YoY
|
$0.55
19.57%
YoY
|
$0.32
3.23%
YoY
|
N/A
|
$0.45
-2.17%
YoY
|
$0.46
-13.21%
YoY
|
$0.31
-31.11%
YoY
|
N/A
|
$0.46
48.39%
YoY
|
$0.53
65.63%
YoY
|
$0.45
32.35%
YoY
|
N/A
|
$0.31
63.16%
YoY
|
$0.32
-37.25%
YoY
|
$0.34
183.33%
YoY
|
N/A
|
$0.19
-29.63%
YoY
|
| Diluted Earnings Per Share |
$0.34
6.25%
YoY
|
$0.34
21.56%
YoY
|
$0.36
-20.0%
YoY
|
$0.54
20.0%
YoY
|
$0.32
3.23%
YoY
|
$0.28
42.95%
YoY
|
$0.45
0.0%
YoY
|
$0.45
-15.09%
YoY
|
$0.31
-31.11%
YoY
|
$0.19
-14.52%
YoY
|
$0.45
45.16%
YoY
|
$0.53
65.63%
YoY
|
$0.45
32.35%
YoY
|
$0.23
-100.0%
YoY
|
$0.31
63.16%
YoY
|
$0.32
-36.0%
YoY
|
$0.34
183.33%
YoY
|
$282.4K
504.95%
YoY
|
$0.19
-26.92%
YoY
|
| COMMON SHARES |
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
| Basic Shares Outstanding |
19.96M shares
-0.36%
YoY
|
20.10M shares
0.38%
YoY
|
20.09M shares
0.39%
YoY
|
20.06M shares
0.42%
YoY
|
20.04M shares
0.32%
YoY
|
20.02M shares
0.3%
YoY
|
20.01M shares
0.64%
YoY
|
19.98M shares
0.44%
YoY
|
19.97M shares
0.43%
YoY
|
19.96M shares
0.28%
YoY
|
19.89M shares
0.28%
YoY
|
19.89M shares
0.4%
YoY
|
19.89M shares
0.4%
YoY
|
19.91M shares
0.55%
YoY
|
19.83M shares
0.62%
YoY
|
19.81M shares
4.76%
YoY
|
19.81M shares
30.6%
YoY
|
19.80M shares
N/A
|
19.71M shares
29.83%
YoY
|
| Diluted Shares Outstanding |
20.07M shares
-0.62%
YoY
|
N/A
|
20.20M shares
0.33%
YoY
|
20.19M shares
0.38%
YoY
|
20.20M shares
0.62%
YoY
|
N/A
|
20.13M shares
0.7%
YoY
|
20.11M shares
0.8%
YoY
|
20.08M shares
0.68%
YoY
|
N/A
|
20.00M shares
0.29%
YoY
|
19.95M shares
0.14%
YoY
|
19.94M shares
0.2%
YoY
|
N/A
|
19.94M shares
0.29%
YoY
|
19.93M shares
4.74%
YoY
|
19.90M shares
29.2%
YoY
|
N/A
|
19.88M shares
28.67%
YoY
|
Loading...