RENTAL RENT OPTIMIZER · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Is your asking rent too high, or too low?

Paste your past listings: asking rent, days on market, and whether it leased or is still vacant. The tool fits how quickly your units lease at each premium over market, finds the asking rent with the highest expected net income once vacancy, turnover and renewals are counted, draws the profit curve with a bootstrap range, prices asking 5% too high, and back-tests the fit on your newest listings. With fewer than six listings it falls back to an elasticity you choose and says so.

Your listings never leave this browser tab. Statistical estimate from your own data, not advice. Not legal, tax, or financial advice; not fair-housing advice.

Your listing history

Leased is 1/0 or leased/vacant. A listing that is still vacant counts as waiting, not as missing: enter the days so far and 0. The optional market_rent column is what comparable units asked when you listed; without it every listing is compared with today's market rent below. Rows are read oldest first so the back-test can score your newest listings.

The unit you are pricing

Cleaning, paint, ads, make-ready, leasing fee.

Only what you pay because it is empty: utilities, vacant insurance, lawn.

Mortgage, property tax. Shown in net income; they do not change the best rent.

Non-payment or eviction, per tenancy.

Used to shrink a short history: +10% rent makes the wait this much longer.

Dollar figures are shown over this period.

Upload or paste your listings, enter today's market rent, then click Analyse.

How it is calculated

Days to lease: an exponential (constant leasing rate) survival model, rate per day = e^(a + b × x), where x = ln(asking rent ÷ market rent). The mean wait is 1 ÷ rate. Listings still vacant are right-censored: they add waiting days to the likelihood without a lease event. The slope b is fitted by penalised maximum likelihood (Newton-Raphson with step halving) with a Gaussian prior centred on your assumed elasticity, so a short or narrow history is shrunk toward the assumption; with fewer than 6 listings the prior is nearly fixed. Best rent: a cycle is one vacancy followed by a tenancy of term ÷ (1 − renewal chance) months. Expected net per month = (rent × tenancy months − turnover − vacant-month cost × mean vacancy − chance of a costly tenancy × its cost) ÷ (mean vacancy + tenancy months), minus costs you pay either way. The best rent is searched only inside the premiums your history covers (±15% around market when it cannot be learned). 300 seeded bootstrap resamples of your listings give the 80% range. Back-test: fit on the first 75% in the order given and score the rest by average log-likelihood against a model that ignores rent.

Not modelled: rent control, rent stabilisation, caps on increases and fair-housing law; season, listing quality, location and amenities; tenants who negotiate; rent growth during the lease; rent concessions. Listings are not randomised, so this is correlation, not an experiment. Unverified: checked against simulated listings with known curves and closed-form optima in unit tests, not against a published rental dataset or a property-management product.

Common questions

What is the best asking rent for a rental unit?

The best asking rent is the one that maximises what you actually keep, not the highest one you could list. A higher rent earns more every month you are leased but usually sits empty longer, and every empty month costs you rent, utilities and a turnover bill. This tool fits how long your own listings took to lease at different asking rents, then picks the rent with the highest expected net income per month across vacancy and lease cycles.

How much does asking too much rent cost a landlord?

It depends on how steeply your listings slow down as the rent rises. The tool prints the cost of asking 5% above the best rent in dollars over your planning horizon, using your own history. Because the profit curve is flat near the top, a small overshoot often costs little while a large one costs a lot, and the page draws the whole curve so you can see which side is steeper.

How does the tool estimate days to lease from my history?

It uses a survival model with a constant leasing rate that depends on how far above or below market each listing was asked. Listings that are still vacant are counted as waiting time without a lease, which keeps slow listings from being ignored. The slope is fitted from your rows and shrunk toward the elasticity you assume, so a short history cannot swing the answer.

How many past listings do I need?

One row is enough to get a typical time to lease, but fewer than six rows cannot show how rent changes vacancy, so the tool says so and uses your assumed elasticity instead. Around 15 to 30 listings with a spread of asking rents, including some above and below market, gives a slope the data can support. If your rents barely varied, nothing in your history can say what a higher rent would do.

Does this account for rent control or fair housing rules?

No. Local rent control, rent stabilisation, maximum increases, application-fee rules and fair housing law are not modelled, and nothing here is legal advice. Check the rules where the unit is before advertising. The tool only compares rents you could lawfully ask, using the times to lease in your own records.

Is my listing history uploaded anywhere?

No. Your rows are read and analysed in this browser tab, nothing is sent to a server, and there are no accounts or cookies. The page never stores your listings. It keeps working offline once loaded.

Why would the result be wrong?

Rents are not set at random. If you asked more for the better units, or listed the expensive ones in the slow winter months, the history mixes those effects with price and the slope can be misleading; the tool flags a slope that points the wrong way. It also cannot see the quality of the listing photos, the season, or the neighbourhood. Treat the answer as a hypothesis for one small, reversible change.