|
Concept
|
2025 | 2024 | 2023 | 2022 | 2021 |
|---|---|---|---|---|---|
| Revenue |
$476.7M
31.2%
YoY
|
$363.3M
15.54%
YoY
|
$314.5M
12.29%
YoY
|
$280.1M
8.74%
YoY
|
$257.5M
25.05%
YoY
|
| Cost Of Revenue |
$267.9M
50.35%
YoY
|
$178.2M
25.18%
YoY
|
$142.3M
19.19%
YoY
|
$119.4M
10.89%
YoY
|
$107.7M
12.16%
YoY
|
| Gross Profit |
$208.8M
12.77%
YoY
|
$185.2M
7.57%
YoY
|
$172.1M
7.16%
YoY
|
$160.6M
7.2%
YoY
|
$149.9M
36.32%
YoY
|
| Selling, General & Admin |
$93.74M
8.0%
YoY
|
$86.79M
11.97%
YoY
|
$77.52M
8.41%
YoY
|
$71.51M
7.41%
YoY
|
$66.57M
2.74%
YoY
|
| Research & Development |
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
| Depreciation & Amortization |
$10.41M
-14.12%
YoY
|
$12.12M
7.69%
YoY
|
$11.26M
9.04%
YoY
|
$10.32M
48.11%
YoY
|
$6.969M
10.79%
YoY
|
| Operating Expenses |
$172.7M
7.74%
YoY
|
$160.3M
9.9%
YoY
|
$145.9M
28.8%
YoY
|
$113.2M
-7.7%
YoY
|
$122.7M
8.33%
YoY
|
| Operating Profit |
$35.07M
49.83%
YoY
|
$23.40M
-10.35%
YoY
|
$26.11M
-44.93%
YoY
|
$47.41M
74.49%
YoY
|
$27.17M
-797.15%
YoY
|
| Interest Expense |
$4.375M
13.52%
YoY
|
$3.854M
32.35%
YoY
|
$2.912M
-88.23%
YoY
|
$24.75M
5921.41%
YoY
|
$411.0K
-54.33%
YoY
|
| Other Income/Expense, Net |
N/A
|
$2.000K
-300.0%
YoY
|
-$1.000K
N/A
|
N/A
|
N/A
|
| Pretax Income |
$39.44M
44.68%
YoY
|
$27.26M
-6.05%
YoY
|
$29.02M
-39.11%
YoY
|
$47.65M
72.79%
YoY
|
$27.58M
-1027.65%
YoY
|
| Income Tax |
$11.35M
56.12%
YoY
|
$7.269M
-9.58%
YoY
|
$8.039M
9.69%
YoY
|
$7.329M
-131.36%
YoY
|
-$23.37M
-3017.6%
YoY
|
| Net Earnings |
$28.09M
40.53%
YoY
|
$19.99M
-4.7%
YoY
|
$20.98M
-47.98%
YoY
|
$40.32M
-20.85%
YoY
|
$50.95M
-1440.76%
YoY
|
| Basic Earnings Per Share |
$0.91
37.88%
YoY
|
$0.66
-2.94%
YoY
|
$0.68
-45.6%
YoY
|
$1.25
-18.3%
YoY
|
$1.53
-1490.91%
YoY
|
| Diluted Earnings Per Share |
$0.87
38.1%
YoY
|
$0.63
-3.08%
YoY
|
$0.65
-45.83%
YoY
|
$1.20
-17.24%
YoY
|
$1.45
-1418.18%
YoY
|
| COMMON SHARES |
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
| Basic Shares Outstanding |
30.93M
1.43%
YoY
|
30.50M
-1.86%
YoY
|
31.08M
-3.77%
YoY
|
32.29M shares
-3.12%
YoY
|
33.33M shares
-0.83%
YoY
|
| Diluted Shares Outstanding |
32.41M
2.46%
YoY
|
31.63M
-1.37%
YoY
|
32.07M
-4.88%
YoY
|
33.72M shares
-3.73%
YoY
|
35.02M shares
4.2%
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 |
$120.7M
3.74%
YoY
|
$121.2M
-0.91%
YoY
|
$118.1M
10.44%
YoY
|
$119.9M
28.05%
YoY
|
$116.4M
27.25%
YoY
|
$122.3M
71.51%
YoY
|
$106.9M
33.73%
YoY
|
$93.61M
15.9%
YoY
|
$91.45M
12.28%
YoY
|
$71.33M
-1.32%
YoY
|
$79.96M
6.32%
YoY
|
$80.77M
15.61%
YoY
|
$81.45M
19.3%
YoY
|
$72.28M
8.36%
YoY
|
$75.20M
6.93%
YoY
|
$69.87M
0.29%
YoY
|
$68.28M
10.5%
YoY
|
$66.71M
19.65%
YoY
|
$70.33M
25.83%
YoY
|
| Cost Of Revenue |
$64.86M
-5.92%
YoY
|
$64.19M
-11.06%
YoY
|
$61.63M
5.91%
YoY
|
$65.11M
47.27%
YoY
|
$68.95M
55.91%
YoY
|
$72.16M
128.9%
YoY
|
$58.19M
66.35%
YoY
|
$44.21M
25.6%
YoY
|
$44.22M
9.55%
YoY
|
$31.53M
-0.78%
YoY
|
$34.98M
3.67%
YoY
|
$35.20M
21.67%
YoY
|
$40.37M
39.35%
YoY
|
$31.77M
14.45%
YoY
|
$33.75M
11.82%
YoY
|
$28.93M
1.36%
YoY
|
$28.97M
9.73%
YoY
|
$27.76M
22.84%
YoY
|
$30.18M
32.94%
YoY
|
| Gross Profit |
$55.87M
17.8%
YoY
|
$57.03M
13.69%
YoY
|
$56.45M
15.84%
YoY
|
$54.76M
10.86%
YoY
|
$47.43M
0.42%
YoY
|
$50.17M
26.05%
YoY
|
$48.74M
8.36%
YoY
|
$49.40M
8.41%
YoY
|
$47.23M
14.96%
YoY
|
$39.80M
-1.76%
YoY
|
$44.98M
8.49%
YoY
|
$45.57M
11.32%
YoY
|
$41.09M
4.53%
YoY
|
$40.51M
4.02%
YoY
|
$41.46M
3.48%
YoY
|
$40.93M
-0.46%
YoY
|
$39.31M
11.03%
YoY
|
$38.95M
17.38%
YoY
|
$40.06M
20.8%
YoY
|
| Selling, General & Admin |
$25.19M
20.4%
YoY
|
$26.78M
16.24%
YoY
|
$42.84M
11.99%
YoY
|
$23.92M
6.94%
YoY
|
$20.92M
-4.28%
YoY
|
$23.04M
12.04%
YoY
|
$38.26M
11.8%
YoY
|
$22.36M
-35.09%
YoY
|
$21.85M
19.69%
YoY
|
$20.57M
13.15%
YoY
|
$34.22M
8.4%
YoY
|
$34.45M
99.25%
YoY
|
$18.26M
-0.37%
YoY
|
$18.18M
-0.54%
YoY
|
$31.57M
5.09%
YoY
|
$17.29M
-0.28%
YoY
|
$18.33M
15.97%
YoY
|
$18.27M
13.47%
YoY
|
$30.04M
14.65%
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.640M
2.8%
YoY
|
$2.583M
2.66%
YoY
|
$2.668M
-5.49%
YoY
|
$2.657M
-16.94%
YoY
|
$2.568M
-19.62%
YoY
|
$2.516M
-13.36%
YoY
|
$2.823M
-0.07%
YoY
|
$3.199M
11.62%
YoY
|
$3.195M
13.99%
YoY
|
$2.904M
5.07%
YoY
|
$2.825M
1.77%
YoY
|
$2.866M
8.52%
YoY
|
$2.803M
7.68%
YoY
|
$2.764M
20.07%
YoY
|
$2.776M
61.11%
YoY
|
$2.641M
54.9%
YoY
|
$2.603M
55.87%
YoY
|
$2.302M
23.04%
YoY
|
$1.723M
9.75%
YoY
|
| Operating Expenses |
$46.15M
14.31%
YoY
|
$47.66M
10.93%
YoY
|
$45.51M
10.88%
YoY
|
$43.85M
7.12%
YoY
|
$40.37M
-0.51%
YoY
|
$42.96M
13.94%
YoY
|
$41.05M
10.85%
YoY
|
$40.93M
9.7%
YoY
|
$40.58M
13.17%
YoY
|
$37.71M
5.79%
YoY
|
$37.03M
7.82%
YoY
|
$37.31M
10.6%
YoY
|
$35.85M
2.95%
YoY
|
$35.64M
3.33%
YoY
|
$34.34M
8.98%
YoY
|
$33.74M
3.72%
YoY
|
$34.82M
17.0%
YoY
|
$34.49M
20.83%
YoY
|
$31.51M
13.76%
YoY
|
| Operating Profit |
$9.620M
41.41%
YoY
|
$9.371M
32.23%
YoY
|
$10.95M
42.33%
YoY
|
$10.22M
29.42%
YoY
|
$6.803M
3.15%
YoY
|
$7.087M
330.3%
YoY
|
$7.690M
-3.25%
YoY
|
$7.895M
-4.36%
YoY
|
$6.595M
25.71%
YoY
|
$1.647M
-65.16%
YoY
|
$7.948M
11.72%
YoY
|
$8.255M
-55.84%
YoY
|
$5.246M
-59.59%
YoY
|
$4.727M
5.44%
YoY
|
$7.114M
-16.79%
YoY
|
$18.70M
117.54%
YoY
|
$12.98M
130.28%
YoY
|
$4.483M
-3.09%
YoY
|
$8.549M
56.49%
YoY
|
| Interest Expense |
$1.052M
16.5%
YoY
|
$1.146M
3.9%
YoY
|
$1.292M
-1.0%
YoY
|
$1.077M
33.46%
YoY
|
$903.0K
50.25%
YoY
|
$1.103M
-3.33%
YoY
|
$1.305M
11.06%
YoY
|
$807.0K
4.13%
YoY
|
$601.0K
5.07%
YoY
|
$1.141M
193.32%
YoY
|
$1.175M
-74.87%
YoY
|
$775.0K
-93.2%
YoY
|
$572.0K
-93.31%
YoY
|
$389.0K
196.95%
YoY
|
$4.675M
-8301.75%
YoY
|
$11.40M
4386.61%
YoY
|
$8.546M
N/A
|
$131.0K
-34.5%
YoY
|
-$57.00K
-128.5%
YoY
|
| Other Income/Expense, Net |
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
$2.000K
-300.0%
YoY
|
N/A
|
N/A
|
N/A
|
-$1.000K
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
| Pretax Income |
$10.67M
38.49%
YoY
|
$10.52M
28.41%
YoY
|
$12.25M
42.89%
YoY
|
$11.30M
29.8%
YoY
|
$7.706M
7.09%
YoY
|
$8.190M
193.76%
YoY
|
$8.573M
-5.3%
YoY
|
$8.702M
-3.63%
YoY
|
$7.196M
23.69%
YoY
|
$2.788M
-45.5%
YoY
|
$9.053M
-20.73%
YoY
|
$9.030M
-51.43%
YoY
|
$5.818M
-55.35%
YoY
|
$5.116M
10.88%
YoY
|
$11.42M
38.37%
YoY
|
$18.59M
110.12%
YoY
|
$13.03M
129.91%
YoY
|
$4.614M
-4.09%
YoY
|
$8.253M
49.02%
YoY
|
| Income Tax |
$3.150M
380.92%
YoY
|
$3.028M
27.23%
YoY
|
$4.428M
101.46%
YoY
|
$3.885M
43.78%
YoY
|
$655.0K
-55.95%
YoY
|
$2.380M
170.15%
YoY
|
$2.198M
-20.76%
YoY
|
$2.702M
6.25%
YoY
|
$1.487M
-5.47%
YoY
|
$881.0K
-23.32%
YoY
|
$2.774M
-9.79%
YoY
|
$2.543M
16.49%
YoY
|
$1.573M
48.54%
YoY
|
$1.149M
13.54%
YoY
|
$3.075M
-112.55%
YoY
|
$2.183M
408.86%
YoY
|
$1.059M
160.2%
YoY
|
$1.012M
240.74%
YoY
|
-$24.50M
-24603.0%
YoY
|
| Net Earnings |
$7.522M
6.68%
YoY
|
$7.489M
28.9%
YoY
|
$7.822M
22.7%
YoY
|
$7.410M
23.5%
YoY
|
$7.051M
23.51%
YoY
|
$5.810M
204.67%
YoY
|
$6.375M
1.51%
YoY
|
$6.000M
-7.51%
YoY
|
$5.709M
34.49%
YoY
|
$1.907M
-51.93%
YoY
|
$6.280M
-24.75%
YoY
|
$6.487M
-60.46%
YoY
|
$4.245M
-64.54%
YoY
|
$3.967M
10.13%
YoY
|
$8.345M
-74.52%
YoY
|
$16.41M
94.89%
YoY
|
$11.97M
127.57%
YoY
|
$3.602M
-20.2%
YoY
|
$32.76M
506.59%
YoY
|
| Basic Earnings Per Share |
$0.24
4.35%
YoY
|
$0.24
26.32%
YoY
|
N/A
|
$0.24
20.0%
YoY
|
$0.23
21.05%
YoY
|
$0.19
216.67%
YoY
|
N/A
|
$0.20
-4.76%
YoY
|
$0.19
35.71%
YoY
|
$0.06
-50.0%
YoY
|
N/A
|
$0.21
-58.82%
YoY
|
$0.14
-62.16%
YoY
|
$0.12
9.09%
YoY
|
N/A
|
$0.51
104.0%
YoY
|
$0.37
131.25%
YoY
|
$0.11
-21.43%
YoY
|
$0.98
512.5%
YoY
|
| Diluted Earnings Per Share |
$0.23
4.55%
YoY
|
$0.23
27.78%
YoY
|
$0.24
19.88%
YoY
|
$0.23
21.05%
YoY
|
$0.22
22.22%
YoY
|
$0.18
200.0%
YoY
|
$0.20
1.62%
YoY
|
$0.19
-7.7%
YoY
|
$0.18
38.46%
YoY
|
$0.06
-50.0%
YoY
|
$0.20
-100.0%
YoY
|
$0.21
-58.83%
YoY
|
$0.13
-62.86%
YoY
|
$0.12
20.0%
YoY
|
$254.1K
27325310.44%
YoY
|
$0.50
108.33%
YoY
|
$0.35
133.33%
YoY
|
$0.10
-23.08%
YoY
|
$0.93
481.25%
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 |
31.01M
-0.08%
YoY
|
30.64M
-0.33%
YoY
|
31.24M
2.31%
YoY
|
31.22M
2.42%
YoY
|
31.04M
1.04%
YoY
|
30.74M
-0.05%
YoY
|
30.53M
-0.52%
YoY
|
30.48M
-0.64%
YoY
|
30.72M
-2.7%
YoY
|
30.76M
-14.08%
YoY
|
30.69M
-13.75%
YoY
|
30.68M
-3.85%
YoY
|
31.57M
-3.04%
YoY
|
35.80M shares
8.57%
YoY
|
35.58M shares
6.87%
YoY
|
31.91M shares
-4.38%
YoY
|
32.56M shares
-2.78%
YoY
|
32.97M shares
-0.62%
YoY
|
33.30M shares
-0.85%
YoY
|
| Diluted Shares Outstanding |
32.48M
-0.11%
YoY
|
32.30M
0.28%
YoY
|
N/A
|
32.50M
3.28%
YoY
|
32.52M
3.37%
YoY
|
32.20M
0.83%
YoY
|
N/A
|
31.46M
-0.16%
YoY
|
31.46M
-2.07%
YoY
|
31.94M
-3.03%
YoY
|
N/A
|
31.51M
-4.73%
YoY
|
32.12M
-5.53%
YoY
|
32.94M
-5.54%
YoY
|
N/A
|
33.08M shares
-6.66%
YoY
|
34.00M shares
-4.37%
YoY
|
34.87M shares
-0.12%
YoY
|
35.29M shares
3.85%
YoY
|
Loading...