MTZ vs PRIM
MasTec Inc. and Primoris Services Corp., side by side — 10 fiscal years reported in USD, drawn from SEC filings.
Most recent reported year
| Metric | MTZ | PRIM |
|---|---|---|
| Revenue | $14.3B | $7.6B |
| Net income | $399.0M | $274.9M |
| Gross margin | 12.5% | 10.7% |
| Net margin | 3.0% | 3.6% |
| Return on equity | 12.9% | 17.8% |
| Diluted EPS | $5.07 | $5.02 |
| Dividend / share | · | $0.32 |
| Payout ratio | · | 6.3% |
| Free cash flow | $285.7M | $340.5M |
| Equity | $3.3B | $1.7B |
| Net debt / equity | 0.55× | −0.04× |
| Current ratio | 1.32× | 1.26× |
| Revenue CAGR 5y | 17.7% | 16.8% |
| Profit CAGR 5y | 4.3% | 21.2% |
MTZ bills 1.9× the revenue of PRIM, and PRIM keeps more of each dollar of revenue as profit (3.6% against 3.0%).
The stronger figure of the pair is set in bold. That is arithmetic, not a recommendation — this page does not pick a winner. "·" marks a figure not available in our data.
10 years side by side
| Fiscal year | MTZ | PRIM |
|---|---|---|
| FY2025 | $14.3B | $7.6B |
| FY2024 | $12.3B | $6.4B |
| FY2023 | $12.0B | $5.7B |
| FY2022 | $9.8B | $4.4B |
| FY2021 | $8.0B | $3.5B |
| FY2020 | $6.3B | $3.5B |
| FY2019 | $7.2B | $3.1B |
| FY2018 | $6.9B | $2.9B |
| FY2017 | $6.6B | $2.4B |
| FY2016 | $5.1B | $2.0B |
Bottom line
| Fiscal year | MTZ | PRIM |
|---|---|---|
| FY2025 | $399.0M | $274.9M |
| FY2024 | $162.8M | $180.9M |
| FY2023 | $-49.9M | $126.1M |
| FY2022 | $33.4M | $133.0M |
| FY2021 | $328.8M | $115.7M |
| FY2020 | $322.8M | $105.0M |
| FY2019 | $392.3M | $82.3M |
| FY2018 | $259.7M | $77.5M |
| FY2017 | $347.2M | $72.4M |
| FY2016 | $131.3M | $26.7M |
17 fiscal years
| Fiscal year | Difference | Ahead |
|---|---|---|
| FY2025 | +$6,724,271,000 | MTZ |
| FY2024 | +$5,936,664,000 | MTZ |
| FY2023 | +$6,280,634,000 | MTZ |
| FY2022 | +$5,357,439,000 | MTZ |
| FY2021 | +$4,454,149,000 | MTZ |
| FY2020 | +$2,829,478,000 | MTZ |
| FY2019 | +$4,076,859,000 | MTZ |
| FY2018 | +$3,969,939,000 | MTZ |
| FY2017 | +$4,226,983,000 | MTZ |
| FY2016 | +$3,137,755,000 | MTZ |
| FY2015 | +$2,278,915,000 | MTZ |
| FY2014 | +$2,525,609,000 | MTZ |
| FY2013 | +$2,380,567,000 | MTZ |
| FY2012 | +$2,185,055,000 | MTZ |
| FY2011 | +$1,371,142,000 | MTZ |
| FY2010 | +$1,201,259,000 | MTZ |
| FY2009 | +$1,156,492,000 | MTZ |
MTZ has reported the higher revenue in every one of these 17 fiscal years. The gap has widened since the earliest year compared.
17 of 17 comparable fiscal years — a year missing data on either side is not counted.
16 fiscal years
| Fiscal year | Difference | Ahead |
|---|---|---|
| FY2025 | −0.7 pp | PRIM |
| FY2024 | −1.2 pp | PRIM |
| FY2023 | −2.6 pp | PRIM |
| FY2022 | −2.7 pp | PRIM |
| FY2021 | +0.9 pp | MTZ |
| FY2020 | +2.1 pp | MTZ |
| FY2019 | +2.8 pp | MTZ |
| FY2018 | +0.8 pp | MTZ |
| FY2017 | +2.1 pp | MTZ |
| FY2016 | +1.2 pp | MTZ |
| FY2015 | −3.8 pp | PRIM |
| FY2014 | −0.5 pp | PRIM |
| FY2013 | −0.6 pp | PRIM |
| FY2012 | −0.9 pp | PRIM |
| FY2011 | −0.3 pp | PRIM |
| FY2010 | +0.6 pp | MTZ |
The higher net margin has changed hands between MTZ and PRIM over this period.
16 of 17 comparable fiscal years — a year missing data on either side is not counted.
Standard deviation, each side
MTZ's net margin has been more volatile than PRIM's over the 16 comparable fiscal years — 2.0 percentage points of standard deviation against 0.7.
16 of 17 comparable fiscal years — a year missing data on either side is not counted.
Year by year
The lead in net margin changed hands between MTZ and PRIM over these 16 fiscal years — MTZ led in 7 and PRIM in 9.
16 of 17 comparable fiscal years — a year missing data on either side is not counted.
Standard deviation, each side
MTZ's return on equity has been more volatile than PRIM's over the 12 comparable fiscal years — 10.0 percentage points of standard deviation against 3.5.
12 of 17 comparable fiscal years — a year missing data on either side is not counted.
Year by year
The lead in return on equity changed hands between MTZ and PRIM over these 12 fiscal years — MTZ led in 6 and PRIM in 6.
12 of 17 comparable fiscal years — a year missing data on either side is not counted.