Skip to main content

matrix

Generate a sensitivity matrix comparing break-even rent across different price and down payment combinations.

Usage

mortgage-cli matrix [OPTIONS]

Options

OptionShortTypeDefaultDescription
--price-minFLOATrequiredMinimum property price
--price-maxFLOATrequiredMaximum property price
--price-stepFLOAT20000Price increment
--down-minTEXT10%Minimum down payment percentage
--down-maxTEXT50%Maximum down payment percentage
--down-stepTEXT5%Down payment increment
--rent-rFLOATProfile targetTarget rent for color coding
--profileTEXTdefaultProfile name to use
--output-oTEXTtableOutput format: table, json, csv, summary

Examples

Basic Matrix

mortgage-cli matrix --price-min 100000 --price-max 200000

Output:

Sensitivity Matrix - Break-even Rent (Target: €1,000/month)
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ Down % ┃ €100,000 ┃ €120,000 ┃ €140,000 ┃ €160,000 ┃ €180,000 ┃ €200,000 ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━┩
│ 10% │ €800 │ €910 │ €1,021 │ €1,131 │ €1,242 │ €1,352 │
│ 15% │ €770 │ €874 │ €978 │ €1,082 │ €1,186 │ €1,290 │
│ 20% │ €739 │ €837 │ €935 │ €1,033 │ €1,130 │ €1,228 │
│ 25% │ €708 │ €800 │ €892 │ €983 │ €1,075 │ €1,167 │
│ 30% │ €678 │ €763 │ €849 │ €934 │ €1,020 │ €1,105 │
│ 35% │ €647 │ €727 │ €806 │ €885 │ €964 │ €1,044 │
│ 40% │ €616 │ €690 │ €763 │ €836 │ €909 │ €982 │
│ 45% │ €586 │ €653 │ €720 │ €787 │ €854 │ €921 │
│ 50% │ €555 │ €616 │ €677 │ €738 │ €798 │ €859 │
└───────────┴───────────┴───────────┴───────────┴───────────┴───────────┴───────────┘
Legend: GREEN = Good (<90% target) | YELLOW = Marginal (90-100%) | RED = Poor (>100%)

With Custom Target Rent

mortgage-cli matrix --price-min 100000 --price-max 200000 --rent 1200

Smaller Price Steps

mortgage-cli matrix --price-min 140000 --price-max 160000 --price-step 5000

Custom Down Payment Range

mortgage-cli matrix --price-min 100000 --price-max 150000 --down-min 20% --down-max 40% --down-step 10%

JSON Output for Processing

mortgage-cli matrix --price-min 100000 --price-max 150000 --output json > matrix.json
{
"target_rent": 1000.0,
"prices": [100000, 120000, 140000],
"down_payments": [0.1, 0.15, 0.2],
"matrix": [
[
{"price": 100000, "down_payment_percent": 0.1, "break_even_rent": 800.14, "verdict": "green"},
{"price": 120000, "down_payment_percent": 0.1, "break_even_rent": 910.16, "verdict": "yellow"},
{"price": 140000, "down_payment_percent": 0.1, "break_even_rent": 1020.19, "verdict": "red"}
]
]
}

Summary Output

mortgage-cli matrix --price-min 100000 --price-max 200000 --output summary
SENSITIVITY ANALYSIS SUMMARY
==================================================

Analyzed 54 price/down-payment combinations:
- 18 good opportunities (green)
- 12 marginal opportunities (yellow)
- 24 poor opportunities (red)

Top opportunities (lowest break-even rent):
1. €100,000 with 50% down - break-even: €555/month
2. €100,000 with 45% down - break-even: €586/month
3. €100,000 with 40% down - break-even: €616/month

Understanding the Matrix

Color Coding

The matrix uses color coding based on your profile's thresholds:

  • GREEN: Break-even rent is below 90% of target rent (good investment)
  • YELLOW: Break-even rent is 90-100% of target rent (marginal)
  • RED: Break-even rent exceeds target rent (poor investment)

Reading the Matrix

  1. Rows represent down payment percentages (higher = more cash upfront)
  2. Columns represent property prices
  3. Cells show the break-even rent for that combination

Tips

  • Look for green cells that match your available capital
  • Higher down payments always reduce break-even rent
  • Use the summary output to quickly identify the best opportunities