惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
The Register - Security
The Register - Security
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
博客园 - 司徒正美
罗磊的独立博客
U
Unit 42
S
SegmentFault 最新的问题
Y
Y Combinator Blog
博客园_首页
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
Schneier on Security
Schneier on Security
Know Your Adversary
Know Your Adversary
C
Check Point Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Simon Willison's Weblog
Simon Willison's Weblog
V
Vulnerabilities – Threatpost
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
The Hacker News
The Hacker News
博客园 - 叶小钗
C
Cybersecurity and Infrastructure Security Agency CISA
Spread Privacy
Spread Privacy
L
LINUX DO - 热门话题
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Latest news
Latest news
L
Lohrmann on Cybersecurity
A
About on SuperTechFans
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
S
Securelist
A
Arctic Wolf
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threatpost
Scott Helme
Scott Helme
博客园 - 聂微东
博客园 - 【当耐特】
T
Tenable Blog
I
Intezer
D
DataBreaches.Net
B
Blog RSS Feed
Security Latest
Security Latest
C
Cisco Blogs
T
Tor Project blog
N
Netflix TechBlog - Medium

Hacker News

Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line Building a Z-Machine in the worst possible language High-Level Rust: Getting 80% of the Benefits with 20% of the Pain GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver · Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universe’s Expansion Rate Is Clearer Than Ever, but Still Doesn’t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The air throughout our homes is infused with microplastics. But there are things you can do to breathe less of them The disturbing white paper Red Hat is trying to erase from the internet – OSnews The Future of Everything is Lies, I Guess: Annoyances ‘Abhorrent’: the inside story of the Polymarket gamblers betting millions on war Productive procrastination — Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com – A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong Artemis II crew splashes down near San Diego after historic moon mission We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClaw’s memory is unreliable, and you don’t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master · torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Cooperative Vectors Introduction | Evolve Keeping a Postgres queue healthy — PlanetScale Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? The Zettelkasten Method in Obsidian: A Practical Setup Guide Artemis II Is Competency Porn and We Are Starving For It WeakC4 Flight Viz — Cockpit View A Mexican surveillance giant you’ve never heard of is now watching the U.S. border Surelock: Deadlock-Free Mutexes for Rust RISC-V 101 – what is it and what does it mean for Canonical? | Ubuntu The Problem That Built an Industry How Much Linear Memory Access Is Enough? | Solidean Investigating Split Locks on x86-64 Simplest hash functions Sybilproof reputation mechanisms (2005) [pdf] What is a property? How Complex is my Code? Static code analysis in Kotlin — tools overview Toffoli gates are all you need PGLite evangelism dcmake: a new CMake debugger UI Clojure on Fennel part one: Persistent Data Structures Fragments: April 2 Python Release Python install manager 26.1 The Life and Death of the Book Review - Liberties Introducing Database Traffic Control — PlanetScale Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Building slogbox Apple Silicon and Virtual Machines: Beating the 2 VM Limit Who was “Not Even Wrong” first? Pokemon Evolution Vs Darwinian Evolution The APL Programming Language Source Code
Why do commercial spaces sit vacant?
Andrew Burleson · 2026-06-17 · via Hacker News

In yesterday’s mailbag post, Matthew Yglesias responded to a question about why commercial spaces sometimes sit vacant for years at a time. Matthew’s answer started off on the right track, then veered off course. So, as one does, I quickly fired off a note in response.

That note went (and is still going) more viral than anything else I’ve written this year. Fun! There were a lot of questions for clarification, and a few asks for me to expand this into a post.

So here’s an expanded version of the note. For any email subscribers who didn’t see the note, I hope this is interesting. I have a feeling that a more complete explanation won’t be as viral as the short note, but for those who found the note compelling I hope you’ll share this article widely and give others something to bookmark.

To start, here’s the question that inspired this post:

Can you explain why it makes economic sense for landlords in high-priced metros to keep commercial real estate empty for years at a time? … I understand there's a lot of social pressure on landlords to keep rents high or face the wrath of their neighbors, but how can that pressure still work after ten years of losses?

The short answer is both simple and surprising: in many cases, lowering the rent on a building will force the bank to foreclose on it.

Foreclosure is very bad for both the bank and the operator, so both parties would rather “extend and pretend,” leaving the building vacant while they wait and hope for the market to change.

This seems absurd. Surely everyone would be better off it they just lowered the rent and got some use out of the building — getting some rent must be better than getting no rent, right?

Intuition fails because normal people think of a building as a building, when in the majority of cases, a building is not a building, but a financial product. Behavior that makes no sense for buildings can make perfect sense for a financial product.

To understand this I’ll offer a simplified explanation of commercial real estate, and the “extend and pretend” dilemma.1

The first reason our intuition fails us is that very few normal people buy and sell building-sized financial products — or financial product sized buildings. But most of us will buy or sell a home, or know people who have. This gives us some intuitions about how “property” works:

  • The value is mostly determined by the market — roughly, whatever someone else would be willing to pay for it.

  • Home mortgages are mostly based on the purchaser’s ability to pay.

  • Thanks to extensive federal government programs2, most residential mortgages are long-term amortized, meaning they’re designed to be fully paid off by regular payments over time.

These ideas lead us astray, because none of this applies to the commercial, or “income-producing” market. For commercial property:

  • The value is determined by the income the building will produce.

  • The loan is based on the building’s ability to pay.

  • Loans are typically short-term balloon notes, meaning they are notdesigned to be fully paid off by regular payments over time.

Let’s walk through a toy example to explain how these three factors can lead to an “extend and pretend” situation.

The story starts with a building operator and a bank deciding what a building is worth. To figure this out, the operator is going to make a financial model that projects the income that a building will generate.

First, the operator forecasts that the net rent (after expenses) will be $1M per year.

Second, the operator assumes a Capitalization Rate (or “cap rate”) for the building. In plain English, the cap rate is what percentage of the buildings total value it will generate in income each year. So, if we say the cap rate is 5%, that means the building will generate 5% of its total value as income each year.

The operator forecast the building will generate $1M a year in net rent, if that’s 5% of the value, then the value is $1M / 0.05 = $20M.

If that’s confusing, another way to think of the cap rate is the “payback time” for the investment — 100 / cap rate (as an integer) is payback time: 100 / 5 = 20 year payback.

You may wonder how the cap rate is determined3, the simple answer is the owner and the bank negotiate and agree on a number.

The important thing to understand here is that the actual building is not an important part of the value calculation. We’re not really looking at the replacement cost, the unique design, the amenities, the location, etc. Those things influence the assumptions about the gross rent we can get, or the cost of operating the building (higher cost means less net rent), but at the end of the day it isn’t the building that has value, it’s the income stream.

We’ve decided that our income stream (aka building) is worth $20M, now let’s make a loan.

Banks are highly regulated, so they can’t just loan whatever they want. The government insists that banks keep high margins of safety in their portfolio, and commercial loans are risky, so the terms they can offer are designed to limit risk.

First, the loan term will be shorter than a residential mortgage, anywhere from 5-20 years, with most in the 5-10 year range. Second, the bank must keep a strict loan to value ratio - so they won’t lend more than 80% of the value of the building (and often less than that).

For this example, let’s assume the bank offers an 80% LTV loan, with a 5-year term, interest-only at 4%.

That means the building operator has to pay $4M, and gets $16M from the bank, to buy the building for $20M. They then have to pay $640k in interest every year, and in five years they have to either pay off the $16M balance, or refinance it. (The plan will be to refinance.)

The operator buys the building and gets to work filling it with tenants.

Now suppose that 3 years into this project it turns out the building operator was wrong, there isn't enough demand at the building's high rent, so the building is 50% vacant.

Half empty, the building is only generating $500k per year in net income instead of $1M.

The owner is paying $640k in interest, therefore losing $140k per year operating the building. That sucks, surely he should lower the rent, right?

Let’s imagine the owner lowers the rent by 30% to fill the building.

Now the net rent is $700k. The owner is still paying $640k on the loan, therefore earning $60k per year. So everyone is better off, right?

Wrong!

Remember, the building isn’t a building, it’s an income stream. Before, the operator and the bank had a model that said the operator would be able to make $1M per year. Now, reality has proven the operator can only make $700k per year.

700k per year is not worth $20M. Given our agreed-upon cap rate of 5%, this proven $700k per year income stream is only worth $700k/0.5 =$14M.

In this scenario, the building has proven to only be worth $14M, but the operator owes $16M to the bank, so he is now $2M underwater on the loan. In two more years he’ll have to pay off the full $16M, and he doesn’t have that much cash, so he’ll need to refinance.

Since the building (income stream) is worth $14M, and the bank can only lend 80% LTV, the maximum new loan will be $11.2M, meaning the owner has to put another $16M - $11.2M = $4.8M cash in to keep the building.

The hard truth at this point is the operator overpaid, and the most logical thing to do would be to walk away from the building and lose the $4M he invested. And that really sucks for the operator.

It also really sucks for the bank, because the bank now has an asset (the loan) they paid $16M for and can only sell for $14M, so the bank is also taking a $2M loss in this scenario.

The thing is, both the operator and the bank can do this math too, so they know this is coming and want to avoid it.

When year five rolls around and the loan on the building comes due, both the original bank and the owner would like to avoid losing a combined $6M. And so long as the operator can afford to keep losing $140k per year on the building… they can!

What they need to do is stick to the original model. Don’t lower the rent. Just claim that there was a blip in the market, nobody could have seen that coming, it’s all going to be fine.

The bank can offer the operator to extend the loan on the original terms, based on the original model, and give income stream more time to materialize.

The only sticking point here is that the building operator is still losing $140k per year. But remember that if he gives up, he loses the $4M he’s already put into the building. Even if he ended up paying $140k per year for 10 years before things turned around, losing $1.4M is still better than losing $4M.

So both the operator and the bank have a lot of incentive to extend and pretend, rather than lower the rent and face the consequences of having overpaid for the building.

In Andrew Miller’s restack he asked if I could add “some thought about an alternative to the status quo, because the situation we have is CLEARLY suboptimal.”

Honestly, I don’t think there’s a simple fix here. Financialization means we have way more capital available to build much bigger and nicer buildings than we did in the past. But it turns buildings into financial products. It’s not obvious to me that we could stop that without also killing the supply of capital to build and buy large buildings. I can’t guess how that would play out, so I also can’t say if it would be worth it.

The obvious thing cities could try is to put more pressure on building operators to fill their spaces, but the building operators are already under a ton of pressure — they’re losing a bunch of money! So, cities could do something like put a vacant storefront tax and… make them lose even more money? If that “worked,” the mechanism would be to force a lot of commercial property to default, which could put a lot of new space on the market at lower prices, which should lower the commercial rent. But it would also hurt the banks a lot, which has a history of leading to bad consequences and subsequent bailouts.

I’ll give this some more thought, but if any actual commercial real estate professionals have ideas I’d love to hear from you in the comments!

The original note sparked a lot of questions, so I’ll answer a few more variations on this here.

Misha Valdman asked:

If the system allows you to pretend that the vacancy is temporary, why doesn’t it allow you to lower rents on the pretense that lower rents are also temporary?

This does happen sometimes: it’s packaged as “incentive offers,” like 50% off the first 12 or 24 months rent, or 6 months without rent, etc, that lower the average rent over the life of the lease without lowering the “list price.” That’s common in residential leases, and I know it happens sometimes in commercial leases, but I don’t know how prevalent it is.

CJ asked:

Your response makes sense for big commercial buildings, but I thought the core of the question to Matt was just about retail frontage - typically only the bottom floor of a multistory residential building.

Sometimes mixed use buildings are condominiumized such that the retail and residential portions are separately owned and have separate financing, so the same logic applies. I don’t know what percentage of mixed use buildings take that approach though.

My understanding is that in mixed use buildings “financed whole” the retail portion is seen as more of an amenity cost for the residents - like having a pool or a gym. I would guess that in such buildings owners would want a tenant the residents like and wouldn’t be too sensitive about the rent. That seems like a better arrangement — but again I don’t really know how prevalent different financing structures are among that building type.

CJ noted that “in places like Seattle and SF and LA the city requires these retail spots and a lot of developers just don’t even think about them when deciding whether something pencils. And then an equal amount of effort goes into renting them.” That sounds right to me.

Oliver Libaw asked:

Does “extend and pretend“ really account for commercial properties that sit empty for 10+ years?? There are a bunch near my home in West L.A. that have been vacant for a very very long time.

Maybe! “Extend and Pretend” is common in any situation where the developer or operator has overpaid for property. So, think of properties bought right before a recession (or pandemic). But, this isn’t the only reason that properties sit vacant.

Another scenario I can think of is that the financial model for the building requires spaces to be filled by “credit tenants,” meaning name-brand businesses of a certain caliber and creditworthiness. If that was part of the terms of the loan, than it could also be that the building operator just can’t find a qualified tenant, and again as long as the operator can keep covering the loss it is better for both the operator and the bank to let the space sit vacant than to blow up the financing.

Actual commercial real estate professionals could give you many more reasons than I can — there are many, many possible explanations for why any particular retail or commercial space is struggling. But “the financial model made assumptions that haven’t pan out” is often the reason behind unintuitive outcomes.

Thanks for reading! If you liked this explanation more than the short note, please share it and help this post reach more people.

Share

Discussion about this post

Ready for more?