|
Concept
|
2023 | 2022 | 2021 | 2020 | 2019 |
|---|---|---|---|---|---|
| Revenue |
$461.3M
9.26%
YoY
|
$422.2M
6.49%
YoY
|
$396.5M
23.53%
YoY
|
$321.0M
-24.72%
YoY
|
$426.4M
7.07%
YoY
|
| Cost Of Revenue |
$115.9M
0.84%
YoY
|
$114.9M
19.1%
YoY
|
$96.48M
22.07%
YoY
|
$79.03M
-28.25%
YoY
|
$110.2M
8.05%
YoY
|
| Gross Profit |
$345.4M
12.41%
YoY
|
$307.3M
2.44%
YoY
|
$300.0M
24.0%
YoY
|
$241.9M
-23.49%
YoY
|
$316.2M
6.73%
YoY
|
| Selling, General & Admin |
$37.85M
17.05%
YoY
|
$32.33M
4.3%
YoY
|
$31.00M
24.52%
YoY
|
$24.90M
-14.98%
YoY
|
$29.28M
18.91%
YoY
|
| Research & Development |
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
| Depreciation & Amortization |
$21.14M
4.78%
YoY
|
$20.18M
-0.1%
YoY
|
$20.20M
0.83%
YoY
|
$20.03M
-3.41%
YoY
|
$20.74M
4.72%
YoY
|
| Operating Expenses |
$37.85M
17.05%
YoY
|
$32.33M
4.3%
YoY
|
$31.00M
24.52%
YoY
|
$24.90M
-14.98%
YoY
|
$29.28M
18.91%
YoY
|
| Operating Profit |
$33.59M
50.38%
YoY
|
$22.34M
-35.07%
YoY
|
$34.40M
-502.65%
YoY
|
-$8.544M
-348.66%
YoY
|
$3.436M
5.14%
YoY
|
| Interest Expense |
$3.331M
282.0%
YoY
|
$872.0K
505.56%
YoY
|
$144.0K
-43.97%
YoY
|
$257.0K
110.66%
YoY
|
$122.0K
46.99%
YoY
|
| Other Income/Expense, Net |
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
| Pretax Income |
$36.92M
59.08%
YoY
|
$23.21M
-32.26%
YoY
|
$34.26M
-489.25%
YoY
|
-$8.801M
-365.57%
YoY
|
$3.314M
4.05%
YoY
|
| Income Tax |
$5.410M
129.92%
YoY
|
$2.353M
-42.36%
YoY
|
$4.082M
-174.12%
YoY
|
-$5.507M
89.83%
YoY
|
-$2.901M
23.24%
YoY
|
| Net Earnings |
$31.51M
51.09%
YoY
|
$20.86M
-30.89%
YoY
|
$30.18M
-1016.09%
YoY
|
-$3.294M
-153.0%
YoY
|
$6.215M
12.2%
YoY
|
| Basic Earnings Per Share |
$1.77
58.04%
YoY
|
$1.12
-26.32%
YoY
|
$1.52
-944.44%
YoY
|
-$0.18
-148.65%
YoY
|
$0.37
12.12%
YoY
|
| Diluted Earnings Per Share |
$1.76
58.56%
YoY
|
$1.11
-26.0%
YoY
|
$1.50
-933.33%
YoY
|
-$0.18
-148.65%
YoY
|
$0.37
15.62%
YoY
|
| COMMON SHARES |
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
| Basic Shares Outstanding |
17.82M shares
-4.6%
YoY
|
18.68M shares
-5.81%
YoY
|
19.84M shares
7.82%
YoY
|
18.40M shares
9.97%
YoY
|
16.73M shares
-1.2%
YoY
|
| Diluted Shares Outstanding |
17.93M shares
-4.57%
YoY
|
18.79M shares
-6.4%
YoY
|
20.08M shares
9.15%
YoY
|
18.40M shares
9.34%
YoY
|
16.82M shares
-1.39%
YoY
|
|
Concept
|
2024 Q2 | 2024 Q1 | 2023 Q4 | 2023 Q3 | 2023 Q2 | 2023 Q1 | 2022 Q4 | 2022 Q3 | 2022 Q2 | 2022 Q1 | 2021 Q4 | 2021 Q3 | 2021 Q2 | 2021 Q1 | 2020 Q4 | 2020 Q3 | 2020 Q2 | 2020 Q1 | 2019 Q4 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue |
$119.8M
0.67%
YoY
|
$110.5M
-1.81%
YoY
|
$116.3M
11.76%
YoY
|
$113.5M
6.36%
YoY
|
$119.0M
7.26%
YoY
|
$112.5M
11.95%
YoY
|
$104.1M
5.51%
YoY
|
$106.7M
4.65%
YoY
|
$110.9M
2.58%
YoY
|
$100.5M
14.57%
YoY
|
$98.67M
25.37%
YoY
|
$101.9M
24.27%
YoY
|
$108.2M
64.59%
YoY
|
$87.71M
-7.19%
YoY
|
$78.70M
-22.87%
YoY
|
$82.03M
-24.8%
YoY
|
$65.71M
-41.92%
YoY
|
$94.50M
-7.45%
YoY
|
$102.0M
5.37%
YoY
|
| Cost Of Revenue |
$30.72M
4.37%
YoY
|
$27.82M
-3.12%
YoY
|
$29.20M
1.98%
YoY
|
$28.52M
-2.17%
YoY
|
$29.43M
-4.67%
YoY
|
$28.72M
9.43%
YoY
|
$28.64M
12.34%
YoY
|
$29.15M
16.73%
YoY
|
$30.87M
20.77%
YoY
|
$26.24M
28.35%
YoY
|
$25.49M
32.77%
YoY
|
$24.97M
26.0%
YoY
|
$25.57M
65.9%
YoY
|
$20.45M
-16.75%
YoY
|
$19.20M
-27.82%
YoY
|
$19.82M
-30.88%
YoY
|
$15.41M
-47.18%
YoY
|
$24.56M
-4.48%
YoY
|
$26.60M
4.31%
YoY
|
| Gross Profit |
$89.08M
-0.55%
YoY
|
$82.64M
-1.36%
YoY
|
$87.14M
15.48%
YoY
|
$84.95M
9.56%
YoY
|
$89.57M
11.86%
YoY
|
$83.78M
12.85%
YoY
|
$75.46M
3.13%
YoY
|
$77.53M
0.74%
YoY
|
$80.07M
-3.05%
YoY
|
$74.24M
10.38%
YoY
|
$73.17M
22.98%
YoY
|
$76.97M
23.72%
YoY
|
$82.59M
64.18%
YoY
|
$67.26M
-3.82%
YoY
|
$59.50M
-21.09%
YoY
|
$62.21M
-22.63%
YoY
|
$50.30M
-40.09%
YoY
|
$69.94M
-8.45%
YoY
|
$75.40M
5.75%
YoY
|
| Selling, General & Admin |
$8.800M
-6.29%
YoY
|
$8.583M
-8.26%
YoY
|
$52.98M
11.31%
YoY
|
$9.494M
15.2%
YoY
|
$9.391M
15.82%
YoY
|
$9.356M
15.98%
YoY
|
$47.60M
10.38%
YoY
|
$8.241M
1.34%
YoY
|
$8.108M
2.41%
YoY
|
$8.067M
3.09%
YoY
|
$43.12M
15.6%
YoY
|
$8.132M
30.84%
YoY
|
$7.917M
54.06%
YoY
|
$7.825M
16.29%
YoY
|
$37.30M
-27.71%
YoY
|
$6.215M
-16.77%
YoY
|
$5.139M
-30.67%
YoY
|
$6.729M
-11.67%
YoY
|
$51.60M
2.38%
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 |
$5.494M
5.21%
YoY
|
$5.440M
5.84%
YoY
|
$5.400M
5.65%
YoY
|
$5.378M
5.41%
YoY
|
$5.222M
4.84%
YoY
|
$5.140M
3.17%
YoY
|
$5.111M
0.22%
YoY
|
$5.102M
0.18%
YoY
|
$4.981M
-2.06%
YoY
|
$4.982M
1.3%
YoY
|
$5.100M
2.0%
YoY
|
$5.093M
5.14%
YoY
|
$5.086M
3.9%
YoY
|
$4.918M
-7.01%
YoY
|
$5.000M
-4.76%
YoY
|
$4.844M
-8.33%
YoY
|
$4.895M
-4.47%
YoY
|
$5.289M
4.18%
YoY
|
$5.250M
3.14%
YoY
|
| Operating Expenses |
$8.800M
-6.29%
YoY
|
$8.583M
-8.26%
YoY
|
$77.85M
11.24%
YoY
|
$9.494M
15.2%
YoY
|
$9.391M
15.82%
YoY
|
$9.356M
15.98%
YoY
|
$69.98M
10.34%
YoY
|
$8.241M
1.34%
YoY
|
$8.108M
2.41%
YoY
|
$8.067M
3.09%
YoY
|
$63.42M
15.73%
YoY
|
$8.132M
30.84%
YoY
|
$7.917M
54.06%
YoY
|
$7.825M
16.29%
YoY
|
$54.80M
-24.31%
YoY
|
$6.215M
-16.77%
YoY
|
$5.139M
-30.67%
YoY
|
$6.729M
-11.67%
YoY
|
$72.40M
3.58%
YoY
|
| Operating Profit |
$8.030M
-31.31%
YoY
|
$7.124M
-14.89%
YoY
|
$9.299M
69.5%
YoY
|
$7.348M
35.45%
YoY
|
$11.69M
36.07%
YoY
|
$8.370M
37.6%
YoY
|
$5.486M
-43.76%
YoY
|
$5.425M
-25.6%
YoY
|
$8.591M
-38.0%
YoY
|
$6.083M
2.06%
YoY
|
$9.754M
107.53%
YoY
|
$7.292M
118.65%
YoY
|
$13.86M
241.81%
YoY
|
$5.960M
-133.36%
YoY
|
$4.700M
-252.65%
YoY
|
$3.335M
-204.15%
YoY
|
$4.054M
-36.12%
YoY
|
-$17.86M
-629.93%
YoY
|
-$3.079M
-313.37%
YoY
|
| Interest Expense |
-$545.0K
-36.18%
YoY
|
-$606.0K
-22.01%
YoY
|
$755.0K
52.83%
YoY
|
-$945.0K
-385.5%
YoY
|
-$854.0K
-1238.67%
YoY
|
-$777.0K
-2875.0%
YoY
|
$494.0K
-2000.0%
YoY
|
$331.0K
347.3%
YoY
|
$75.00K
257.14%
YoY
|
$28.00K
21.74%
YoY
|
-$26.00K
N/A
|
$74.00K
124.24%
YoY
|
$21.00K
-86.27%
YoY
|
$23.00K
-55.77%
YoY
|
$0.00
N/A
|
$33.00K
17.86%
YoY
|
$153.0K
565.22%
YoY
|
$52.00K
33.33%
YoY
|
$0.00
N/A
|
| Other Income/Expense, Net |
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
|
| Pretax Income |
$8.575M
-31.64%
YoY
|
$7.730M
-15.49%
YoY
|
$6.936M
153.97%
YoY
|
$8.293M
44.08%
YoY
|
$12.54M
44.75%
YoY
|
$9.147M
51.07%
YoY
|
$2.731M
-62.42%
YoY
|
$5.756M
-20.25%
YoY
|
$8.666M
-37.37%
YoY
|
$6.055M
1.99%
YoY
|
$7.267M
282.47%
YoY
|
$7.218M
118.59%
YoY
|
$13.84M
254.68%
YoY
|
$5.937M
-133.14%
YoY
|
$1.900M
-161.29%
YoY
|
$3.302M
-202.23%
YoY
|
$3.901M
-38.3%
YoY
|
-$17.92M
-637.7%
YoY
|
-$3.100M
-321.43%
YoY
|
| Income Tax |
$1.162M
-35.8%
YoY
|
$814.0K
-12.0%
YoY
|
$1.456M
473.23%
YoY
|
$1.219M
58.93%
YoY
|
$1.810M
127.67%
YoY
|
$925.0K
72.25%
YoY
|
$254.0K
-80.08%
YoY
|
$767.0K
-37.03%
YoY
|
$795.0K
-65.52%
YoY
|
$537.0K
-174.9%
YoY
|
$1.275M
1175.0%
YoY
|
$1.218M
155.88%
YoY
|
$2.306M
-483.69%
YoY
|
-$717.0K
-86.99%
YoY
|
$100.0K
-105.88%
YoY
|
$476.0K
-133.69%
YoY
|
-$601.0K
-870.51%
YoY
|
-$5.512M
-4893.04%
YoY
|
-$1.700M
-15.0%
YoY
|
| Net Earnings |
$7.413M
-30.94%
YoY
|
$6.916M
-15.88%
YoY
|
$5.480M
121.24%
YoY
|
$7.074M
41.79%
YoY
|
$10.73M
36.37%
YoY
|
$8.222M
49.0%
YoY
|
$2.477M
-58.66%
YoY
|
$4.989M
-16.85%
YoY
|
$7.871M
-31.73%
YoY
|
$5.518M
-17.07%
YoY
|
$5.992M
232.89%
YoY
|
$6.000M
112.31%
YoY
|
$11.53M
156.11%
YoY
|
$6.654M
-153.64%
YoY
|
$1.800M
-225.87%
YoY
|
$2.826M
-255.53%
YoY
|
$4.502M
-27.91%
YoY
|
-$12.40M
-485.58%
YoY
|
-$1.430M
-141.94%
YoY
|
| Basic Earnings Per Share |
$0.43
-27.12%
YoY
|
$0.40
-13.04%
YoY
|
N/A
|
$0.40
48.15%
YoY
|
$0.59
40.48%
YoY
|
$0.46
58.62%
YoY
|
N/A
|
$0.27
-10.0%
YoY
|
$0.42
-27.59%
YoY
|
$0.29
-14.71%
YoY
|
N/A
|
$0.30
114.29%
YoY
|
$0.58
123.08%
YoY
|
$0.34
-145.33%
YoY
|
N/A
|
$0.14
-227.27%
YoY
|
$0.26
-29.73%
YoY
|
-$0.75
-494.74%
YoY
|
-$0.09
-145.0%
YoY
|
| Diluted Earnings Per Share |
$0.43
-27.12%
YoY
|
$0.40
-11.11%
YoY
|
$0.31
129.95%
YoY
|
$0.39
44.44%
YoY
|
$0.59
43.9%
YoY
|
$0.45
55.17%
YoY
|
$0.14
-100.0%
YoY
|
$0.27
-10.0%
YoY
|
$0.41
-28.07%
YoY
|
$0.29
-12.12%
YoY
|
$301.2K
229.65%
YoY
|
$0.30
114.29%
YoY
|
$0.57
119.23%
YoY
|
$0.33
-144.0%
YoY
|
$91.37K
-101522942.64%
YoY
|
$0.14
-227.27%
YoY
|
$0.26
-29.73%
YoY
|
-$0.75
-494.74%
YoY
|
-$0.09
-145.0%
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 |
17.23M shares
-4.92%
YoY
|
17.34M shares
-3.68%
YoY
|
17.35M shares
-3.58%
YoY
|
18.04M shares
-4.28%
YoY
|
18.12M shares
-4.22%
YoY
|
18.00M shares
-5.77%
YoY
|
18.00M shares
-9.12%
YoY
|
18.85M shares
-5.36%
YoY
|
18.92M shares
-5.31%
YoY
|
19.10M shares
-3.31%
YoY
|
19.80M shares
0.55%
YoY
|
19.91M shares
1.12%
YoY
|
19.98M shares
13.81%
YoY
|
19.75M shares
18.74%
YoY
|
19.69M shares
18.54%
YoY
|
19.69M shares
18.51%
YoY
|
17.56M shares
4.47%
YoY
|
16.64M shares
-1.39%
YoY
|
16.61M shares
-1.98%
YoY
|
| Diluted Shares Outstanding |
17.23M shares
-5.07%
YoY
|
17.41M shares
-4.23%
YoY
|
N/A
|
17.99M shares
-4.12%
YoY
|
18.15M shares
-4.36%
YoY
|
18.18M shares
-5.77%
YoY
|
N/A
|
18.76M shares
-6.66%
YoY
|
18.98M shares
-6.01%
YoY
|
19.29M shares
-4.16%
YoY
|
N/A
|
20.10M shares
1.6%
YoY
|
20.20M shares
14.9%
YoY
|
20.13M shares
20.98%
YoY
|
N/A
|
19.78M shares
18.32%
YoY
|
17.58M shares
4.26%
YoY
|
16.64M shares
-1.89%
YoY
|
N/A
|
Loading...