To Buy or Rent

lakshman kumar
Jul 21, 2017 · 6 min read

My Friend introduced me to this web-page, that compares the costs of buying vs renting. I have been always on the fence between the two. My friend is a strong proponent of the no-buying camp. Most people, I talk with, tend to gravitate on the buy-side. So, I threw at him the slew of questions which typically come from the buyers, like why pay rent which is just an expense. So, he showed me this awesome calculator that considers in most of the influencing parameters towards deciding whether to buy or rent.

By far, this was the first time, I came across such a comprehensive analysis. Intuitively, while paying the interest part in a mortgage seems like a drain and this is typically more than the rent when a mortgage starts, as years roll by, the interest part diminishes and the rent keeps growing due to inflation. At this point, its not clear whether renting or buying is better.

I like the way the calculator approaches the comparison. While I wish I got access to the actual comparing code/logic, after reading the explanations on the page, I just came up with my implementation of the same comparison. Mine is not as accurate, as feeding the same inputs gives a different result in mine vs the web page. Probably the actual tax calculations are a bit different. But anyway, my actual desire to (re)implement the calculation was to quickly try out variations on parameters and see how each has a say on the comparison, and manually feeding them on a web-page was turning out cumbersome.

So, here is a list of all factors that are taken in. I am also listing the default values I am assuming. These are baked into the script. We can override any explicitly.

  1. Home value ($750,000)
  2. How long (30 Yrs)
  3. Mortgage (4.0%)
  4. Down Payment (10%)
  5. Length of Mortgage (30 Yrs)
  6. Home Price Appreciation (4.0%)
  7. Rent Appreciation (4.5%)
  8. Inflation Rate (3.0%)
  9. Investment Rate (8.0%)
  10. Prop Tax Rate (0.8%)
  11. Joint/Single (Joint)
  12. Marginal Tax Rate (25%)
  13. Buying Expense (1.5%)
  14. Selling Expense (6%)
  15. Maintenance (1%)
  16. Own Insurance (0.46%)
  17. Common Monthly Expense (250)
  18. Rental Deposit (I am leaving this off)
  19. Broker Fees (I am leaving this off)
  20. Rent Insurance (0.5%)

For these values, the web-page shows $2199, while my calculation shows $2452. So, my understanding/calcuations err on the side of renting, while the web-site is towards buying. Anyway, even $2452 is not sufficient to rent any $750K house as of now in the bay-area, that I come across. So, overall, for these numbers, the tilt is towards buying. But, lets hold our horses, and study tweaking each parameter.

1. Home Price Appreciation

The most popular push to buying a new home is the fear that home price is getting costlier by the day. But my friends points to this article that pegs the historical home price growth at much less than 4%. So, lets adjust this rate from 2 to 10. Anything above 6, renting doesn’t hold. But below 6, the case for buying isn’t that strong, especially if we tweak the other numbers too. (I pulled up the mortgage value to be same as price_appreciation). The numbers have a decent impact. For example at 3% to 5% the variation is ~$120.

$ for i in $(seq 2.0 0.5 10.0) ; do rent=$(./calculate.py --price_appr $i --down_pay 100 -l 0); echo "$i -- $rent" ; done
2.0 -- 2269.20
2.5 -- 2322.98
3.0 -- 2372.38
3.5 -- 2416.01
4.0 -- 2452.31
4.5 -- 2479.46
5.0 -- 2495.37
5.5 -- 2497.67
6.0 -- 2483.64
6.5 -- 2450.18
7.0 -- 2393.76
7.5 -- 2310.35
8.0 -- 2195.37
8.5 -- 2043.62
9.0 -- 1849.19
9.5 -- 1605.36
10.0 -- 1304.49

2. Mortgage rates

Naturally, more the mortgate rate, the worser is the buying decision. While 4% is our default, an 1% increase here strongly bumps up the break-even rent by $180!

$ for i in $(seq 2.0 0.5 10.0) ; do rent=$(./calculate.py --mort_per $i -l 0); echo "$i -- $rent" ; done
2.0 -- 2126.19
2.5 -- 2203.34
3.0 -- 2283.46
3.5 -- 2366.48
4.0 -- 2452.31
4.5 -- 2540.87
5.0 -- 2632.04
5.5 -- 2725.73
6.0 -- 2821.82
6.5 -- 2920.20
7.0 -- 3020.75
7.5 -- 3123.34
8.0 -- 3227.87
8.5 -- 3334.21
9.0 -- 3442.24
9.5 -- 3551.86
10.0 -- 3662.94

3. Investment rate

Investment rate has to meaningfully hold above 8% to makes any sense. But every percent increase, greatly tilts on renting. Anyway, I dont think, we should assume anything beyond 9% for especially long terms like 30+ years.

$ for i in $(seq 5.0 0.5 10.0) ; do rent=$(./calculate.py --inv_rate $i -l 0); echo "$i -- $rent" ; done
5.0 -- 1636.67
5.5 -- 1786.58
6.0 -- 1930.75
6.5 -- 2069.28
7.0 -- 2202.29
7.5 -- 2329.92
8.0 -- 2452.31
8.5 -- 2569.62
9.0 -- 2682.01
9.5 -- 2789.66
10.0 -- 2892.73

4. House price

This is tricky. Does increasing home price have any effect? So, we will also print how many rents it take to cover up the home-price. It looks like as home-values increase, it looks like buying is better as the break-even rent keeps coming down.

$ for i in $(seq 100000 50000 1000000) ; do rent=$(./calculate.py --home_val $i -l 0); rent_price_ratio=$(python -c "r=($i/$rent);print r"); echo "$i -- $rent -- $rent_price_ratio" ; done
100000 -- 563.37 -- 177.503239434
150000 -- 741.34 -- 202.336309925
200000 -- 914.05 -- 218.806411028
250000 -- 1054.88 -- 236.993781283
300000 -- 1194.63 -- 251.123778911
350000 -- 1334.37 -- 262.29606481
400000 -- 1474.11 -- 271.350170611
450000 -- 1613.85 -- 278.836323078
500000 -- 1753.60 -- 285.127737226
550000 -- 1893.34 -- 290.491934888
600000 -- 2033.08 -- 295.118736105
650000 -- 2172.83 -- 299.14903605
700000 -- 2312.57 -- 302.693540087
750000 -- 2452.31 -- 305.834091122
800000 -- 2592.05 -- 308.636021682
850000 -- 2731.80 -- 311.150157405
900000 -- 2871.54 -- 313.420673228
950000 -- 3011.28 -- 315.480460137
1000000 -- 3151.03 -- 317.356546907

5. Duration of holding the house

The best time seem to be somewhere in the 16 Year’ish — perhaps because of the tax benefits that dip after that. But otherwise, the tenure doesn’t seem to hold much.

$ for i in $(seq 4 4 100) ; do rent=$(./calculate.py --how_long $i -l 0); echo "$i -- $rent" ; done
4 -- 2631.93
8 -- 2264.25
12 -- 2232.43
16 -- 2272.13
20 -- 2330.52
24 -- 2384.35
28 -- 2431.42
32 -- 2498.54
36 -- 2565.80
40 -- 2609.67
44 -- 2638.16
48 -- 2656.35
52 -- 2667.55
56 -- 2673.95
60 -- 2677.07
64 -- 2677.95
68 -- 2677.30
72 -- 2675.64
76 -- 2673.34
80 -- 2670.64
84 -- 2667.73
88 -- 2664.75
92 -- 2661.77
96 -- 2658.87
100 -- 2656.07

6. DownPayment

Interestingly, I was wondering the case, where we buy the house outright w/o mortgage. Guess, what it costs $3727 vs the $2452! So, it makes sense to mortgage, espeically when we can invest money in hand in stock-market and not pre-pay anything! Thank you tax-exemptions.

$ for i in $(seq 10 10 100) ; do rent=$(./calculate.py --down_pay $i -l 0); echo "$i -- $rent" ; done
10 -- 2452.31
20 -- 2599.03
30 -- 2745.74
40 -- 2892.45
50 -- 3039.17
60 -- 3185.88
70 -- 3332.60
80 -- 3479.31
90 -- 3618.21
100 -- 3727.20

7. Common Monthly Expenses

There are the community charges etc.. that we need to pay. This has the highest say — as it almost translates directly to rent.

$ for i in $(seq 0 100 1000) ; do rent=$(./calculate.py --month_comm $i -l 0); echo "$i -- $rent" ; done
0 -- 2244.87
100 -- 2327.85
200 -- 2410.82
300 -- 2493.80
400 -- 2576.78
500 -- 2659.75
600 -- 2742.73
700 -- 2825.70
800 -- 2908.68
900 -- 2991.65
1000 -- 3074.63

Just avoid houses with these charges :) A better deal would be to chose a costlier house without it. For example, its almost same in break-even rent (~$2450)to choose a home at $825K with no monthly charges to a house of $750K with a $250 monthly charge.

8. Property Taxes

Again, more the taxes, more the loss (No, tax exemptions dont mean much)

$ for i in $(seq 0.5 0.1 1.5) ; do rent=$(./calculate.py --prop_tax $i -l 0); echo "$i -- $rent" ; done
0.5 -- 2320.78
0.6 -- 2364.63
0.7 -- 2408.47
0.8 -- 2452.31
0.9 -- 2496.16
1.0 -- 2540.00
1.1 -- 2583.84
1.2 -- 2627.69
1.3 -- 2671.53
1.4 -- 2715.37
1.5 -- 2759.22

9. Other parameters

There are hardly any change in the following. So, I am not tweaking this. Maintenance might be more or less. Since we are accounting compounded maintenance, I guess, the 1% assumption fairly evens out this expense.

  • Joint/Single, assumed joint
  • Marginal Tax Rate (25%)
  • Maintenance (1%)
  • Own Insurance (0.46%)
  • Rent Insurance (0.5%)

These parameters dont make much impact.

  • Buying Expense (1.5%)
  • Selling Expense( 6%)

BottomLine

One thing I realize is, depending on our assumptions on the 3 big-ticket items — Home-value appreciation, Rent appreciation and Investment Returns, our decision will change. None of them are easy to arrive it. While there are the broad indices and past-performances, the exact house we look at or the investment we make, might differ from these broad averages. I ball-park the values at 4,4,9. So, I tend to decide towards renting. This is further emboldened by the fact that I don’t have money anyway to pay for a downpayment!

The biggest take-away for me over this exercise is that, neither buying or renting, is unquestionably better than the other. While we may not have to shy away from buying altogether, we needn’t think buying is the must-to-do thing either. The house price/rent-appreciation are definitely not as high as investment-returns. So, participating in competitive bids to just buy a house early in our career, is totally unnecessary — renting is not loss of money, and house prices and rents aren’t beating general inflation as much as investment-returns.

Further, while we buy, we typically over-shoot for a slightly bigger house than we would otherwise rent. Also we tend to pick on considerations that have temporal needs, like proximity to work or school-districts, which we can move away from, in case of renting.

Happy renting, buying or well, deciding :)

)
Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade