Loading Citywide Data & Generating Map...

El Paso Housing Strategy Simulator

Quantifying how zoning reform — ADUs, lot splits, missing middle, midrise, parking reform — could unlock new housing units and jobs, parcel by parcel.

Housing 0 / 35,000
Jobs 0 / 55,000
i
Bar = conservative estimate (highest single policy per parcel). Tick mark = upper bound if every eligible policy stacked — see methodology.

How This Model Works

This tool estimates potential parcel-level redevelopment capacity under reformed zoning — it is not a prediction of what will get built, and it does not check whether a parcel's current base zoning allows the modeled yield. Each policy intervention is assumed to supply its own entitlement.

Eligibility

A parcel qualifies for redevelopment yield if it is assessor-coded vacant, or its building-to-lot coverage is below 15% (residential/current-use scenarios) or 45% (commercial & mixed-use scenarios), or it has no recorded units or building area.

How yield is calculated

Each active policy proposes a unit and/or job yield for a parcel. The model's headline number takes the single highest-yielding intervention per parcel, separately for units and jobs — it does not add multiple interventions together. Click any parcel on the map to see exactly which rule produced its yield.

The base scenario only decides how reforms are applied — it never produces housing or jobs on its own. Every unit and job traces back to a specific checked reform. The scenario then filters those results: Residential Only keeps units and drops jobs, Commercial Only keeps jobs and drops units, Vertical Mixed Use keeps both exactly as the reforms produced them, and Current Land Use keeps each parcel to its existing use (commercial → jobs, residential → units). With nothing checked, every scenario shows zero. (Earlier versions gave Commercial and Mixed Use their own flat floor yields on every underutilized parcel once any box was checked — so Mixed Use plus ADUs alone reported ~50,000 units and ~85,000 jobs that no selected reform created, versus 416 units from ADUs under any other scenario. That's removed.) A related, separate bug persisted after that fix: checking "Eliminate Parking Minimums" alone — with no job-producing policy active — still generated jobs under any scenario that keeps them, because parking reform had its own standalone job formula identical to Midrise's. See "Midrise's density cap" below for that fix.

Market Absorption Rate — and how we chose 8%

Gross capacity is multiplied by this adjustable rate to reflect that not every eligible parcel actually redevelops — most owners never sell or build even after a zoning change makes it possible. Worked example: if a policy combination makes 8,000 parcels eligible for an average of 2.5 net units each, that's 20,000 gross units at 100% absorption. At the default 8%, the model counts 1,600 of those as a realistic 10-year outcome — the rest remain technically possible but aren't assumed to get built.

The 8% default is the one number in this model grounded in real regional data rather than a generic rule of thumb: El Paso County averaged ~2,517 new housing permits/year from 2020–2024 (Census/FRED), down from ~3,100/yr (2013–2022) and ~4,300/yr (2003–2012). But most of that activity has been greenfield subdivision growth at the county's edge, not redevelopment of already-built-up parcels — the only category this model touches — so the true infill-specific pace is smaller still. 8% is set conservatively below the county-wide pace in that light. It's a defensible starting point, not a validated calibration — that would require comparing actual infill permits against this model's own eligible-parcel count, which the underlying data doesn't yet support. Full sourcing is in the README.

Why does eliminating parking minimums boost yield by 20% by default?

A parking space plus its drive aisle typically consumes 300–400 sq ft — often more land than the unit it serves. This is the central finding of decades of parking-policy research (notably UCLA's Donald Shoup, The High Cost of Free Parking): minimum parking requirements convert a large share of a site into space for cars, and removing that mandate frees land for housing or commercial space instead. That research explains why this matters; it doesn't hand over one universal conversion number, since actual land recovered depends on lot shape and each city's specific parking code. 20% is this model's own moderate, round-number default estimate of that boost — noticeable but not assuming a windfall. This number is adjustable — see "Model Assumptions (Advanced)" in the sidebar — with guidance on which direction to move it.

Where do the default 850 sq ft/unit and 1,000 sq ft/job figures come from?

These are general planning-literature benchmarks, not El Paso-specific data — no local dataset exists to calibrate them, unlike the absorption rate above. 850 sq ft approximates a modest, efficient 1–2 bedroom multifamily unit. 1,000 sq ft/job is a blended midpoint across commercial uses that actually vary widely — dense retail/office can run 200–500 sq ft/employee, while warehouse/light-industrial can run 1,000–2,000+ sq ft/employee. Using one moderate figure everywhere avoids assuming the densest possible use on every parcel, but it means parcels that would realistically become dense retail are likely undercounted on jobs, and ones that would become light-industrial are likely overcounted. Both figures are adjustable in "Model Assumptions (Advanced)" in the sidebar, each with guidance on which direction fits your expectations for what gets built.

Why Missing Middle is capped at 8 or 16 units, and only on 1-3 unit parcels

This follows Texas SB840. The law requires that any zone permitting more than 3 units must allow 4 floors and the city's maximum density (145 units/acre) outright — a state mandate the city cannot restrict. The one exception is a "workaround": on parcels that currently have 1–3 existing units (single-family, duplex, or triplex), the city may impose additional local limits in exchange for offering a density bonus. That's what the two Missing Middle checkboxes model — a bonus program specifically for those parcels, capped at 8 or 16 additional units depending on which is selected, using a reduced 35 ft height limit (≈3 floors) rather than SB840's full 4-floor mandate. Both tiers, and SB840 Baseline, assume one off-street parking space per unit (300 sq ft each) unless "Eliminate Parking Minimums" is also checked, which measurably reduces their achievable yield — the same land-consumption calculation Midrise uses. (An earlier version described this parking assumption without actually implementing it in either formula, so the stated framing and the math disagreed.)

Why 3 units is the dividing line for Missing Middle: SB840 is triggered by anything permitting more than 3 units. Above that line the state mandate simply applies and the city has no discretion — so a local density-bonus program can only be offered as an alternative to properties currently at 3 units or fewer. Texas assessor state codes are the proxy: A1 single-family (1 unit), A51/B1 duplex (2), and A53/B3 triplex (3) fall inside; A54/B4/B9 quadplex (4), A52/B2 apartment, and the B5–B8 codes fall outside, where SB840 governs directly. Missing Middle and SB840 Baseline are exact complements across this line, so every parcel gets one or the other, never both.

Mansion Conversion is a separate tool with no unit-count threshold. It isn't an SB840 program and doesn't rely on SB840's 3-unit trigger. Its distinguishing feature is that it requires no additional parking, while Missing Middle and SB840 Baseline both deduct land for one off-street space per unit (unless parking reform is also active) — a real difference in the math, not just in how each is described. See "How Mansion Conversion is calculated" below. A parcel can be eligible for both Mansion Conversion and another program; that isn't double-counting, because the engine credits only the single highest-yielding intervention per parcel.

Everything else — commercial parcels, vacant land, and anything above 3 units — isn't eligible for the Missing Middle bonus, because it isn't the 1-3 unit parcel that bonus is offered to. Instead, SB840's flat mandate applies directly, modeled as its own "SB840 Baseline" checkbox: 4 floors (the state's actual minimum, not the workaround's reduced height) at the same coverage and unit-size approach. Midrise's floor selector also starts at 4 for the same reason — SB840 sets 4 floors as the floor, not a suggestion, wherever this density applies.

SB840 Baseline should be read as a last resort, not a recommended outcome. Its numbers are intentionally large and out of scale with typical neighborhood character — that scale is the point. It illustrates what happens by default, everywhere it applies, absent any more tailored local action: a blunt, one-size-fits-all mandate rather than the kind of context-sensitive infill the other interventions represent. It's deliberately excluded from "Load Full Reform Package" and kept visually separate in the sidebar for this reason — the other policies exist precisely so this blunt instrument doesn't have to be the only path to added density.

Building size in both calculations is driven by unit size (lot area × coverage × floors, divided by an assumed unit size) rather than lot width. Dan Parolek's Missing Middle Housing argues lot width should drive massing instead, which better reflects street-facing character — but this dataset has lot area, not lot width, and approximating width from parcel geometry is unreliable for irregular shapes. This is a real known limitation, not a considered rejection of Parolek's approach.

"Underutilized" doesn't gate every policy — on purpose

The underutilization test (low building coverage relative to lot size) answers one specific question: is there spare, underused land on this lot? That's the right question for ADUs, Lot Splits, Midrise, the parking-reform boost, and SB840 Baseline — they're all about adding a new use to land that isn't fully built out. It's the wrong question for Mansion Conversion and both Missing Middle tiers, which are about redeveloping a lot that already has a home on it — coverage ratio doesn't measure whether that's a good candidate. An earlier version of this tool gated Missing Middle on this test anyway, which incorrectly excluded the majority of real single-family/duplex/ triplex parcels: a normal, occupied home routinely covers well over 15% of its lot, so the low-coverage screen was filtering out exactly the properties this policy is supposed to reach. That's fixed — Missing Middle and Mansion Conversion now check only what actually determines their eligibility (1–3 existing units for Missing Middle; a residential building with recorded floor area for Mansion Conversion), not building coverage.

How Mansion Conversion is calculated

Any residential building can be divided into more units than it has now, at one unit per 500 sq ft of building, with no parking required.

gross units = floor(building sq ft ÷ 500)
net new units = gross units − existing units (never below 0)

A 2,000 sq ft single-family house: 2,000 ÷ 500 = 4 units, minus the 1 already there = 3 net new units. A 3,200 sq ft duplex: 6 − 2 = 4 net new. The 500 sq ft figure is adjustable under Model Assumptions (Conversion Size). "Building sq ft" uses total floor area across all stories when recorded, otherwise the ground-floor footprint.

Who's eligible: any residential parcel — Texas assessor A or B codes (excluding vacant A7/A8), or a land-use description containing "residential." Commercial parcels are never eligible. There is no unit-count ceiling and no lot-coverage screen. A residential building recorded with 0 units (an assessor code the unit mapping doesn't cover) is treated as holding 1, so an existing home isn't credited as though it were empty.

Why a parcel might still net zero: a house under 1,000 sq ft can't yield a second 500 sq ft unit; a building already at one unit per 500 sq ft or denser has nothing left to carve out; roughly 20–30% of residential parcels (varies by district) have no recorded building size at all, which the parcel popup flags as a data gap rather than a judgment.

Historic districts do NOT block this policy — unlike every other intervention, Mansion Conversion is exempt from "Protect Historic Districts." It's an interior reconfiguration with no exterior or footprint change, so it isn't what historic review governs, and real informal conversions are common in exactly these older, larger-home neighborhoods. (An earlier version excluded historic parcels from this policy entirely, since historic protection blocked the whole parcel from every calculation rather than being applied per-policy — that silently zeroed conversions across entire historic neighborhoods.)

No parking required — and that's the point of this tool. Missing Middle and SB840 Baseline both assume one off-street parking space per unit (300 sq ft each) unless "Eliminate Parking Minimums" is also checked, which measurably constrains their yield. Mansion Conversion carries no such assumption at all, in either direction — its formula is purely building size ÷ conversion size, unaffected by whether parking reform is active. That absence of a parking constraint is what makes it a genuinely different, often more valuable lever than new construction, not a detail buried in a formula. Because it already assumes no parking, the separate 20% "Eliminate Parking Minimums" unit boost is not applied to it either — that would credit the same assumption twice.

(Earlier versions discounted floor area by 15% and divided by the 850 sq ft new-construction unit size, so a 2,000 sq ft house yielded just 1 net unit and an 1,800 sq ft house yielded 0. About 4,300 residential parcels read as "not eligible" purely from that rounding. They also capped eligibility at 4 existing units.)

Midrise's density cap, and why nothing is counted twice

Midrise sizes its unit count from the building envelope (lot × 50% coverage × floors ÷ unit size), then caps the result at 145 units per acre of land — El Paso's stated maximum density. The cap matters because 145/acre is a land density that already presumes a multi-story building: an earlier version of this model multiplied 145/acre by the floor count, implying 580 units/acre at 4 floors — roughly 4× the stated maximum and ~5× Manhattan's overall density. At the default 4 floors the envelope yields about 102 units/acre; the cap starts binding around 6 floors. Missing Middle and SB840 Baseline now use this same parking-land deduction (see below), so this treatment is consistent across all three new-construction policies.

Two double-counting rules follow from this. First, the 20% parking-reform boost is not applied to Midrise units — Midrise already models freed parking land directly by skipping its own parking deduction, an effect far larger than 20%, so applying both would credit the same policy twice. Second, an earlier version also gave parking reform its own standalone job formula, identical to Midrise's ground-floor job yield — meaning checking "Eliminate Parking Minimums" alone, with no construction policy active at all, still manufactured commercial jobs on every underutilized parcel citywide (jobs reached 100% of target from parking alone under Vertical Mixed Use, with zero housing policies selected). That standalone job formula is removed. Only Midrise generates jobs now; parking reform boosts whatever construction is already happening, it doesn't invent construction of its own.

Geographic constraints

Historic district protection blocks new-construction and exterior-changing policies (Lot Splits, Missing Middle, Midrise, SB840 Baseline) on parcels within historically designated boundaries — except Mansion Conversion, which is exempt (see above). Transit-corridor-only filtering and recorded deed restrictions can each be toggled too. Deed restrictions, when enabled, are applied as a final override after all other calculations — a single-family-only covenant caps a parcel at 1 unit and 0 jobs regardless of scenario or policy. A covenant that disallows both multifamily and commercial use, without being marked single-family-only, is a different kind of restriction — checked against every active covenant in the dataset, this combination is used exclusively for parcels restricted to one specific non-residential use (Public Building Only, Church Only, School Only, Senior Living Facility Only, and similar — 38 real parcels). These are correctly capped at 0 units and 0 jobs, not 1. (An earlier version applied the same "cap at 1" treatment used for ordinary single-family covenants here too, which incorrectly manufactured a housing unit on land deed-restricted to a specific non-residential use.)

Key limitations

  • Estimates capacity, not predicted outcomes — land price, financing, owner intent, and permitting timelines are not modeled.
  • Missing lot size defaults to 6,000 sq ft; missing building area defaults to 0 sq ft, which tends to count undocumented parcels as redevelopment-eligible — treat totals in data-sparse areas with extra caution.
  • Deed-restriction coverage reflects recorded covenants in the dataset only — informal or unrecorded restrictions are not captured.
  • "Eliminate Parking Minimums" can still show job yield under the Residential Only scenario — this is intentional (parking reform is treated as an infrastructure policy that enables ground-floor commercial regardless of the dominant land use), not a bug.
  • District 1's source data has a known gap: its parcel file is currently missing existing-conditions data for every parcel (0 of 950), unlike every other district. Any parcel with zero data on every field shows a warning in its popup. District 1's totals should not be trusted until the source file is regenerated with the same data join the other districts have — see the README's "Known Data Quality Issues" section.
Why the headline number is conservative: a parcel eligible for both a lot split and missing-middle housing is only credited with the larger of the two, never both. The "up to" figure in the banner shows what the same parcels would yield if every eligible policy stacked additively instead — treat the true answer as somewhere between the two.
Simulation Yields
Housing
High (>16 units)
Medium (5–16 units)
Low (1–4 units)
Jobs
High (>10 jobs)
Medium (3–10 jobs)
Low (1–2 jobs)
Mixed Use
High density mixed
Medium density mixed
Low density mixed
No Net Change