A 40-story Class A office tower reports 100% leased. Every suite has a tenant. Every rent check clears. Yet net operating income (NOI), the property's rental income minus operating expenses, has slipped three quarters in a row.
The rent roll looks perfect. So where is the money going?
The answer is hiding in three data streams the asset manager was not reading together: badge swipes at the turnstiles, energy meters in the mechanical room, and the lease-expiration schedule sitting in a spreadsheet.
This lesson teaches you to read those signals as one story.
Net operating income is the property's income after operating costs but before debt payments and taxes. It is the core value driver in commercial real estate: multiply NOI by a market multiple (the inverse of the cap rate, or capitalization rate) and you get the building's value.
That leverage matters. If a tower trades at a 6% cap rate, every $1 of lost annual NOI destroys roughly $16.67 of asset value ($1 / 0.06). A quiet $500,000 NOI erosion is not a rounding error. It is potentially $8 million of value gone.
"Fully leased" describes the rent roll. It says nothing about whether that NOI is durable or expensive to produce. For that, you need the operating data.
Physical occupancy is how many people actually show up, distinct from leased occupancy
Badge-swipe or turnstile data from the building access system gives you a daily count of unique entries. Kastle Systems' widely cited "Back to Work Barometer" tracks this at the metro level and is free to view.
Why does physical occupancy matter if rent is paid in full?
In our tower, one large tenant on floors 20 to 25 shows badge activity consistent with roughly half its contracted seats. That tenant's lease expires in 20 months. This is the first thread.
Now pull the energy-meter data: interval electricity and gas readings, usually available at 15-minute or hourly resolution from the building management system or the utility.
Here is the trap. A half-empty floor does not cost half as much to run. HVAC (heating, ventilation, and air conditioning) systems are often scheduled to serve the whole floor during lease hours whether five people or fifty show up. You pay to condition empty space.
Worse, lightly used floors often run inefficiently. A common pattern:
Energy is one of the largest controllable line items in a building's operating expenses. When physical occupancy falls but energy stays flat, your expense ratio (operating costs as a share of income) climbs. That is a direct hit to NOI.
The diagnostic move: overlay badge counts against energy load, floor by floor, hour by hour.
# Merge daily badge counts with daily energy use by floor,
# then flag floors burning energy while nearly empty.
import pandas as pd
badges = pd.read_csv("badge_daily.csv") # floor, date, unique_entries
energy = pd.read_csv("energy_daily.csv") # floor, date, kwh
df = badges.merge(energy, on=["floor", "date"])
df["kwh_per_person"] = df["kwh"] / df["unique_entries"].clip(lower=1)
# Flag: high energy, low occupancy
flags = df[(df["kwh_per_person"] > df["kwh_per_person"].quantile(0.90))]
print(flags.groupby("floor")["kwh_per_person"].mean().sort_values())The floors that surface here are your cost-efficiency problems. In the tower, floors 20 to 25 (the half-empty tenant) show energy loads nearly identical to fully occupied floors. You are paying to heat and cool ghosts.
The lease-expiration schedule (sometimes called a rollover schedule or lease-expiry stack) lists when each lease ends, at what rent, and covering how much space. It is the timeline that turns today's soft signals into tomorrow's NOI events.
Read it for three risks:
1. Rollover concentration. If a large share of square footage expires in the same 12-month window, you face a cliff. One bad market year at that moment can force deep rent cuts or long vacancy.
2. Mark-to-market gaps. Compare in-place rents to current market rents. A tenant paying above market will pressure you to lower rent at renewal (NOI down). A tenant below market is upside, if they stay.
3. Downsize signals paired with badge data. A low-badge tenant approaching expiration is likely to renew for less space. Model that shrinkage now.
🎬 [VIDEO: "How to Read a Rent Roll and Lease Abstract" — youtube.com — a plain-language walkthrough of rent roll and lease-schedule mechanics for commercial property]
Layer the three signals and the tower's quiet erosion becomes obvious:
None of this shows up in "100% leased." All of it shows up when you read occupancy and building performance together.
Vérification des acquis
1. A building reports 100% leased occupancy but its NOI has declined for three consecutive quarters. What does this situation most directly illustrate?
2. Why does a relatively small annual NOI erosion translate into a much larger loss of asset value?
3. What is the key conceptual distinction between physical occupancy and leased occupancy?
4. Select ALL correct answers. Why is badge-swipe (physical occupancy) data useful even when a tenant is paying full rent?
Sélectionnez toutes les réponses correctes.
5. Select ALL correct answers. Which data streams does the lesson identify as needing to be read together to understand NOI erosion in the tower example?
Sélectionnez toutes les réponses correctes.
Diagnosis is only useful if it changes decisions. Each signal maps to a lever.
Energy data gives you savings you can capture without touching tenants. Reschedule HVAC and lighting on lightly used floors to match real occupancy. Retrocommissioning (tuning existing systems back to efficient operation) and occupancy-based controls often reduce energy spend meaningfully, and every dollar saved flows straight to NOI. The U.S. EPA's ENERGY STAR Portfolio Manager is a free tool to benchmark a building's energy performance against peers.
For the low-badge tenant expiring in 20 months, do not wait. Open an early renewal conversation. Offer a right-sized footprint (say, consolidating them onto fewer floors) in exchange for a term extension. You may give up some square footage but you stabilize occupancy, free up space to re-lease, and cut the cost of running half-empty floors.
If badge counts are recovering on some floors, market the amenities: validate parking, promote the conference center, adjust cafe hours to real demand. Small ancillary lines add up and are far more responsive to management than base rent.
Where in-place rents sit above market and leases roll soon, budget conservatively. Assume renewals reset toward market. Better to model the NOI dip now than to be surprised at refinancing, when a lender values the building on trailing NOI.
This same three-signal method scales across a portfolio. Rank every asset by the gap between leased and physical occupancy, by energy cost per occupied square foot, and by rollover concentration in the next 24 months. The assets where all three flash red are where value is quietly leaking. Those are your intervention priorities and your acquisition-diligence red flags.
Data does not replace the asset manager's judgment. It tells them where to point it.