UNIVERSAL LOGISTICS HOLDINGS, INC.
ULH · Industrials · $379.2M mkt cap · FY2025 filings · No moat ·
Doesn't clear the bar
The five investor questions
2009–2025: revenue 503230000.00 to 1558397000.00, increasing; diluted EPS 0.15 to -3.79, decreasing.
Not enough years of gross-margin data to score pricing power.
Median ROIC 9.6%, above the 12% hurdle in 20% of years.
Net debt/EBITDA 9.4x, interest coverage -1x.
Owner earnings trend unclear, share count shrinking (buybacks).
The pricingPower component abstained: Not enough years of gross-margin data to score pricing power. The other four 20% weights were renormalized over the scored 80%.
Price vs. owner-earnings value range
- Owner earnings (normalized)
- $102.4M
- Value range / share
- $43.22–$43.22
- Conservative high estimate / share
- $43.22
- Recent price
- $14.40
- Price vs. high estimate
- 67% below high estimate
Conservative range under moat-index@2.0.0: low end 11.1×, high end capped at 18×; 9% discount rate; high-end growth 0% (capped at 4%) using min(5y revenue CAGR, 5y diluted-EPS CAGR), clamped to 0%–4%; maintenance capex uses min(capex, D&A); abstain when D&A is unavailable. This is a disclosed model range, not intrinsic value as fact.
18 years of fundamentals
The business, in plain English
Across the filed record, revenue grew from $503.2M (FY2009) to $1.6B (FY2025) — about 7.3% a year compounded over 16 years.
It earned −3.9% on invested capital in FY2025, with a median of 11.0% across 17 filed years. The Returns on Capital filter above scores it 27/100.
The balance sheet carried $797.6M of total debt in FY2025. Balance-Sheet Safety scores it 0/100.
The share count rose 68.1% between FY2010 and FY2025 — existing owners have been diluted over the record. Capital Discipline scores it 59/100.
This breakdown is generated from the filed numbers and sub-scores above — no outside narrative, no estimates. Where a filing doesn’t disclose an input, the sentence that would need it is omitted instead of guessed.
Not disclosed in ULH’s filings for these years — we don’t estimate it.
Gaps in a line mean that item isn’t in ULH’s filings for that year — the series is never interpolated or estimated. The Table view lists every filed value, including operating and net margins, total debt, and share count.
Moat Score history
Tier changesSame-methodology crossings of the Wide / Narrow / Shallow bars
- Methodology upgraded moat-index@1.2.0tomoat-index@2.0.0 — readings across versions aren’t comparedJul 20, 2026
Scores are logged append-only and never overwritten — this record can’t be backfilled, which is exactly why it’s worth keeping.
Track record
How UNIVERSAL LOGISTICS HOLDINGS, INC.’s moat rated in each of the years we can reconstruct from its filings — scored only on what was knowable at the time — and what its price and returns did afterward. The score never saw a price; the two are joined only in hindsight, for education, not as a signal.
How to read this: each dot is what the engine would have scored ULH on that December 31; the line below is its total-return price path (dividends reinvested) in the years since.
Two tracks, one timeline: the score has its own 0–100 scale (top), the price its own 100-based scale (bottom) — never a shared axis. The price path is a total-return (dividends reinvested) index built from the same data the forward returns use; gaps in the score line are years with no reconstructed rating (see the table for why). The Table view carries every value.
What followed, in the years it rated Wide
In the 2 years ULH rated Wide-moat (2013 and 2014), the median forward total return that followed — measured only after each year’s filings were public — was:
- 1 year −28% vs the S&P 500’s 5% (price basis) · median over 2 years
- 3 years −27% vs the S&P 500’s 27% (price basis) · median over 2 years
- 5 years −30% vs the S&P 500’s 48% (price basis) · median over 2 years
These are medians computed from the data, not a claim about any one year. The company figures are total returns (dividends reinvested); the S&P 500 is the price-only ^GSPC index, which excludes dividends and so understates the index — the gap flatters the company. A quality rating is not a return forecast, and past returns don’t predict future ones. Educational only, not investment advice.
Industrials context
#287 of 423 scored Industrials companies, ranked by Moat Score.
Nearest peers by Moat Score
- #285MWYN MARWYNN HOLDINGS, INC.34.2 out of 100, No moatNo moat
- #286MTRN MATERION CORPORATION34.1 out of 100, No moatNo moat
- #288CETX CEMTREX, INC.34.1 out of 100, No moatNo moat
- #289MMCP MAG MILE CAPITAL, INC.34.1 out of 100, No moatNo moat
Compare ULH with its nearest peers →All Industrials companies on the Index →
Common questions about ULH
- Does UNIVERSAL LOGISTICS HOLDINGS, INC. have an economic moat?
- Based on its FY2025 SEC filings, the Moat Index scores UNIVERSAL LOGISTICS HOLDINGS, INC. (ULH) 34.1 out of 100 — below the Shallow-moat bar, so no moat. The five questions behind that score begin at 20% each; if exactly one genuinely lacks data, the other four weights are renormalized and disclosed. revenue and EPS trend 51, pricing power not measurable from the filings, returns on capital 27, balance-sheet safety 0, capital discipline 59.
- Is ULH trading below the conservative owner-earnings estimate?
- The owner-earnings value range is $43.22–$43.22 per share. It capitalizes normalized owner earnings at a 9% rate; the low end assumes 0% growth and the high end uses 0% growth, capped at 4% and 18×. Versus a recent price of $14.40, that is 67% below high estimate relative to the high estimate. This is a conservative educational estimate from primary SEC filings, not intrinsic value as a fact or investment advice.
- How has ULH's Moat Score changed over time?
- The record logs 8 readings since Jul 17, 2026; the latest reads 34.1 out of 100 (no moat). No tier changes on record yet. (A methodology upgrade on Jul 20, 2026 re-based the score; readings across engine versions aren't compared.) The history is append-only — readings are only ever added, never rewritten.