mortgager - R Package
This package was developed to calculate homeownership costs for MassHousing’s Commonwealth Builder Program. This package was used to analyse a proprietary dataset of home sale records from 2010 to 2020 in Massachusetts to determine the affordability of existing and historic sales.
The formula used for calculating monthly home-ownership payment amounts is based on a widely accepted monthly mortgage formula, which here is adapted from that seen on the Nerdwallet website.
- M = Monthly mortgage amount
- P = Principal amount, ie total loan amount
- i = Monthly mortgage interest rate
- n = Number of payments across loan duration. (This is generally assumed to be number of months. For example, a loan with a payback period of 30 years, will have 360 payments in total)
In addition to the monthly mortgage payment, there are other costs associated with home-ownership which are then added to calculate total home-ownership costs, namely:
- PMI factor – only for loans with a downpayment less than 20%, assumed at 7.5% annually on the mortgage amount
- Home-owners insurance – assumed at $1000 annually
- Condo fees – applicable only to condominium sales, assumed at $1000 annually
- Property Tax - an annual percentage amount taxed on assessed property value dependent on the jurisdiction the unit is located in.
You can install the released version of mortgager with:
Load the package with this line:
Examples for each function:
calculates monthly home-ownership costs based on tax rates, interest rates, downpayment rate, and home cost price.
monthlypayment(mortgage_rate = 3, property_tax = 12, downpayment_rate = .2, home_price = 450000)
##  2051.108
calculates maximum affordable home price based on annual income with a set monthly housing cost percentage (default is 30%).
max_homeprice(annualinc = c(61000, 75000, 22330, 120000), mortgage_rate = 2.7, property_tax = 6)
## # A tibble: 4 x 4 ## income_level atincome at80pc at120pc ## <dbl> <dbl> <dbl> <dbl> ## 1 61000 224144. 179316. 268973. ## 2 75000 278561. 222849. 334273. ## 3 22330 73838. 59070. 88606. ## 4 120000 453471. 362777. 544166.
calculates the total downpayment amount based on sale price and downpayment rate
downpayment_amt(home_price = 250000, downpayment_rate = 0.10)
##  25000
calculates the minimum annual income required for total housing costs to remain at or below a set proportion of household income.
reqd_income(monthlypayment = 2000, housing_cost_rate = 0.30)
##  80000