Loss-to-Lease Analysis

Key Metrics

Annual Loss-to-Lease

-$389,028

$0 vs prior month

Avg Per-Unit Gap (Monthly)

-$104

$0 vs prior month

Avg % of Market Captured

106.5%

0.0 vs prior month

Occupied Units

313

Loss-to-Lease Trajectory

Loss-to-Lease Summary

Annual Loss-to-Lease

-$389,028

Avg Monthly Gap

-$104

Avg % of Market

106.5%

Occupied Units

313

Reality check: what do new leases actually sign at?

LTL assumes the posted market rent is achievable. How do new leases actually price relative to market since June 2025?

Big Value
error
Big Value
error

By Unit Type

Are certain floor plans falling further behind market than others? A large gap for a specific type may signal a pricing or positioning issue.

Loading...
No Results

Renewal Opportunity Pipeline

How much of the LTL gap is tied to leases expiring soon? Near-term expirations are where renewal negotiations can push rents closer to market. Each bar shows the total annual loss-to-lease tied to leases expiring in that window. "Expired / MTM" tenants are the easiest to adjust since no lease locks the rate.

Loading...

New Leases vs Renewals

Do new leases or renewals carry more of the gap? Renewals with high LTL means renewal pricing is too conservative — push harder on renewal increases. New leases with high LTL means asking rents are too low relative to posted market rates.

Loading...
No Results

Trade-Out Capture Trend

Trade-out is the rent increase captured when a unit turns over to a new tenant — the main way to close the loss-to-lease gap. If trade-out is trending up and remaining gap is trending down, pricing is getting more aggressive and effective. If both are flat or the gap is stubbornly large, there may be concessions, market softness, or conservative pricing holding things back.

Line Chart
Binder Error: Could not choose a best candidate function for the function call "strftime(STRING_LITERAL, DOUBLE)". In order to select one, please add explicit type casts.
	Candidate functions:
	strftime(TIMESTAMP, VARCHAR) -> VARCHAR
	strftime(TIMESTAMP_NS, VARCHAR) -> VARCHAR
	strftime(TIMESTAMP WITH TIME ZONE, VARCHAR) -> VARCHAR
	strftime(DATE, VARCHAR) -> VARCHAR


LINE 4:         strftime('%Y-%m', st.move_in_date) as month,
                ^

Unit Detail

Every occupied unit sorted by largest rent gap. Units near the top with upcoming lease expirations are the highest-priority renewal opportunities.

No Results