ForHosting KIT · Finance & money

Gross rent multiplier calculator

A building priced at 240,000 that brings in 24,000 of gross rent a year has a gross rent multiplier of 10: the buyer pays ten years of current rent. Rank listings and flyers before building a full pro forma. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Price
240,000
Annual rent
24,000
You get
Gross rent multiplier
10

The gross rent multiplier — searched as a GRM calculator, gross rental multiplier, or property rent multiplier — is the fastest comps screen for how many years of current gross rent a buyer pays for a building. A result of 10 means the asking price is ten times scheduled annual rent; 8x and 12x still print on many small residential and strip-center deals.

What GRM measures and how the multiple is formed

The gross rent multiplier answers a single listing question: how many years of current gross rent does a buyer pay for the property as priced? Searchers who type gross rent multiplier calculator want that quotient, not a capitalization rate that subtracts operating expenses from the denominator, not a one-percent-rule screen that turns monthly rent into a pass-fail flag, and not a spreadsheet that silently changes the decimal separator.

Price is the numerator: the asking price, contract price, or recent sale price in a single currency, the same figure a broker would put on a teaser. Gross annual rental income is the denominator: twelve months of scheduled or collected rent before vacancy, operating expenses, debt service, or capital reserves, in the same currency as price. A ratio of 10.0 means the building is priced at ten times annual gross rent.

A ratio of 8x is a conventional small-multifamily print in many secondary markets; 12x to 15x appears in tighter coastal or trophy-asset comps. The calculator does not convert monthly rent to annual, does not subtract vacancy or expenses, and does not apply a market hurdle: those belong on the underwriting tape.

Listing comps and screening

Turn asking price and scheduled annual rent into the GRM a listing table will rank next to nearby duplexes and small multifamily.

1031 and teaser checks

Paste advertised price and gross rent from a flyer so the implied multiplier is visible before a full pro forma is built.

Classroom and appraisal drills

Seed examples that return a rounded multiplier on positive annual rent and fail loudly when rent is zero or negative.

What happens if annual rent is zero or negative?

GRM is a quotient, so a zero or negative denominator is undefined and is not billed.

Is the gross rent multiplier the same as cap rate?

No. Cap rate divides net operating income by price. GRM divides price by gross annual rent and does not subtract expenses.

What is a typical gross rent multiplier?

It depends on the market. Around 8 is a common figure for small apartment buildings in secondary markets, while 12 to 15 shows up in tighter coastal or trophy markets. A lower figure means fewer years of rent to pay back the price.

Should the rent be before vacancy and expenses?

Yes. Use twelve months of scheduled or collected rent before vacancy, operating expenses, loan payments or reserves. Taking those out first gives a different measure, closer to a cap rate, and makes the multiplier look higher than comparable listings.

Should I enter monthly or annual rent?

Annual rent. The calculator does not convert monthly rent for you, so multiply the monthly figure by twelve first. Entering a monthly amount would make the multiplier twelve times too high.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/fin/gross-rent-multiplier

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/fin/gross-rent-multiplier \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"price":240000,"annual_rent":24000}'
{
  "price": 240000,
  "annual_rent": 24000
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "fin.gross_rent_multiplier",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_abs_value1000000000000000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

This calculator accepts the property price and the gross annual rental income as finite numbers in one currency, divides the first by the second, and returns the multiplier as a deterministic JSON contract. Zero or negative annual rent is rejected with invalid_input because the quotient is undefined.

What GRM measures and how the multiple is formed

This tool divides those two finite amounts and returns gross_rent_multiplier. Because division by zero is undefined, and because a negative rent roll does not produce a usable trading multiple in the way a listing agent or a 1031 buyer uses the figure, an annual_rent of zero or less fails with invalid_input instead of Infinity, NaN, or a negative multiple a form might treat as a bargain.

Input contract, response shape, and error behaviour

Negative annual rent is likewise rejected, because a negative denominator is not the gross rent multiplier a listing flyer describes. POST a JSON body that supplies price and annual_rent. price is the property value in a single currency unit, a finite number that may be zero in a gifted or fully reserved transfer, with aliases purchase_price, asking_price, property_price, sale_price, and market_value. annual_rent is trailing or scheduled gross annual rental income in the same currency, a finite number that must be strictly greater than zero, with aliases gross_annual_rent, gross_rent, annual_rental_income, ggi, and gross_income. Each numeric field may arrive as a JSON number or as a numeric string. Missing price, missing annual_rent, empty strings, non-finite values, or a magnitude above the declared limit fail with invalid_input naming the field and are not billed. Zero annual rent is the error this landing exists to catch: the message contains annual_rent and greater than zero so a form can highlight that control instead of showing a global alert. On success the body echoes both inputs, returns gross_rent_multiplier as the rounded quotient, and includes a formula string restating the identity. Example: price of two hundred forty thousand against annual_rent of twenty-four thousand yields gross_rent_multiplier of 10. Example: price of four hundred fifty thousand against thirty-six thousand of annual rent yields 12.5 rather than a silent empty payload. Pair the multiple with your own market median if the memo needs a cheap or expensive flag; this endpoint computes the valuation multiple only and does not invent a comps verdict.

Where a gross rent multiplier calculator earns its keep

Residential investors, small-multifamily brokers, and 1031 intermediaries rank for gross rent multiplier calculator because a listing table thinks in GRM, not in a raw asking price. Property managers and wholesalers live on rent rolls; dividing asking price by gross annual rent gives the same print without forcing an analyst to remember whether a cell already netted taxes and insurance. Educators teaching appraisal-style valuation can seed classroom examples that fail loudly on zero or negative rent instead of printing Infinity a student might treat as infinite cheapness. Failed validation does not consume balance. Public listing scanners use the same identity on recorded sale price against scheduled rent, and the JSON contract does not care which story produced the numerator. Keep annual rent strictly positive, pin the rounded gross_rent_multiplier field in tests, and you get a reproducible valuation multiple for widgets, course modules, and edge workers without standing up an underwriting engine of your own. Portfolio scripts can call the same module in a loop over many listings; each item is one request, the unit is item, and the free browser path remains byte-for-byte identical to the API so a landing-page preview never lies about the figure that will be stored after a save.

How is the gross rent multiplier calculated from price and annual rent?

Send finite numbers price and annual_rent. The API returns gross_rent_multiplier as price divided by annual_rent, rounded to six decimal places.

Do I enter monthly rent or annual rent?

Enter gross annual rental income. If you only have monthly rent, multiply by twelve in the calling application first; this endpoint does not annualize.

What does the gross rent multiplier calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →