DNA of #CRE: The State of Commercial Brokerage in 2021 | ACCESS THE REPORT→

Cities Are Finding a Good Spot to Rethink Parking Minimums

Most cities in America are built for cars, not people. The country’s post-war boom saw highways, parking lots, and driveways conquer the urban landscape. Our steel chariots are now entitled to more public space than we are. Nowhere is that more apparent than the proliferation of parking minimums for buildings. These regulations were meant to reduce traffic but have led to the creation of 2 billion parking spots in a country with only 250 million cars which only helps to increase the use of cars as the primary means of transportation. Overbuilt, activists and city planners from coast to coast are ending parking minimums to reclaim our cities from the new public enemy number one. 

America has eight parking spots for every car. Run the numbers. Sizes vary, but a basic parking spot is 9 feet by 18 feet, or 162 square feet. That’s 1,296 sq ft of urban space dedicated to a piece of equipment that can only occupy less than 150 square feet of which a single driver can only occupy a few square feet. Accommodating that much space warps our cities. At best, parking garages are cement monoliths, purpose-built for function over form. At worst, flat parking lots occupy valuable space needed for a denser and walkable urban environment. Parking doesn’t add to the aesthetic or sense of place anywhere, it’s merely a pit stop on the way to where you want to be. Worse, shifting transportation and shopping habits mean our overbuilt parking lots are becoming obsolete. Building for years, momentum to eliminate parking minimums that fuel the creation of too much parking has reached a critical mass, resulting in a nationwide rapid reversal of decades of parking policy. 

Before diving into the ugly details, we must first acknowledge that parking is not inherently a bad thing. Everyone gets a nice feeling when you snag front-row parking. Good parking makes you feel important. It’s convenient. Looking for parking is frustrating. I’ve abandoned plans simply because I couldn’t find a place to park. Ending parking minimums isn’t about eliminating parking altogether, it’s about building the right amount. 

The problem lies with blanket policies that don’t account for the urban environment, transportation demographics, new development, and the type of business. Most parking minimums policies simply calculate necessary square footage based on either maximum occupancy or size of the building. Parking minimum codes are a ratio that says you need to provide X amount of spaces for Y amount of occupants with slight variations based on operations. To make the policy work well, parking ratios must be well-defined, but they’re not. Parking ratios are estimates based on a rule of thumb, not data. If parking minimums were backed by research, they might more accurately reflect the country’s actual demand for parking. 

“Everybody wants to park free, including me…that will never change,” Donald Shoup, author of The High Cost Of Free Parking told ABC News. “But I think that we have elevated free parking as an ideal as to how to build cities. We’ve converted a desire to park free into a planning doctrine where nothing new can be built unless it has ample parking.”

The fact is Americans are parking less because Americans are buying fewer cars and driving them less. American drive times have been falling since they peaked in 2004. Commuting is the lowest it’s been in decades. Americans of all ages are buying fewer cars but especially Millennials. Some experts say private car ownership may have already peaked. Improving public transit and the popularity of ride-sharing services means cars are needed less and being used more efficiently. Delivery apps that bring your favorite food to you mean Americans are eating out less. E-commerce has fewer Americans shopping in-person, creating dying American mall islands surrounded by oceans of unused parking. The pandemic super-charged all these trends. Urban policy and development code enforcing parking minimums have yet to catch up with the rapidly changing American lifestyle. 

After nearly destroying its downtown area with parking minimums, Buffalo became the first city to end them in 2017. In just a few short years, several other cities like Portland and Hartford have followed suit. The Minneapolis city council recently voted to nix their parking minimums, going one step further by instituting a parking maximum. Cities big and small are tackling parking minimums. California has a chance to end them statewide with Assembly Bill 1401, soon to be debated in the general assembly. Where they are not eliminated entirely, exempting specific areas and projects is becoming easier. Even in Houston and Los Angeles, where cars are king, parking minimums are in retreat. President Biden’s American Jobs Plan highlights mandatory parking requirements as a detriment to providing affordable housing. 

As any economist can tell you, there’s no such thing as free parking. There’s an illusion that free parking is free, but as researcher Donald Shoup points out in his book, the real costs of free parking are unseen. Land is expensive, providing space to park means you need more of it. Offsetting the additional cost of land means higher prices on rent, which in turn means higher prices on the goods and services in the establishments providing the parking. You may not be paying for parking in the lot, but you are paying at the register. In housing, the average cost of garage parking is roughly $23,000 per space. Areas with free on-street parking tend to have higher home prices, leading to higher property taxes. 

“Just because a driver doesn’t pay for parking doesn’t mean the cost goes away,” Shoup said. “It’s still there. Somebody has to pay it. And that somebody is everyone.”

The reason ample free parking envisioned by parking minimum policies will never work is explained by the tragedy of the commons, an economic theory formulated by British economist Forster Lloyd in 1833. The theory explains how uncoordinated users acting in their own self-interest leads to the over-use of a common resource. If cattle herders sharing land each let more cows graze than they were allotted, a rational decision in the interest of each individual, it would destroy the paddock. Parking is similar, no one owns it and everyone can use it. When something is free, we naturally demand more of it. Free resources induce demand. When it’s free for everyone, and everyone is demanding more of it because it’s free, there can never be enough. Free parking is a self-fulfilling prophecy creating an appetite that can never be satiated. Parking minimums are an attempt to ensure there’s enough ‘free’ parking but instead, they perpetuate the need for more. Once people expect to park taking away that “right” can be contentious. Conversely, no one demands parking at an NYC dive bar. Because that parking never existed. The lack of parking eliminates the demand for parking. 

Parking is a complicated problem to solve. First, the true cost of parking must be fully understood. Parking minimums obfuscate the reality of parking needs by basing ratios on pseudoscience and best practices. Parking is an amenity with a cost. Like any amenity, providing it is a decision best left at the discretion of individuals and businesses that will be using it, not regulators looking for easy answers. Luckily broad consensus against parking minimum is building, putting power in the hands of developers to do what’s right for their own projects. Adapting our cities to reflect our changing relationship with cars will be a long, arduous process. Removing parking minimums is an easy first step.

Associate Editor
Have Another
Business Improvement Districts Are Helping Retailers Fight Back
[wpforms id="132553" title="false"]
<div class="wpforms-container wpforms-container-full" id="wpforms-132553"><form id="wpforms-form-132553" class="wpforms-validate wpforms-form" data-formid="132553" method="post" enctype="multipart/form-data" action="/cities-are-finding-a-good-spot-to-rethink-parking-minimums/" data-token="74cfff8a570590064542df29ef4c0de7"><noscript class="wpforms-error-noscript">Please enable JavaScript in your browser to complete this form.</noscript><div class="wpforms-field-container"><div id="wpforms-132553-field_1-container" class="wpforms-field wpforms-field-name" data-field-id="1"><label class="wpforms-field-label" for="wpforms-132553-field_1">Name <span class="wpforms-required-label">*</span></label><div class="wpforms-field-row wpforms-field-large"><div class="wpforms-field-row-block wpforms-first wpforms-one-half"><input type="text" id="wpforms-132553-field_1" class="wpforms-field-name-first wpforms-field-required" name="wpforms[fields][1][first]" required><label for="wpforms-132553-field_1" class="wpforms-field-sublabel after ">First</label></div><div class="wpforms-field-row-block wpforms-one-half"><input type="text" id="wpforms-132553-field_1-last" class="wpforms-field-name-last wpforms-field-required" name="wpforms[fields][1][last]" required><label for="wpforms-132553-field_1-last" class="wpforms-field-sublabel after ">Last</label></div></div></div><div id="wpforms-132553-field_2-container" class="wpforms-field wpforms-field-email" data-field-id="2"><label class="wpforms-field-label" for="wpforms-132553-field_2">Email <span class="wpforms-required-label">*</span></label><input type="email" id="wpforms-132553-field_2" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][2]" required></div><div id="wpforms-132553-field_3-container" class="wpforms-field wpforms-field-text" data-field-id="3"><label class="wpforms-field-label" for="wpforms-132553-field_3">Company <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-132553-field_3" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][3]" required></div><div id="wpforms-132553-field_5-container" class="wpforms-field wpforms-field-text" data-field-id="5"><label class="wpforms-field-label" for="wpforms-132553-field_5">Job Title <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-132553-field_5" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][5]" required></div></div><div class="wpforms-field wpforms-field-hp"><label for="wpforms-132553-field-hp" class="wpforms-field-label">Comment</label><input type="text" name="wpforms[hp]" id="wpforms-132553-field-hp" class="wpforms-field-medium"></div><div class="wpforms-submit-container" ><input type="hidden" name="wpforms[id]" value="132553"><input type="hidden" name="wpforms[author]" value="277"><input type="hidden" name="wpforms[post_id]" value="130970"><button type="submit" name="wpforms[submit]" class="wpforms-submit om-trigger-conversion" id="wpforms-submit-132553" value="wpforms-submit" aria-live="assertive" data-alt-text="Sending..." data-submit-text="UNLOCK THE REPORT">UNLOCK THE REPORT</button></div></form></div> <!-- .wpforms-container -->
[wpforms id="132239" title="false"]
<div class="wpforms-container wpforms-container-full" id="wpforms-132239"><form id="wpforms-form-132239" class="wpforms-validate wpforms-form" data-formid="132239" method="post" enctype="multipart/form-data" action="/cities-are-finding-a-good-spot-to-rethink-parking-minimums/" data-token="74cfff8a570590064542df29ef4c0de7"><noscript class="wpforms-error-noscript">Please enable JavaScript in your browser to complete this form.</noscript><div class="wpforms-field-container"><div id="wpforms-132239-field_1-container" class="wpforms-field wpforms-field-name" data-field-id="1"><label class="wpforms-field-label" for="wpforms-132239-field_1">Name <span class="wpforms-required-label">*</span></label><div class="wpforms-field-row wpforms-field-large"><div class="wpforms-field-row-block wpforms-first wpforms-one-half"><input type="text" id="wpforms-132239-field_1" class="wpforms-field-name-first wpforms-field-required" name="wpforms[fields][1][first]" required><label for="wpforms-132239-field_1" class="wpforms-field-sublabel after ">First</label></div><div class="wpforms-field-row-block wpforms-one-half"><input type="text" id="wpforms-132239-field_1-last" class="wpforms-field-name-last wpforms-field-required" name="wpforms[fields][1][last]" required><label for="wpforms-132239-field_1-last" class="wpforms-field-sublabel after ">Last</label></div></div></div><div id="wpforms-132239-field_2-container" class="wpforms-field wpforms-field-email" data-field-id="2"><label class="wpforms-field-label" for="wpforms-132239-field_2">Email <span class="wpforms-required-label">*</span></label><input type="email" id="wpforms-132239-field_2" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][2]" required></div><div id="wpforms-132239-field_3-container" class="wpforms-field wpforms-field-text" data-field-id="3"><label class="wpforms-field-label" for="wpforms-132239-field_3">Company <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-132239-field_3" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][3]" required></div><div id="wpforms-132239-field_5-container" class="wpforms-field wpforms-field-text" data-field-id="5"><label class="wpforms-field-label" for="wpforms-132239-field_5">Job Title <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-132239-field_5" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][5]" required></div></div><div class="wpforms-field wpforms-field-hp"><label for="wpforms-132239-field-hp" class="wpforms-field-label">Message</label><input type="text" name="wpforms[hp]" id="wpforms-132239-field-hp" class="wpforms-field-medium"></div><div class="wpforms-submit-container" ><input type="hidden" name="wpforms[id]" value="132239"><input type="hidden" name="wpforms[author]" value="277"><input type="hidden" name="wpforms[post_id]" value="130970"><button type="submit" name="wpforms[submit]" class="wpforms-submit om-trigger-conversion" id="wpforms-submit-132239" value="wpforms-submit" aria-live="assertive" data-alt-text="Sending..." data-submit-text="UNLOCK THE REPORT">UNLOCK THE REPORT</button></div></form></div> <!-- .wpforms-container -->
[wpforms id="132234" title="false"]
<div class="wpforms-container wpforms-container-full" id="wpforms-132234"><form id="wpforms-form-132234" class="wpforms-validate wpforms-form" data-formid="132234" method="post" enctype="multipart/form-data" action="/cities-are-finding-a-good-spot-to-rethink-parking-minimums/" data-token="74cfff8a570590064542df29ef4c0de7"><noscript class="wpforms-error-noscript">Please enable JavaScript in your browser to complete this form.</noscript><div class="wpforms-field-container"><div id="wpforms-132234-field_1-container" class="wpforms-field wpforms-field-name" data-field-id="1"><label class="wpforms-field-label" for="wpforms-132234-field_1">Name <span class="wpforms-required-label">*</span></label><div class="wpforms-field-row wpforms-field-large"><div class="wpforms-field-row-block wpforms-first wpforms-one-half"><input type="text" id="wpforms-132234-field_1" class="wpforms-field-name-first wpforms-field-required" name="wpforms[fields][1][first]" required><label for="wpforms-132234-field_1" class="wpforms-field-sublabel after ">First</label></div><div class="wpforms-field-row-block wpforms-one-half"><input type="text" id="wpforms-132234-field_1-last" class="wpforms-field-name-last wpforms-field-required" name="wpforms[fields][1][last]" required><label for="wpforms-132234-field_1-last" class="wpforms-field-sublabel after ">Last</label></div></div></div><div id="wpforms-132234-field_2-container" class="wpforms-field wpforms-field-email" data-field-id="2"><label class="wpforms-field-label" for="wpforms-132234-field_2">Email <span class="wpforms-required-label">*</span></label><input type="email" id="wpforms-132234-field_2" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][2]" required></div><div id="wpforms-132234-field_3-container" class="wpforms-field wpforms-field-text" data-field-id="3"><label class="wpforms-field-label" for="wpforms-132234-field_3">Company <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-132234-field_3" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][3]" required></div><div id="wpforms-132234-field_5-container" class="wpforms-field wpforms-field-text" data-field-id="5"><label class="wpforms-field-label" for="wpforms-132234-field_5">Job Title <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-132234-field_5" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][5]" required></div></div><div class="wpforms-field wpforms-field-hp"><label for="wpforms-132234-field-hp" class="wpforms-field-label">Name</label><input type="text" name="wpforms[hp]" id="wpforms-132234-field-hp" class="wpforms-field-medium"></div><div class="wpforms-submit-container" ><input type="hidden" name="wpforms[id]" value="132234"><input type="hidden" name="wpforms[author]" value="277"><input type="hidden" name="wpforms[post_id]" value="130970"><button type="submit" name="wpforms[submit]" class="wpforms-submit om-trigger-conversion" id="wpforms-submit-132234" value="wpforms-submit" aria-live="assertive" data-alt-text="Sending..." data-submit-text="UNLOCK THE REPORT">UNLOCK THE REPORT</button></div></form></div> <!-- .wpforms-container -->
[wpforms id="131996" title="false"]
<div class="wpforms-container wpforms-container-full" id="wpforms-131996"><form id="wpforms-form-131996" class="wpforms-validate wpforms-form" data-formid="131996" method="post" enctype="multipart/form-data" action="/cities-are-finding-a-good-spot-to-rethink-parking-minimums/" data-token="74cfff8a570590064542df29ef4c0de7"><noscript class="wpforms-error-noscript">Please enable JavaScript in your browser to complete this form.</noscript><div class="wpforms-field-container"><div id="wpforms-131996-field_1-container" class="wpforms-field wpforms-field-name" data-field-id="1"><label class="wpforms-field-label" for="wpforms-131996-field_1">Name <span class="wpforms-required-label">*</span></label><div class="wpforms-field-row wpforms-field-large"><div class="wpforms-field-row-block wpforms-first wpforms-one-half"><input type="text" id="wpforms-131996-field_1" class="wpforms-field-name-first wpforms-field-required" name="wpforms[fields][1][first]" required><label for="wpforms-131996-field_1" class="wpforms-field-sublabel after ">First</label></div><div class="wpforms-field-row-block wpforms-one-half"><input type="text" id="wpforms-131996-field_1-last" class="wpforms-field-name-last wpforms-field-required" name="wpforms[fields][1][last]" required><label for="wpforms-131996-field_1-last" class="wpforms-field-sublabel after ">Last</label></div></div></div><div id="wpforms-131996-field_2-container" class="wpforms-field wpforms-field-email" data-field-id="2"><label class="wpforms-field-label" for="wpforms-131996-field_2">Email <span class="wpforms-required-label">*</span></label><input type="email" id="wpforms-131996-field_2" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][2]" required></div><div id="wpforms-131996-field_3-container" class="wpforms-field wpforms-field-text" data-field-id="3"><label class="wpforms-field-label" for="wpforms-131996-field_3">Company <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-131996-field_3" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][3]" required></div><div id="wpforms-131996-field_5-container" class="wpforms-field wpforms-field-text" data-field-id="5"><label class="wpforms-field-label" for="wpforms-131996-field_5">Job Title <span class="wpforms-required-label">*</span></label><input type="text" id="wpforms-131996-field_5" class="wpforms-field-large wpforms-field-required" name="wpforms[fields][5]" required></div></div><div class="wpforms-field wpforms-field-hp"><label for="wpforms-131996-field-hp" class="wpforms-field-label">Website</label><input type="text" name="wpforms[hp]" id="wpforms-131996-field-hp" class="wpforms-field-medium"></div><div class="wpforms-submit-container" ><input type="hidden" name="wpforms[id]" value="131996"><input type="hidden" name="wpforms[author]" value="277"><input type="hidden" name="wpforms[post_id]" value="130970"><button type="submit" name="wpforms[submit]" class="wpforms-submit om-trigger-conversion" id="wpforms-submit-131996" value="wpforms-submit" aria-live="assertive" data-alt-text="Sending..." data-submit-text="UNLOCK THE REPORT">UNLOCK THE REPORT</button></div></form></div> <!-- .wpforms-container -->