AI-assembled from public SEC filings
Homebuilders peer review
Descriptive comparison assembled from public SEC filings and verified companyfacts.
Descriptive comparison — not investment advice. This feature-specific review is assembled from a frozen evidence pack of public SEC filing quotes and verified SEC companyfacts numbers. It is descriptive only and makes no judgment about which company is better. It is not a rating, recommendation, endorsement, forecast, or investment advice. Figures are as of their cited filing dates. See Disclaimer.
Methodology
Mechanical homebuilder cluster: operative builders in the existing grepcent universe with SEC SIC 1531, plus LEN as a disclosed requested large homebuilder peer with cached SEC SIC 1520.
The cluster is selected from public SEC SIC 1531 Operative Builders companies already present in grepcent's processed universe; LEN is retained as a disclosed requested adjacent homebuilder peer rather than relabeled. MTH and TMHC are included because their cached companyfacts support the required financial rows. Orders, backlog, and community count are treated as honest-absent when not cleanly available as standardized XBRL facts. The review publishes no proprietary index-membership labels.
Verified Quantitative Matrix
Numbers are templated from frozen SEC companyfacts-derived facts already verified by grepcent. Fiscal periods and filing dates are shown in each cell; comparability markers use day-level period ends and reported XBRL source concepts.
| Metric | DHI | LEN | PHM | NVR | TOL | KBH | MTH | TMHC |
|---|---|---|---|---|---|---|---|---|
| Revenue Mixed reporting concepts: us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax, us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax, us-gaap:Revenues. Ticker concepts: DHI -> us-gaap:Revenues; KBH -> us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax; LEN -> us-gaap:Revenues; NVR -> us-gaap:Revenues; PHM -> us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax; TMHC -> us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax; TOL -> us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax. | 34,250,400,000 source · NUM_DHI_REVENUE_FY2025 Day-level period offset: about 3 months before row reference (-92d) vs row reference 2025-12-31; offset. | 34,186,934,000 source · NUM_LEN_REVENUE_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 17,311,953,000 source · NUM_PHM_REVENUE_FY2025 | 10,323,959,000 source · NUM_NVR_REVENUE_FY2025 | 10,966,723,000 source · NUM_TOL_REVENUE_FY2025 Day-level period offset: about 2 months before row reference (-61d) vs row reference 2025-12-31; offset. | 6,236,214,000 source · NUM_KBH_REVENUE_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | Not available. | 8,121,480,000 source · NUM_TMHC_REVENUE_FY2025 |
| Gross margin | Quarantined: Only 3 of 8 companies have a verified fact; threshold is 4. | |||||||
| Operating margin | Quarantined: Only 1 of 8 companies have a verified fact; threshold is 3. | |||||||
| Net margin Mixed reporting concepts: us-gaap:NetIncomeLoss, us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax, us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax, us-gaap:Revenues. Ticker concepts: DHI -> us-gaap:NetIncomeLoss + us-gaap:Revenues; KBH -> us-gaap:NetIncomeLoss + us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax; LEN -> us-gaap:NetIncomeLoss + us-gaap:Revenues; NVR -> us-gaap:NetIncomeLoss + us-gaap:Revenues; PHM -> us-gaap:NetIncomeLoss + us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax; TMHC -> us-gaap:NetIncomeLoss + us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax; TOL -> us-gaap:NetIncomeLoss + us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax. | 10.47% source · NUM_DHI_NET_MARGIN_FY2025 Day-level period offset: about 3 months before row reference (-92d) vs row reference 2025-12-31; offset. | 6.08% source · NUM_LEN_NET_MARGIN_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 12.82% source · NUM_PHM_NET_MARGIN_FY2025 | 12.98% source · NUM_NVR_NET_MARGIN_FY2025 | 12.28% source · NUM_TOL_NET_MARGIN_FY2025 Day-level period offset: about 2 months before row reference (-61d) vs row reference 2025-12-31; offset. | 6.88% source · NUM_KBH_NET_MARGIN_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | Not available. | 9.63% source · NUM_TMHC_NET_MARGIN_FY2025 |
| Return on equity | 14.82% source · NUM_DHI_ROE_FY2025 Day-level period offset: about 3 months before row reference (-92d) vs row reference 2025-12-31; offset. | 9.46% source · NUM_LEN_ROE_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 17.09% source · NUM_PHM_ROE_FY2025 | 34.67% source · NUM_NVR_ROE_FY2025 | 16.28% source · NUM_TOL_ROE_FY2025 Day-level period offset: about 2 months before row reference (-61d) vs row reference 2025-12-31; offset. | 10.99% source · NUM_KBH_ROE_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 8.72% source · NUM_MTH_ROE_FY2025 | 12.43% source · NUM_TMHC_ROE_FY2025 |
| Inventory / land Mixed reporting concepts: us-gaap:InventoryOperativeBuilders, us-gaap:InventoryRealEstate, us-gaap:InventoryRealEstateLandAndLandDevelopmentCosts. Ticker concepts: DHI -> us-gaap:InventoryRealEstate; KBH -> us-gaap:InventoryOperativeBuilders; LEN -> us-gaap:InventoryOperativeBuilders; MTH -> us-gaap:InventoryOperativeBuilders; NVR -> us-gaap:InventoryRealEstateLandAndLandDevelopmentCosts; PHM -> us-gaap:InventoryOperativeBuilders; TMHC -> us-gaap:InventoryRealEstate; TOL -> us-gaap:InventoryOperativeBuilders. | 25,287,300,000 source · NUM_DHI_INVENTORY_FY2025 Day-level period offset: about 3 months before row reference (-92d) vs row reference 2025-12-31; offset. | 11,841,255,000 source · NUM_LEN_INVENTORY_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 12,925,413,000 source · NUM_PHM_INVENTORY_FY2025 | 39,312,000 source · NUM_NVR_INVENTORY_FY2025 | 10,678,460,000 source · NUM_TOL_INVENTORY_FY2025 Day-level period offset: about 2 months before row reference (-61d) vs row reference 2025-12-31; offset. | 5,670,802,000 source · NUM_KBH_INVENTORY_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 5,987,120,000 source · NUM_MTH_INVENTORY_FY2025 | 6,140,663,000 source · NUM_TMHC_INVENTORY_FY2025 |
| Liabilities / equity leverage Mixed reporting concepts: us-gaap:Assets, us-gaap:Liabilities, us-gaap:StockholdersEquity. Ticker concepts: DHI -> us-gaap:Liabilities + us-gaap:StockholdersEquity; KBH -> us-gaap:Assets + us-gaap:StockholdersEquity; LEN -> us-gaap:Liabilities + us-gaap:StockholdersEquity; MTH -> us-gaap:Liabilities + us-gaap:StockholdersEquity; NVR -> us-gaap:Liabilities + us-gaap:StockholdersEquity; PHM -> us-gaap:Liabilities + us-gaap:StockholdersEquity; TMHC -> us-gaap:Liabilities + us-gaap:StockholdersEquity; TOL -> us-gaap:Liabilities + us-gaap:StockholdersEquity. | 0.44 source · NUM_DHI_LIABILITIES_TO_EQUITY_FY2025 Day-level period offset: about 3 months before row reference (-92d) vs row reference 2025-12-31; offset. | 0.56 source · NUM_LEN_LIABILITIES_TO_EQUITY_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 0.39 source · NUM_PHM_LIABILITIES_TO_EQUITY_FY2025 | 0.52 source · NUM_NVR_LIABILITIES_TO_EQUITY_FY2025 | 0.75 source · NUM_TOL_LIABILITIES_TO_EQUITY_FY2025 Day-level period offset: about 2 months before row reference (-61d) vs row reference 2025-12-31; offset. | 0.71 source · NUM_KBH_LIABILITIES_TO_EQUITY_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 0.47 source · NUM_MTH_LIABILITIES_TO_EQUITY_FY2025 | 0.56 source · NUM_TMHC_LIABILITIES_TO_EQUITY_FY2025 |
| Book value / equity | 24,190,400,000 source · NUM_DHI_EQUITY_FY2025 Day-level period offset: about 3 months before row reference (-92d) vs row reference 2025-12-31; offset. | 21,959,417,000 source · NUM_LEN_EQUITY_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 12,985,442,000 source · NUM_PHM_EQUITY_FY2025 | 3,864,869,000 source · NUM_NVR_EQUITY_FY2025 | 8,270,663,000 source · NUM_TOL_EQUITY_FY2025 Day-level period offset: about 2 months before row reference (-61d) vs row reference 2025-12-31; offset. | 3,900,858,000 source · NUM_KBH_EQUITY_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 5,195,643,000 source · NUM_MTH_EQUITY_FY2025 | 6,293,322,000 source · NUM_TMHC_EQUITY_FY2025 |
| Free cash flow | 3,283,500,000 source · NUM_DHI_FREE_CASH_FLOW_FY2025 Day-level period offset: about 3 months before row reference (-92d) vs row reference 2025-12-31; offset. | 28,183,000 source · NUM_LEN_FREE_CASH_FLOW_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 1,748,533,000 source · NUM_PHM_FREE_CASH_FLOW_FY2025 | 1,096,812,000 source · NUM_NVR_FREE_CASH_FLOW_FY2025 | 1,026,216,000 source · NUM_TOL_FREE_CASH_FLOW_FY2025 Day-level period offset: about 2 months before row reference (-61d) vs row reference 2025-12-31; offset. | 287,282,000 source · NUM_KBH_FREE_CASH_FLOW_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 92,566,000 source · NUM_MTH_FREE_CASH_FLOW_FY2025 | 776,973,000 source · NUM_TMHC_FREE_CASH_FLOW_FY2025 |
| Share buybacks | 4,300,000,000 source · NUM_DHI_SHARE_BUYBACKS_FY2025 Day-level period offset: about 3 months before row reference (-92d) vs row reference 2025-12-31; offset. | 1,808,369,000 source · NUM_LEN_SHARE_BUYBACKS_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 1,199,996,000 source · NUM_PHM_SHARE_BUYBACKS_FY2025 | 1,833,316,000 source · NUM_NVR_SHARE_BUYBACKS_FY2025 | 651,016,000 source · NUM_TOL_SHARE_BUYBACKS_FY2025 Day-level period offset: about 2 months before row reference (-61d) vs row reference 2025-12-31; offset. | 541,303,000 source · NUM_KBH_SHARE_BUYBACKS_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 294,999,000 source · NUM_MTH_SHARE_BUYBACKS_FY2025 | 381,016,000 source · NUM_TMHC_SHARE_BUYBACKS_FY2025 |
| Cash and equivalents | 2,985,400,000 source · NUM_DHI_CASH_FY2025 Day-level period offset: about 3 months before row reference (-92d) vs row reference 2025-12-31; offset. | 3,756,305,000 source · NUM_LEN_CASH_FY2025 Day-level period offset: -31d vs row reference 2025-12-31; offset. | 1,980,869,000 source · NUM_PHM_CASH_FY2025 | Not available. | 1,258,997,000 source · NUM_TOL_CASH_FY2025 Day-level period offset: about 2 months before row reference (-61d) vs row reference 2025-12-31; offset. | Not available. | 775,157,000 source · NUM_MTH_CASH_FY2025 | 850,037,000 source · NUM_TMHC_CASH_FY2025 |
| Orders | Quarantined: Only 0 of 8 companies have a verified fact; threshold is 3. | |||||||
| Backlog | Quarantined: Only 0 of 8 companies have a verified fact; threshold is 3. | |||||||
| Community count | Quarantined: Only 0 of 8 companies have a verified fact; threshold is 3. | |||||||
Code-computed comparisons
- grepcent-computed gross margin range: Cross-company range not shown: fiscal period-ends span more than 14 days (TOL ends 2025-10-31; row reference 2025-12-31); artifact-time exclusions: DHI: period not aligned (2025-Q3 vs 2025-Q4); KBH: no gross_margin fact available; LEN: no gross_margin fact available; MTH: no gross_margin fact available; NVR: no gross_margin fact available; PHM: no gross_margin fact available. Individual company cells above remain shown with their period and concept comparability markers.
- Reported return on equity range: Cross-company range not shown: fiscal period-ends span more than 14 days (KBH ends 2025-11-30, LEN ends 2025-11-30, TOL ends 2025-10-31; row reference 2025-12-31); artifact-time exclusions: DHI: period not aligned (2025-Q3 vs 2025-Q4). Individual company cells above remain shown with their period and concept comparability markers.
Market-risk companion: risk and factor comparison from lmfin. It is descriptive and separate from the SEC fundamentals review.
Narrative Matrix
| Dimension | DHI | LEN | PHM | NVR | TOL | KBH | MTH | TMHC |
|---|---|---|---|---|---|---|---|---|
| Business model | Quarantined: no direct dimension-relevant quote survived the gate. | In its latest annual MD&A, LEN describes this business model item. [FACT:Q_LEN_BUSINESS_MODEL_1] In connection with the Millrose Spin-off, we contributed to Millrose $5.6 billion in land assets, representing approximately 87,000 homesites, and cash of $1.0 billion, which included $584.0 million of cash deposits related to option contracts. company page · source filing · fact Q_LEN_BUSINESS_MODEL_1 · filed 2026-01-28 | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. |
| Geographic and customer exposure | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. |
| Capital allocation | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. |
| Stated strategy in filings | Quarantined: no direct dimension-relevant quote survived the gate. | In its latest annual MD&A, LEN describes this stated strategy in filings item. [FACT:Q_LEN_STATED_STRATEGY_1] The Millrose Spin-Off accelerated Lennar's longstanding strategy of becoming a pure-play, asset-light, new home manufacturing company. company page · source filing · fact Q_LEN_STATED_STRATEGY_1 · filed 2026-01-28 | Quarantined: no direct dimension-relevant quote survived the gate. | In its latest annual MD&A, NVR describes this stated strategy in filings item. [FACT:Q_NVR_STATED_STRATEGY_1] In addition to constructing homes primarily on a pre-sold basis and utilizing what we believe is a conservative lot acquisition strategy, we focus on obtaining and maintaining a leading market position in each market we serve. company page · source filing · fact Q_NVR_STATED_STRATEGY_1 · filed 2026-02-11 | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. |
| Idiosyncratic risks in filings | Quarantined: no direct dimension-relevant quote survived the gate. | In its latest annual MD&A, LEN describes this idiosyncratic risks in filings item. [FACT:Q_LEN_IDIOSYNCRATIC_RISKS_1] We acquired Rausch’s homebuilding operations while Millrose acquired Rausch's land assets and we have options on the land. company page · source filing · fact Q_LEN_IDIOSYNCRATIC_RISKS_1 · filed 2026-01-28 | Quarantined: no direct dimension-relevant quote survived the gate. | In its latest annual MD&A, NVR describes this idiosyncratic risks in filings item. [FACT:Q_NVR_IDIOSYNCRATIC_RISKS_1] Our lot acquisition strategy is predicated upon avoiding the financial risks associated with direct land ownership and development. company page · source filing · fact Q_NVR_IDIOSYNCRATIC_RISKS_1 · filed 2026-02-11 | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | In its latest annual MD&A, TMHC describes this idiosyncratic risks in filings item. [FACT:Q_TMHC_IDIOSYNCRATIC_RISKS_1] As a method of acquiring land in staged takedowns, while limiting risk and minimizing the use of funds from our available cash or other financing sources, we may transfer our right under certain specific performance agreements, for land we own, to entities owned by third parties (“land banking arrangements”). company page · source filing · fact Q_TMHC_IDIOSYNCRATIC_RISKS_1 · filed 2026-02-18 |
| Recent narrative change | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. | Quarantined: no direct dimension-relevant quote survived the gate. |
Gate summary
Quarantined quantitative rows
- gross_margin: Only 3 of 8 companies have a verified fact; threshold is 4.
- operating_margin: Only 1 of 8 companies have a verified fact; threshold is 3.
- orders: Only 0 of 8 companies have a verified fact; threshold is 3.
- backlog: Only 0 of 8 companies have a verified fact; threshold is 3.
- community_count: Only 0 of 8 companies have a verified fact; threshold is 3.
Quarantined dimensions
- geographic_customer_exposure: No verified cells survived the gate.
- capital_allocation: No verified cells survived the gate.
- recent_narrative_change: No verified cells survived the gate.
Quarantined cells
- DHI / business_model: No direct dimension-relevant quote survived the evidence gate.
- PHM / business_model: No direct dimension-relevant quote survived the evidence gate.
- NVR / business_model: No direct dimension-relevant quote survived the evidence gate.
- TOL / business_model: No direct dimension-relevant quote survived the evidence gate.
- KBH / business_model: No direct dimension-relevant quote survived the evidence gate.
- MTH / business_model: No direct dimension-relevant quote survived the evidence gate.
- TMHC / business_model: No direct dimension-relevant quote survived the evidence gate.
- DHI / geographic_customer_exposure: No direct dimension-relevant quote survived the evidence gate.
- LEN / geographic_customer_exposure: No direct dimension-relevant quote survived the evidence gate.
- PHM / geographic_customer_exposure: No direct dimension-relevant quote survived the evidence gate.
- NVR / geographic_customer_exposure: No direct dimension-relevant quote survived the evidence gate.
- TOL / geographic_customer_exposure: No direct dimension-relevant quote survived the evidence gate.
- KBH / geographic_customer_exposure: No direct dimension-relevant quote survived the evidence gate.
- MTH / geographic_customer_exposure: No direct dimension-relevant quote survived the evidence gate.
- TMHC / geographic_customer_exposure: No direct dimension-relevant quote survived the evidence gate.
- DHI / capital_allocation: No direct dimension-relevant quote survived the evidence gate.
- LEN / capital_allocation: No direct dimension-relevant quote survived the evidence gate.
- PHM / capital_allocation: No direct dimension-relevant quote survived the evidence gate.
- NVR / capital_allocation: No direct dimension-relevant quote survived the evidence gate.
- TOL / capital_allocation: No direct dimension-relevant quote survived the evidence gate.
- KBH / capital_allocation: No direct dimension-relevant quote survived the evidence gate.
- MTH / capital_allocation: No direct dimension-relevant quote survived the evidence gate.
- TMHC / capital_allocation: No direct dimension-relevant quote survived the evidence gate.
- DHI / stated_strategy: No direct dimension-relevant quote survived the evidence gate.