|
Concept
|
2025 | 2024 | 2023 |
|---|---|---|---|
| Revenue |
$5.581B
Revenue YoY Change
(Revenue[2025] - Revenue[2024]) / Revenue[2024] × 100
|
$6.368B
Revenue YoY Change
(Revenue[2024] - Revenue[2023]) / Revenue[2023] × 100
|
$6.968B
N/A
|
| Cost Of Revenue |
$5.298B
Cost Of Revenue YoY Change
(CostOfRevenue[2025] - CostOfRevenue[2024]) / CostOfRevenue[2024] × 100
|
$6.105B
Cost Of Revenue YoY Change
(CostOfRevenue[2024] - CostOfRevenue[2023]) / CostOfRevenue[2023] × 100
|
$6.715B
N/A
|
| Gross Profit |
$283.0M
Gross Profit YoY Change
(GrossProfit[2025] - GrossProfit[2024]) / GrossProfit[2024] × 100
|
$262.3M
Gross Profit YoY Change
(GrossProfit[2024] - GrossProfit[2023]) / GrossProfit[2023] × 100
|
$253.3M
N/A
|
| Selling, General & Admin |
$97.69M
Selling, General & Admin YoY Change
(SellingGeneralAndAdministrativeExpenses[2025] - SellingGeneralAndAdministrativeExpenses[2024]) / SellingGeneralAndAdministrativeExpenses[2024] × 100
|
$79.49M
Selling, General & Admin YoY Change
(SellingGeneralAndAdministrativeExpenses[2024] - SellingGeneralAndAdministrativeExpenses[2023]) / SellingGeneralAndAdministrativeExpenses[2023] × 100
|
$74.09M
N/A
|
| Research & Development |
N/A
|
N/A
|
N/A
|
| Depreciation & Amortization |
$54.73M
Depreciation & Amortization YoY Change
(DepreciationDepletionAndAmortizationTotal[2025] - DepreciationDepletionAndAmortizationTotal[2024]) / DepreciationDepletionAndAmortizationTotal[2024] × 100
|
$46.09M
Depreciation & Amortization YoY Change
(DepreciationDepletionAndAmortizationTotal[2024] - DepreciationDepletionAndAmortizationTotal[2023]) / DepreciationDepletionAndAmortizationTotal[2023] × 100
|
$44.16M
N/A
|
| Operating Expenses |
$199.0M
Operating Expenses YoY Change
(OperatingExpenses[2025] - OperatingExpenses[2024]) / OperatingExpenses[2024] × 100
|
$170.2M
Operating Expenses YoY Change
(OperatingExpenses[2024] - OperatingExpenses[2023]) / OperatingExpenses[2023] × 100
|
$163.8M
N/A
|
| Operating Profit |
Operating Income/Loss
Gross Profit - Operating Expenses
Operating Income YoY Change
(OperatingIncomeLoss[2025] - OperatingIncomeLoss[2024]) / OperatingIncomeLoss[2024] × 100
|
Operating Income/Loss
Gross Profit - Operating Expenses
Operating Income YoY Change
(OperatingIncomeLoss[2024] - OperatingIncomeLoss[2023]) / OperatingIncomeLoss[2023] × 100
|
Operating Income/Loss
Gross Profit - Operating Expenses
N/A
|
| Interest Expense |
-$42.09M
Interest Expense YoY Change
(InterestExpenses[2025] - InterestExpenses[2024]) / InterestExpenses[2024] × 100
|
-$36.68M
Interest Expense YoY Change
(InterestExpenses[2024] - InterestExpenses[2023]) / InterestExpenses[2023] × 100
|
-$35.06M
N/A
|
| Other Income/Expense, Net |
N/A
|
N/A
|
N/A
|
| Pretax Income |
$41.84M
Pretax Income YoY Change
(PretaxIncome[2025] - PretaxIncome[2024]) / PretaxIncome[2024] × 100
|
$55.33M
Pretax Income YoY Change
(PretaxIncome[2024] - PretaxIncome[2023]) / PretaxIncome[2023] × 100
|
$54.47M
N/A
|
| Income Tax |
$9.112M
Income Tax YoY Change
(IncomeTax[2025] - IncomeTax[2024]) / IncomeTax[2024] × 100
|
$15.11M
Income Tax YoY Change
(IncomeTax[2024] - IncomeTax[2023]) / IncomeTax[2023] × 100
|
$12.89M
N/A
|
| Net Earnings |
$32.73M
Net Income YoY Change
(NetIncome[2025] - NetIncome[2024]) / NetIncome[2024] × 100
|
$40.22M
Net Income YoY Change
(NetIncome[2024] - NetIncome[2023]) / NetIncome[2023] × 100
|
$41.38M
N/A
|
| Basic Earnings Per Share |
N/A
|
N/A
|
N/A
|
| Diluted Earnings Per Share |
$0.71
Diluted Earnings Per Share YoY Change
(DilutedEPS[2025] - DilutedEPS[2024]) / DilutedEPS[2024] × 100
|
$0.87
Diluted Earnings Per Share YoY Change
(DilutedEPS[2024] - DilutedEPS[2023]) / DilutedEPS[2023] × 100
|
$0.90
N/A
|
| COMMON SHARES |
N/A
|
N/A
|
N/A
|
| Basic Shares Outstanding |
N/A
|
N/A
|
N/A
|
| Diluted Shares Outstanding |
N/A
|
N/A
|
N/A
|
|
Concept
|
2026 Q2 | 2026 Q1 | 2025 Q4 | 2025 Q3 |
|---|---|---|---|---|
| Revenue |
$1.839B
Revenue YoY Change
(Revenue[2026 Q2] - Revenue[2025 Q2]) / Revenue[2025 Q2] × 100
|
$1.344B
Revenue YoY Change
(Revenue[2026 Q1] - Revenue[2025 Q1]) / Revenue[2025 Q1] × 100
|
$1.306B
Revenue YoY Change
(Revenue[2025 Q4] - Revenue[2024 Q4]) / Revenue[2024 Q4] × 100
|
$4.275B
N/A
|
| Cost Of Revenue |
$1.759B
N/A
|
$1.271B
N/A
|
$1.234B
Cost Of Revenue YoY Change
(CostOfRevenue[2025 Q4] - CostOfRevenue[2024 Q4]) / CostOfRevenue[2024 Q4] × 100
|
$4.064B
N/A
|
| Gross Profit |
$79.28M
N/A
|
$73.70M
N/A
|
$72.50M
Gross Profit YoY Change
(GrossProfit[2025 Q4] - GrossProfit[2024 Q4]) / GrossProfit[2024 Q4] × 100
|
$210.5M
N/A
|
| Selling, General & Admin |
$28.43M
N/A
|
$26.76M
N/A
|
$25.90M
Selling, General & Admin YoY Change
(SellingGeneralAndAdministrativeExpenses[2025 Q4] - SellingGeneralAndAdministrativeExpenses[2024 Q4]) / SellingGeneralAndAdministrativeExpenses[2024 Q4] × 100
|
$71.79M
N/A
|
| Research & Development |
N/A
|
N/A
|
N/A
|
N/A
|
| Depreciation & Amortization |
$14.72M
N/A
|
$14.79M
N/A
|
$14.18M
Depreciation & Amortization YoY Change
(DepreciationDepletionAndAmortizationTotal[2025 Q4] - DepreciationDepletionAndAmortizationTotal[2024 Q4]) / DepreciationDepletionAndAmortizationTotal[2024 Q4] × 100
|
$40.55M
N/A
|
| Operating Expenses |
$1.815B
Operating Expenses YoY Change
(OperatingExpenses[2026 Q2] - OperatingExpenses[2025 Q2]) / OperatingExpenses[2025 Q2] × 100
|
$1.323B
Operating Expenses YoY Change
(OperatingExpenses[2026 Q1] - OperatingExpenses[2025 Q1]) / OperatingExpenses[2025 Q1] × 100
|
$52.73M
Operating Expenses YoY Change
(OperatingExpenses[2025 Q4] - OperatingExpenses[2024 Q4]) / OperatingExpenses[2024 Q4] × 100
|
$146.3M
N/A
|
| Operating Profit |
$23.52M
Operating Income YoY Change
(OperatingIncomeLoss[2026 Q2] - OperatingIncomeLoss[2025 Q2]) / OperatingIncomeLoss[2025 Q2] × 100
|
$20.11M
Operating Income YoY Change
(OperatingIncomeLoss[2026 Q1] - OperatingIncomeLoss[2025 Q1]) / OperatingIncomeLoss[2025 Q1] × 100
|
Operating Income/Loss
Gross Profit - Operating Expenses
Operating Income YoY Change
(OperatingIncomeLoss[2025 Q4] - OperatingIncomeLoss[2024 Q4]) / OperatingIncomeLoss[2024 Q4] × 100
|
Operating Income/Loss
Gross Profit - Operating Expenses
N/A
|
| Interest Expense |
$7.435M
Interest Expense YoY Change
(InterestExpenses[2026 Q2] - InterestExpenses[2025 Q2]) / InterestExpenses[2025 Q2] × 100
|
$9.236M
Interest Expense YoY Change
(InterestExpenses[2026 Q1] - InterestExpenses[2025 Q1]) / InterestExpenses[2025 Q1] × 100
|
-$11.06M
Interest Expense YoY Change
(InterestExpenses[2025 Q4] - InterestExpenses[2024 Q4]) / InterestExpenses[2024 Q4] × 100
|
-$31.03M
N/A
|
| Other Income/Expense, Net |
N/A
|
N/A
|
N/A
|
N/A
|
| Pretax Income |
$16.35M
Pretax Income YoY Change
(PretaxIncome[2026 Q2] - PretaxIncome[2025 Q2]) / PretaxIncome[2025 Q2] × 100
|
$11.09M
Pretax Income YoY Change
(PretaxIncome[2026 Q1] - PretaxIncome[2025 Q1]) / PretaxIncome[2025 Q1] × 100
|
$8.706M
Pretax Income YoY Change
(PretaxIncome[2025 Q4] - PretaxIncome[2024 Q4]) / PretaxIncome[2024 Q4] × 100
|
$33.13M
N/A
|
| Income Tax |
$4.111M
Income Tax YoY Change
(IncomeTax[2026 Q2] - IncomeTax[2025 Q2]) / IncomeTax[2025 Q2] × 100
|
$3.003M
Income Tax YoY Change
(IncomeTax[2026 Q1] - IncomeTax[2025 Q1]) / IncomeTax[2025 Q1] × 100
|
$640.0K
Income Tax YoY Change
(IncomeTax[2025 Q4] - IncomeTax[2024 Q4]) / IncomeTax[2024 Q4] × 100
|
$8.472M
N/A
|
| Net Earnings |
$12.24M
Net Income YoY Change
(NetIncome[2026 Q2] - NetIncome[2025 Q2]) / NetIncome[2025 Q2] × 100
|
$8.082M
Net Income YoY Change
(NetIncome[2026 Q1] - NetIncome[2025 Q1]) / NetIncome[2025 Q1] × 100
|
$8.066M
Net Income YoY Change
(NetIncome[2025 Q4] - NetIncome[2024 Q4]) / NetIncome[2024 Q4] × 100
|
$24.66M
N/A
|
| Basic Earnings Per Share |
N/A
|
N/A
|
||
| Diluted Earnings Per Share |
$0.17
Diluted Earnings Per Share YoY Change
(DilutedEPS[2025 Q4] - DilutedEPS[2024 Q4]) / DilutedEPS[2024 Q4] × 100
|
$0.53
N/A
|
||
| COMMON SHARES |
N/A
|
N/A
|
N/A
|
N/A
|
| Basic Shares Outstanding |
12.57M shares
Basic Shares Outstanding YoY Change
(BasicSharesOutstanding[2026 Q2] - BasicSharesOutstanding[2025 Q2]) / BasicSharesOutstanding[2025 Q2] × 100
|
41.10M shares
Basic Shares Outstanding YoY Change
(BasicSharesOutstanding[2026 Q1] - BasicSharesOutstanding[2025 Q1]) / BasicSharesOutstanding[2025 Q1] × 100
|
N/A
|
N/A
|
| Diluted Shares Outstanding |
47.60M shares
Diluted Shares Outstanding YoY Change
(DilutedSharesOutstanding[2026 Q2] - DilutedSharesOutstanding[2025 Q2]) / DilutedSharesOutstanding[2025 Q2] × 100
|
41.10M shares
Diluted Shares Outstanding YoY Change
(DilutedSharesOutstanding[2026 Q1] - DilutedSharesOutstanding[2025 Q1]) / DilutedSharesOutstanding[2025 Q1] × 100
|
N/A
|
N/A
|
Loading...