|
Concept
|
2023 | 2022 | 2021 | 2020 | 2019 |
|---|---|---|---|---|---|
| Revenue |
$906.5M
0.16%
YoY
|
$905.1M
18.93%
YoY
|
$761.0M
24.32%
YoY
|
$612.1M
8.24%
YoY
|
$565.5M
13.47%
YoY
|
| Cost Of Revenue |
$574.5M
3.94%
YoY
|
$552.7M
17.89%
YoY
|
$468.8M
23.14%
YoY
|
$380.7M
7.48%
YoY
|
$354.2M
10.75%
YoY
|
| Gross Profit |
$332.0M
-5.77%
YoY
|
$352.4M
20.58%
YoY
|
$292.2M
26.28%
YoY
|
$231.4M
9.51%
YoY
|
$211.3M
18.35%
YoY
|
| Selling, General & Admin |
$170.6M
-0.33%
YoY
|
$171.1M
12.27%
YoY
|
$152.4M
13.18%
YoY
|
$134.7M
0.36%
YoY
|
$134.2M
13.25%
YoY
|
| Research & Development |
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
| Depreciation & Amortization |
$8.968M
5.28%
YoY
|
$8.518M
33.14%
YoY
|
$6.398M
17.83%
YoY
|
$5.430M
22.1%
YoY
|
$4.447M
9.21%
YoY
|
| Operating Expenses |
$170.6M
-0.33%
YoY
|
$171.1M
12.27%
YoY
|
$152.4M
13.18%
YoY
|
$134.7M
0.36%
YoY
|
$134.2M
13.25%
YoY
|
| Operating Profit |
$137.5M
-4.68%
YoY
|
$144.3M
36.2%
YoY
|
$105.9M
91.72%
YoY
|
$55.25M
-0.14%
YoY
|
$55.33M
53.94%
YoY
|
| Interest Expense |
-$363.0K
-88.49%
YoY
|
-$3.154M
-77.55%
YoY
|
-$14.05M
39.13%
YoY
|
-$10.10M
36.49%
YoY
|
-$7.400M
107.87%
YoY
|
| Other Income/Expense, Net |
-$676.0K
322.5%
YoY
|
-$160.0K
-60.1%
YoY
|
-$401.0K
54.23%
YoY
|
-$260.0K
-1062.96%
YoY
|
$27.00K
-325.0%
YoY
|
| Pretax Income |
$120.2M
-1.9%
YoY
|
$122.5M
117.63%
YoY
|
$56.30M
53.21%
YoY
|
$36.75M
-15.19%
YoY
|
$43.33M
56.92%
YoY
|
| Income Tax |
$37.50M
2.55%
YoY
|
$36.57M
251.9%
YoY
|
$10.39M
2.4%
YoY
|
$10.15M
-6.18%
YoY
|
$10.82M
38.44%
YoY
|
| Net Earnings |
$98.93M
-5.23%
YoY
|
$104.4M
100.4%
YoY
|
$52.09M
72.6%
YoY
|
$30.18M
-18.7%
YoY
|
$37.13M
51.17%
YoY
|
| Basic Earnings Per Share |
$2.91
-5.52%
YoY
|
$3.08
90.12%
YoY
|
$1.62
70.53%
YoY
|
$0.95
-19.49%
YoY
|
$1.18
55.26%
YoY
|
| Diluted Earnings Per Share |
$2.76
-4.83%
YoY
|
$2.90
93.33%
YoY
|
$1.50
61.29%
YoY
|
$0.93
-19.13%
YoY
|
$1.15
57.53%
YoY
|
| COMMON SHARES |
N/A
|
N/A
|
N/A
|
N/A
|
N/A
|
| Basic Shares Outstanding |
33.99M shares
0.36%
YoY
|
33.87M shares
5.18%
YoY
|
32.20M shares
1.29%
YoY
|
31.79M shares
1.43%
YoY
|
31.34M shares
-3.3%
YoY
|
| Diluted Shares Outstanding |
36.71M shares
-0.05%
YoY
|
36.73M shares
5.94%
YoY
|
34.67M shares
6.62%
YoY
|
32.52M shares
0.85%
YoY
|
32.24M shares
-3.76%
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 |
$222.8M
-3.59%
YoY
|
$215.3M
-6.96%
YoY
|
$220.8M
-5.07%
YoY
|
$223.2M
-1.94%
YoY
|
$231.1M
3.76%
YoY
|
$231.4M
4.18%
YoY
|
$232.6M
8.32%
YoY
|
$227.6M
18.04%
YoY
|
$222.7M
20.96%
YoY
|
$222.1M
31.16%
YoY
|
$214.7M
32.1%
YoY
|
$192.8M
22.29%
YoY
|
$184.1M
25.83%
YoY
|
$169.3M
16.34%
YoY
|
$162.6M
11.98%
YoY
|
$157.7M
8.98%
YoY
|
$146.3M
3.15%
YoY
|
$145.6M
8.78%
YoY
|
$145.2M
10.22%
YoY
|
| Cost Of Revenue |
$139.5M
-4.54%
YoY
|
$139.6M
-3.2%
YoY
|
$141.1M
0.07%
YoY
|
$143.0M
4.81%
YoY
|
$146.2M
6.88%
YoY
|
$144.2M
4.11%
YoY
|
$141.0M
7.38%
YoY
|
$136.4M
15.35%
YoY
|
$136.8M
20.84%
YoY
|
$138.5M
30.6%
YoY
|
$131.3M
31.78%
YoY
|
$118.3M
22.29%
YoY
|
$113.2M
24.16%
YoY
|
$106.1M
13.78%
YoY
|
$99.65M
11.47%
YoY
|
$96.70M
8.37%
YoY
|
$91.16M
1.83%
YoY
|
$93.22M
8.3%
YoY
|
$89.39M
9.25%
YoY
|
| Gross Profit |
$83.27M
-1.97%
YoY
|
$75.70M
-13.17%
YoY
|
$79.70M
-12.98%
YoY
|
$80.22M
-12.04%
YoY
|
$84.94M
-1.21%
YoY
|
$87.19M
4.3%
YoY
|
$91.59M
9.8%
YoY
|
$91.20M
22.31%
YoY
|
$85.98M
21.17%
YoY
|
$83.59M
32.1%
YoY
|
$83.42M
32.61%
YoY
|
$74.56M
22.28%
YoY
|
$70.96M
28.58%
YoY
|
$63.28M
20.89%
YoY
|
$62.91M
12.8%
YoY
|
$60.97M
9.96%
YoY
|
$55.18M
5.41%
YoY
|
$52.35M
9.64%
YoY
|
$55.77M
11.81%
YoY
|
| Selling, General & Admin |
$43.76M
-0.95%
YoY
|
$49.17M
11.94%
YoY
|
$40.35M
-7.76%
YoY
|
$42.11M
-4.89%
YoY
|
$44.18M
8.12%
YoY
|
$43.92M
3.95%
YoY
|
$43.74M
4.9%
YoY
|
$44.27M
12.61%
YoY
|
$40.86M
9.18%
YoY
|
$42.25M
24.34%
YoY
|
$41.70M
26.36%
YoY
|
$39.32M
13.74%
YoY
|
$37.42M
10.47%
YoY
|
$33.98M
2.28%
YoY
|
$33.00M
-2.94%
YoY
|
$34.57M
0.09%
YoY
|
$33.88M
2.16%
YoY
|
$33.22M
2.15%
YoY
|
$34.00M
4.62%
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 |
$1.840M
-76.25%
YoY
|
$2.011M
-12.75%
YoY
|
$6.500M
-25.62%
YoY
|
$2.194M
-6.84%
YoY
|
$7.747M
286.38%
YoY
|
$2.305M
23.06%
YoY
|
$8.739M
17.03%
YoY
|
$2.355M
46.55%
YoY
|
$2.005M
24.15%
YoY
|
$1.873M
28.29%
YoY
|
$7.467M
-14.17%
YoY
|
$1.607M
15.78%
YoY
|
$1.615M
22.63%
YoY
|
$1.460M
13.35%
YoY
|
$8.700M
64.15%
YoY
|
$1.388M
26.76%
YoY
|
$1.317M
23.08%
YoY
|
$1.288M
26.77%
YoY
|
$5.300M
-1.85%
YoY
|
| Operating Expenses |
$43.76M
-11.1%
YoY
|
$49.17M
11.94%
YoY
|
$46.89M
-11.69%
YoY
|
$42.11M
-4.89%
YoY
|
$49.22M
20.47%
YoY
|
$43.92M
3.95%
YoY
|
$53.10M
7.67%
YoY
|
$44.27M
12.61%
YoY
|
$40.86M
9.18%
YoY
|
$42.25M
24.34%
YoY
|
$49.32M
3.83%
YoY
|
$39.32M
13.74%
YoY
|
$37.42M
10.47%
YoY
|
$33.98M
2.28%
YoY
|
$47.50M
19.35%
YoY
|
$34.57M
0.09%
YoY
|
$33.88M
2.16%
YoY
|
$33.22M
2.15%
YoY
|
$39.80M
4.74%
YoY
|
| Operating Profit |
$23.40M
-34.48%
YoY
|
$15.70M
-57.68%
YoY
|
$32.40M
-13.24%
YoY
|
$32.22M
-3.02%
YoY
|
$35.71M
-9.67%
YoY
|
$37.10M
8.58%
YoY
|
$37.35M
18.12%
YoY
|
$33.22M
18.58%
YoY
|
$39.54M
51.53%
YoY
|
$34.17M
69.11%
YoY
|
$31.62M
105.13%
YoY
|
$28.01M
78.83%
YoY
|
$26.09M
122.28%
YoY
|
$20.21M
62.48%
YoY
|
$15.41M
-1.27%
YoY
|
$15.67M
-0.9%
YoY
|
$11.74M
-12.27%
YoY
|
$12.44M
18.1%
YoY
|
$15.61M
36.94%
YoY
|
| Interest Expense |
$729.0K
-346.28%
YoY
|
$767.0K
-251.88%
YoY
|
$431.0K
-150.95%
YoY
|
$0.00
-100.0%
YoY
|
-$296.0K
-63.23%
YoY
|
-$505.0K
-43.07%
YoY
|
-$846.0K
-78.35%
YoY
|
-$616.0K
-82.3%
YoY
|
-$805.0K
-76.09%
YoY
|
-$887.0K
-73.12%
YoY
|
-$3.908M
18.42%
YoY
|
-$3.481M
24.32%
YoY
|
-$3.367M
60.33%
YoY
|
-$3.300M
73.68%
YoY
|
-$3.300M
73.68%
YoY
|
-$2.800M
47.37%
YoY
|
-$2.100M
10.53%
YoY
|
-$1.900M
5.56%
YoY
|
-$1.900M
5.56%
YoY
|
| Other Income/Expense, Net |
$15.00K
-103.88%
YoY
|
$45.00K
-160.0%
YoY
|
$22.00K
-91.06%
YoY
|
-$236.0K
1080.0%
YoY
|
-$387.0K
152.94%
YoY
|
-$75.00K
-67.81%
YoY
|
$246.0K
-247.31%
YoY
|
-$20.00K
-80.58%
YoY
|
-$153.0K
1600.0%
YoY
|
-$233.0K
90.98%
YoY
|
-$167.0K
-44.33%
YoY
|
-$103.0K
-1244.44%
YoY
|
-$9.000K
-160.0%
YoY
|
-$122.0K
1642.86%
YoY
|
-$300.0K
N/A
|
$9.000K
-190.0%
YoY
|
$15.00K
66.67%
YoY
|
-$7.000K
-120.0%
YoY
|
$0.00
N/A
|
| Pretax Income |
$24.14M
-31.22%
YoY
|
$16.51M
-54.78%
YoY
|
$32.90M
-10.47%
YoY
|
$31.99M
-1.83%
YoY
|
$35.10M
-9.02%
YoY
|
$36.52M
10.5%
YoY
|
$36.75M
-3154.53%
YoY
|
$32.58M
34.76%
YoY
|
$38.58M
69.83%
YoY
|
$33.05M
96.87%
YoY
|
-$1.203M
-110.37%
YoY
|
$24.18M
183.5%
YoY
|
$22.72M
134.38%
YoY
|
$16.79M
59.84%
YoY
|
$11.60M
-15.54%
YoY
|
$8.529M
-38.65%
YoY
|
$9.693M
-15.91%
YoY
|
$10.50M
19.73%
YoY
|
$13.74M
43.25%
YoY
|
| Income Tax |
$6.706M
-23.27%
YoY
|
$4.958M
-49.0%
YoY
|
$9.696M
-5.75%
YoY
|
$9.391M
-1.86%
YoY
|
$8.740M
-19.07%
YoY
|
$9.721M
64.37%
YoY
|
$10.29M
-279.47%
YoY
|
$9.569M
41.05%
YoY
|
$10.80M
75.74%
YoY
|
$5.914M
85.1%
YoY
|
-$5.732M
-279.13%
YoY
|
$6.784M
188.44%
YoY
|
$6.145M
99.25%
YoY
|
$3.195M
108.96%
YoY
|
$3.200M
68.42%
YoY
|
$2.352M
-42.97%
YoY
|
$3.084M
2.83%
YoY
|
$1.529M
-12.43%
YoY
|
$1.900M
-9.52%
YoY
|
| Net Earnings |
$17.44M
-33.85%
YoY
|
$11.56M
-56.88%
YoY
|
$23.20M
-12.32%
YoY
|
$22.60M
-1.82%
YoY
|
$26.36M
-5.11%
YoY
|
$26.80M
-1.24%
YoY
|
$26.46M
484.21%
YoY
|
$23.02M
32.3%
YoY
|
$27.78M
67.63%
YoY
|
$27.14M
99.63%
YoY
|
$4.529M
-46.22%
YoY
|
$17.40M
181.63%
YoY
|
$16.57M
150.76%
YoY
|
$13.59M
51.47%
YoY
|
$8.421M
-28.59%
YoY
|
$6.177M
-36.83%
YoY
|
$6.609M
-22.5%
YoY
|
$8.974M
27.73%
YoY
|
$11.79M
57.71%
YoY
|
| Basic Earnings Per Share |
$0.51
-34.62%
YoY
|
$0.34
-56.96%
YoY
|
$0.68
-12.82%
YoY
|
$0.66
-2.94%
YoY
|
$0.78
-4.88%
YoY
|
$0.79
-1.25%
YoY
|
$0.78
457.14%
YoY
|
$0.68
25.93%
YoY
|
$0.82
57.69%
YoY
|
$0.80
86.05%
YoY
|
$0.14
-48.15%
YoY
|
$0.54
184.21%
YoY
|
$0.52
147.62%
YoY
|
$0.43
53.57%
YoY
|
$0.27
-28.95%
YoY
|
$0.19
-38.71%
YoY
|
$0.21
-22.22%
YoY
|
$0.28
27.27%
YoY
|
$0.38
58.33%
YoY
|
| Diluted Earnings Per Share |
$0.49
-31.75%
YoY
|
$0.33
-56.0%
YoY
|
$0.65
-12.16%
YoY
|
$0.63
-1.56%
YoY
|
$0.72
-6.76%
YoY
|
$0.75
0.0%
YoY
|
$0.74
469.23%
YoY
|
$0.64
33.33%
YoY
|
$0.77
57.14%
YoY
|
$0.75
82.93%
YoY
|
$0.13
-50.0%
YoY
|
$0.48
152.63%
YoY
|
$0.49
145.0%
YoY
|
$0.41
51.85%
YoY
|
$0.26
-27.78%
YoY
|
$0.19
-36.67%
YoY
|
$0.20
-25.93%
YoY
|
$0.27
22.73%
YoY
|
$0.36
56.52%
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 |
35.16M shares
0.91%
YoY
|
34.96M shares
0.78%
YoY
|
34.77M shares
0.41%
YoY
|
34.81M shares
0.61%
YoY
|
34.84M shares
2.73%
YoY
|
34.69M shares
2.51%
YoY
|
34.63M shares
5.13%
YoY
|
34.60M shares
8.18%
YoY
|
33.91M shares
6.24%
YoY
|
33.84M shares
6.21%
YoY
|
32.94M shares
-0.21%
YoY
|
31.99M shares
0.36%
YoY
|
31.92M shares
0.11%
YoY
|
31.86M shares
0.72%
YoY
|
33.01M shares
1.22%
YoY
|
31.87M shares
2.01%
YoY
|
31.89M shares
1.74%
YoY
|
31.64M shares
0.83%
YoY
|
32.61M shares
-1.72%
YoY
|
| Diluted Shares Outstanding |
37.07M shares
0.97%
YoY
|
36.91M shares
0.57%
YoY
|
N/A
|
36.71M shares
0.14%
YoY
|
36.72M shares
-0.18%
YoY
|
36.70M shares
-0.39%
YoY
|
N/A
|
36.66M shares
2.15%
YoY
|
36.79M shares
8.62%
YoY
|
36.84M shares
11.58%
YoY
|
N/A
|
35.89M shares
9.94%
YoY
|
33.87M shares
4.6%
YoY
|
33.02M shares
0.42%
YoY
|
N/A
|
32.65M shares
1.52%
YoY
|
32.38M shares
1.05%
YoY
|
32.88M shares
2.06%
YoY
|
N/A
|
Loading...