Utilities

Rent vs buy over a holding period (present value)

Compares the cost of buying a home against renting over a fixed holding period on a present-value basis. Every cash flow — mortgage, property tax, insurance, maintenance, HOA, rent, and the net proceeds from selling at the end — is discounted to today at the investment return, so the opportunity cost of the down payment is captured by the discount rate. The path with the lower present value of net cost wins. Most fields default to reasonable assumptions; deterministic; not lending, tax, or financial advice.

post/v1/mortgage/rent-vs-buy

Request

  • Base URL: https://api.numeratica.com
  • URL: https://api.numeratica.com/v1/mortgage/rent-vs-buy
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Request body

home_pricenumber required
down_paymentnumber required

≤ home_price.

mortgage_ratenumber required

Annual APR.

loan_term_monthsinteger

Omit for 360.

closing_cost_ratenumber

Buyer's closing costs, fraction of price; omit for 0.03.

selling_cost_ratenumber

Sale costs, fraction of price; omit for 0.06.

property_tax_ratenumber

Annual, fraction of home value; omit for 0.011.

insurance_ratenumber

Annual homeowner's, fraction of home value; omit for 0.005.

maintenance_ratenumber

Annual, fraction of home value; omit for 0.01.

hoa_monthlynumber
home_appreciationnumber

Annual; omit for 0.03, or set 0 for a flat market (a bare 0 is honored, not defaulted).

monthly_rentnumber required
rent_growthnumber

Annual; omit for 0.03, or set 0 for flat rent (e.g. rent-controlled).

renters_insurance_monthlynumber
holding_period_monthsinteger

Omit for 84 (7 yr).

investment_returnnumber required

Annual; the discount rate / opportunity cost.

inflationnumber

Annual; grows HOA + renters insurance; omit for 0.025, or set 0 to hold them flat.

Response

The rent-vs-buy comparison

result_idstring
engine_versionstring
disclaimerstring

Example response

{
  "result_id": "rentvsbuy_1a2b3c4d5e6f7a8b",
  "engine_version": "rent-vs-buy-1.0.0"
}

Changes

No recorded changes to this operation across all 1 revision of this API.