{"product_id":"rental-property-calculator","title":"Rental Property Calculator","description":"\u003cstyle\u003e\n.rppc-calculator {\n  --ink: #0f172a;\n  --muted: #475569;\n  --border: #e2e8f0;\n  --surface: #ffffff;\n  --tint: #f8fafc;\n  --primary: #1d4ed8;\n  --accent: #c2410c;\n  --accent-hover: #9a3412;\n  --chart-1: #1e40af;\n  --chart-2: #0d9488;\n  --chart-3: #7c3aed;\n  --chart-4: #be185d;\n  --chart-5: #334155;\n  color: var(--ink);\n  background: var(--surface);\n  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  container-type: inline-size;\n  font-variant-numeric: tabular-nums;\n}\n.rppc-calculator, .rppc-calculator *, .rppc-calculator *::before, .rppc-calculator *::after { box-sizing: border-box; }\n.rppc-calculator * { min-width: 0; }\n.rppc-calculator h2, .rppc-calculator h3, .rppc-calculator p { margin-top: 0; }\n.rppc-calculator h2 { font-size: 24px; line-height: 1.25; font-weight: 700; margin-bottom: 8px; }\n.rppc-calculator h3 { font-size: 18px; line-height: 1.35; font-weight: 650; margin-bottom: 12px; }\n.rppc-calculator a { color: var(--primary); text-underline-offset: 3px; }\n.rppc-calculator a:hover { text-decoration-thickness: 2px; }\n.rppc-header { padding: 24px; border: 1px solid var(--border); border-radius: 8px 8px 0 0; background: var(--tint); }\n.rppc-header-copy { color: var(--muted); margin-bottom: 16px; max-width: 780px; }\n.rppc-pills { display: flex; flex-wrap: wrap; gap: 8px; }\n.rppc-pill { display: inline-flex; gap: 8px; align-items: baseline; padding: 6px 10px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); font-size: 13px; color: var(--muted); }\n.rppc-pill strong { color: var(--ink); font-weight: 700; }\n.rppc-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 16px 24px; border-inline: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--surface); }\n.rppc-button { min-height: 44px; border-radius: 6px; padding: 11px 18px; border: 1px solid var(--border); font: inherit; font-weight: 650; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 10px; white-space: nowrap; box-shadow: 0 1px 2px rgba(15,23,42,.06); }\n.rppc-button:hover { box-shadow: 0 2px 5px rgba(15,23,42,.12); }\n.rppc-button:focus-visible, .rppc-calculator input:focus-visible, .rppc-calculator select:focus-visible, .rppc-calculator summary:focus-visible { outline: 3px solid rgba(29,78,216,.32); outline-offset: 2px; }\n.rppc-download { color: #fff; background: var(--accent); border-color: var(--accent); }\n.rppc-download:hover, .rppc-download:active { background: var(--accent-hover); border-color: var(--accent-hover); }\n.rppc-reset { color: var(--ink); background: var(--surface); }\n.rppc-icon { width: 18px; height: 18px; display: inline-block; flex: 0 0 auto; }\n.rppc-workspace { display: grid; grid-template-columns: 1fr; gap: 16px; padding: 16px 0; }\n.rppc-panel, .rppc-section { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); box-shadow: 0 1px 2px rgba(15,23,42,.06); }\n.rppc-panel-head, .rppc-section-head { padding: 20px 20px 0; }\n.rppc-panel-body, .rppc-section-body { padding: 20px; }\n.rppc-form-alert { display: none; margin-bottom: 16px; padding: 10px 12px; border: 1px solid #fbbf24; border-radius: 6px; background: #fffbeb; color: #78350f; font-size: 13px; }\n.rppc-form-alert.rppc-show { display: block; }\n.rppc-subsection { padding: 20px 0; border-top: 1px solid var(--border); }\n.rppc-subsection:first-child { padding-top: 0; border-top: 0; }\n.rppc-subsection:last-child { padding-bottom: 0; }\n.rppc-subsection-title { font-size: 16px; font-weight: 700; margin: 0 0 12px; }\n.rppc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; align-items: start; }\n.rppc-field { display: flex; flex-direction: column; gap: 6px; }\n.rppc-field label, .rppc-field-label { font-size: 14px; line-height: 1.35; font-weight: 600; color: var(--ink); }\n.rppc-control-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: stretch; }\n.rppc-calculator input, .rppc-calculator select { width: 100%; min-height: 44px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 9px 11px; background: #fff; color: var(--ink); font: inherit; font-size: 15px; }\n.rppc-calculator input[disabled], .rppc-calculator select[disabled] { background: #f1f5f9; color: #64748b; cursor: not-allowed; }\n.rppc-unit { width: auto !important; min-width: 76px; }\n.rppc-help { display: block; min-height: 34px; color: var(--muted); font-size: 13px; line-height: 1.3; font-weight: 500; }\n.rppc-help.rppc-error-text { color: #b91c1c; }\n.rppc-invalid { border-color: #dc2626 !important; background: #fef2f2 !important; }\n.rppc-check { display: flex; align-items: flex-start; gap: 10px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); min-height: 44px; }\n.rppc-check input { width: 18px; min-height: 18px; height: 18px; margin: 2px 0 0; flex: 0 0 auto; }\n.rppc-check label { font-size: 14px; font-weight: 600; cursor: pointer; }\n.rppc-expense-grid { display: grid; gap: 12px; }\n.rppc-expense-row { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(110px, .8fr) minmax(100px, .65fr); gap: 8px; align-items: start; }\n.rppc-expense-row .rppc-expense-name { padding-top: 11px; font-size: 14px; font-weight: 600; }\n.rppc-expense-head { color: var(--muted); font-size: 13px; font-weight: 650; padding-top: 0; }\n.rppc-results-primary { padding: 20px; border-bottom: 1px solid var(--border); background: var(--tint); }\n.rppc-eyebrow { color: var(--muted); font-size: 13px; font-weight: 650; margin-bottom: 4px; text-transform: uppercase; letter-spacing: .04em; }\n.rppc-primary-value { font-size: 30px; line-height: 1.2; font-weight: 700; margin-bottom: 6px; overflow-wrap: anywhere; }\n.rppc-primary-note { color: var(--muted); font-size: 13px; margin-bottom: 0; }\n.rppc-result-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 12px; padding: 20px; }\n.rppc-result-card { border: 1px solid var(--border); border-radius: 6px; padding: 14px; background: var(--surface); }\n.rppc-result-label { color: var(--muted); font-size: 13px; font-weight: 600; margin-bottom: 4px; }\n.rppc-result-value { color: var(--ink); font-size: 20px; line-height: 1.3; font-weight: 700; overflow-wrap: anywhere; }\n.rppc-result-sub { color: var(--muted); font-size: 13px; margin-top: 4px; }\n.rppc-breakdown, .rppc-chart, .rppc-table, .rppc-education { margin-top: 16px; }\n.rppc-chart-intro { color: var(--muted); margin-bottom: 16px; }\n.rppc-chart-cluster { display: grid; grid-template-columns: 1fr; gap: 20px; align-items: center; justify-items: center; max-width: 760px; margin: 0 auto; }\n.rppc-visual-box { width: min(100%, 320px); display: grid; place-items: center; }\n.rppc-donut-svg { width: 100%; height: auto; display: block; overflow: visible; }\n.rppc-donut-center { font-size: 20px; font-weight: 700; fill: var(--ink); text-anchor: middle; dominant-baseline: central; }\n.rppc-donut-caption { font-size: 15px; font-weight: 600; fill: var(--muted); text-anchor: middle; }\n.rppc-legend { display: grid; gap: 10px; width: 100%; max-width: 380px; }\n.rppc-legend-row { display: grid; grid-template-columns: 12px minmax(90px, auto) max-content max-content; gap: 10px; align-items: center; justify-content: start; font-size: 13px; }\n.rppc-swatch { width: 12px; height: 12px; border-radius: 3px; }\n.rppc-legend-name { font-weight: 600; color: var(--ink); }\n.rppc-legend-value, .rppc-legend-percent { color: var(--muted); white-space: nowrap; }\n.rppc-empty-state { display: none; width: 100%; max-width: 520px; padding: 14px; border: 1px dashed #94a3b8; border-radius: 6px; background: var(--tint); color: var(--muted); text-align: center; font-size: 13px; }\n.rppc-empty-state.rppc-show { display: block; }\n.rppc-chart-callout { margin-top: 16px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); color: var(--muted); font-size: 13px; }\n.rppc-safe-stack .rppc-chart-cluster { grid-template-columns: 1fr !important; gap: 20px !important; justify-items: center !important; }\n.rppc-safe-stack .rppc-chart-callout { margin-top: 20px !important; }\n.rppc-line-wrap { width: 100%; max-width: 920px; margin: 0 auto; }\n.rppc-line-svg { width: 100%; height: auto; display: block; overflow: visible; }\n.rppc-line-legend { display: flex; flex-wrap: wrap; gap: 12px 18px; justify-content: center; margin-top: 20px; }\n.rppc-line-legend-item { display: inline-grid; grid-template-columns: 14px auto; gap: 8px; align-items: center; color: var(--ink); font-size: 13px; font-weight: 600; }\n.rppc-line-legend-swatch { width: 14px; height: 4px; border-radius: 2px; }\n.rppc-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }\n.rppc-table-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }\n.rppc-table-toggle { border: 1px solid var(--border); background: var(--surface); color: var(--ink); min-height: 38px; padding: 8px 12px; border-radius: 6px; font: inherit; font-size: 13px; font-weight: 650; cursor: pointer; }\n.rppc-table-toggle[aria-pressed=\"true\"] { background: var(--primary); color: #fff; border-color: var(--primary); }\n.rppc-table-overflow { width: 100%; overflow-x: auto; border: 1px solid var(--border); border-radius: 6px; }\n.rppc-calculator table { width: 100%; min-width: 980px; border-collapse: collapse; font-size: 13px; }\n.rppc-calculator th, .rppc-calculator td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: right; white-space: nowrap; }\n.rppc-calculator th:first-child, .rppc-calculator td:first-child { text-align: left; }\n.rppc-calculator th { background: #e2e8f0; color: var(--ink); font-weight: 700; }\n.rppc-calculator tbody tr:nth-child(even) { background: var(--tint); }\n.rppc-calculator tfoot td { font-weight: 700; background: #f1f5f9; border-bottom: 0; }\n.rppc-table-note { margin-top: 16px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); color: var(--muted); font-size: 13px; }\n.rppc-safe-table-stack .rppc-table-note { margin-top: 20px !important; }\n.rppc-advanced { margin-top: 16px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }\n.rppc-advanced summary { cursor: pointer; list-style-position: inside; padding: 16px 20px; font-size: 16px; font-weight: 700; }\n.rppc-advanced-body { padding: 0 20px 20px; color: var(--muted); }\n.rppc-education .rppc-section-body { max-width: 900px; }\n.rppc-education h3 { margin-top: 28px; }\n.rppc-education p { color: #334155; margin-bottom: 14px; }\n.rppc-education ul { margin: 0 0 16px; padding-left: 22px; color: #334155; }\n.rppc-education li { margin-bottom: 8px; }\n@container (min-width: 640px) {\n  .rppc-chart-cluster { grid-template-columns: minmax(260px, 320px) minmax(260px, 380px); gap: 28px; justify-items: start; }\n}\n@container (min-width: 900px) {\n  .rppc-workspace { grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); align-items: start; }\n}\n@container (max-width: 520px) {\n  .rppc-header, .rppc-toolbar { padding-left: 16px; padding-right: 16px; }\n  .rppc-panel-head, .rppc-section-head { padding-left: 16px; padding-right: 16px; }\n  .rppc-panel-body, .rppc-section-body { padding: 16px; }\n  .rppc-expense-row { grid-template-columns: 1fr 1fr; }\n  .rppc-expense-row .rppc-expense-name { grid-column: 1 \/ -1; padding-top: 0; }\n  .rppc-expense-head { display: none; }\n  .rppc-legend-row { grid-template-columns: 12px minmax(80px, auto) max-content; }\n  .rppc-legend-percent { grid-column: 2 \/ -1; padding-left: 0; }\n  .rppc-button { flex: 1 1 auto; }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"rppc-calculator\" data-calculator-root\u003e\n  \u003csection class=\"rppc-header\"\u003e\n    \u003ch2\u003eRental Property Calculator\u003c\/h2\u003e\n    \u003cp class=\"rppc-header-copy\"\u003eModel financing, rental operations, value growth, and an eventual sale in one live investment view.\u003c\/p\u003e\n    \u003cdiv class=\"rppc-pills\" aria-label=\"Live property summary\"\u003e\n      \u003cspan class=\"rppc-pill\"\u003eMonthly cash flow \u003cstrong data-rppc-pill=\"monthlyCashFlow\"\u003e$331.51\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"rppc-pill\"\u003eCap rate \u003cstrong data-rppc-pill=\"capRate\"\u003e7.49%\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"rppc-pill\"\u003eIRR \u003cstrong data-rppc-pill=\"irr\"\u003e17.87%\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"rppc-pill\"\u003eCash invested \u003cstrong data-rppc-pill=\"initialInvestment\"\u003e$37,000.00\u003c\/strong\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cdiv class=\"rppc-toolbar\" aria-label=\"Calculator actions\"\u003e\n    \u003cbutton class=\"rppc-button rppc-download\" type=\"button\" data-rppc-action=\"download\"\u003e\n      \u003csvg class=\"rppc-icon\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath fill=\"currentColor\" d=\"M11 3h2v10.17l3.59-3.58L18 11l-6 6-6-6 1.41-1.41L11 13.17V3Zm-6 16h14v2H5v-2Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003eDownload Excel\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cbutton class=\"rppc-button rppc-reset\" type=\"button\" data-rppc-action=\"reset\"\u003eReset\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rppc-workspace\"\u003e\n    \u003csection class=\"rppc-panel rppc-inputs\" aria-labelledby=\"rppc-inputs-title\"\u003e\n      \u003cdiv class=\"rppc-panel-head\"\u003e\u003ch3 id=\"rppc-inputs-title\"\u003eProperty assumptions\u003c\/h3\u003e\u003c\/div\u003e\n      \u003cdiv class=\"rppc-panel-body\"\u003e\n        \u003cdiv class=\"rppc-form-alert\" role=\"alert\" data-rppc-form-alert\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"rppc-subsection\"\u003e\n          \u003cp class=\"rppc-subsection-title\"\u003ePurchase and financing\u003c\/p\u003e\n          \u003cdiv class=\"rppc-grid\"\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n              \u003clabel for=\"rppc-purchase-price\"\u003ePurchase price\u003c\/label\u003e\n              \u003cinput id=\"rppc-purchase-price\" type=\"text\" inputmode=\"decimal\" value=\"$136,000.00\" data-rppc-field=\"purchasePrice\" data-rppc-kind=\"currency\"\u003e\n              \u003cspan class=\"rppc-help\" data-rppc-help-for=\"purchasePrice\"\u003eContract price before closing costs and repairs.\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n              \u003cspan class=\"rppc-field-label\"\u003eFinancing\u003c\/span\u003e\n              \u003cdiv class=\"rppc-check\"\u003e\n\u003cinput id=\"rppc-use-loan\" type=\"checkbox\" checked data-rppc-field=\"useLoan\"\u003e\u003clabel for=\"rppc-use-loan\"\u003eUse a mortgage loan\u003c\/label\u003e\n\u003c\/div\u003e\n              \u003cspan class=\"rppc-help\" data-rppc-help-for=\"useLoan\"\u003eTurn off for an all-cash purchase.\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n              \u003clabel for=\"rppc-down-payment\"\u003eDown payment\u003c\/label\u003e\n              \u003cdiv class=\"rppc-control-row\"\u003e\n                \u003cinput id=\"rppc-down-payment\" type=\"text\" inputmode=\"decimal\" value=\"25.00%\" data-rppc-field=\"downPayment\" data-rppc-kind=\"percent\"\u003e\n                \u003cselect id=\"rppc-down-unit\" class=\"rppc-unit\" data-rppc-field=\"downUnit\" aria-label=\"Down payment unit\"\u003e\u003coption value=\"percent\" selected\u003e%\u003c\/option\u003e\n\u003coption value=\"currency\"\u003e$\u003c\/option\u003e\u003c\/select\u003e\n              \u003c\/div\u003e\n              \u003cspan class=\"rppc-help\" data-rppc-help-for=\"downPayment\"\u003eCash paid toward the price at closing.\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n              \u003clabel for=\"rppc-interest-rate\"\u003eInterest rate\u003c\/label\u003e\n              \u003cinput id=\"rppc-interest-rate\" type=\"text\" inputmode=\"decimal\" value=\"4.50%\" data-rppc-field=\"interestRate\" data-rppc-kind=\"percent\"\u003e\n              \u003cspan class=\"rppc-help\" data-rppc-help-for=\"interestRate\"\u003eAnnual nominal mortgage rate.\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n              \u003clabel for=\"rppc-loan-term\"\u003eLoan term\u003c\/label\u003e\n              \u003cinput id=\"rppc-loan-term\" type=\"text\" inputmode=\"numeric\" value=\"30\" data-rppc-field=\"loanTerm\" data-rppc-kind=\"integer\"\u003e\n              \u003cspan class=\"rppc-help\" data-rppc-help-for=\"loanTerm\"\u003eAmortization period in years.\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n              \u003clabel for=\"rppc-closing-cost\"\u003eClosing cost\u003c\/label\u003e\n              \u003cinput id=\"rppc-closing-cost\" type=\"text\" inputmode=\"decimal\" value=\"$3,000.00\" data-rppc-field=\"closingCost\" data-rppc-kind=\"currency\"\u003e\n              \u003cspan class=\"rppc-help\" data-rppc-help-for=\"closingCost\"\u003eLender, legal, title, and transaction costs.\u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"rppc-subsection\"\u003e\n          \u003cp class=\"rppc-subsection-title\"\u003eRepairs\u003c\/p\u003e\n          \u003cdiv class=\"rppc-grid\"\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n              \u003cspan class=\"rppc-field-label\"\u003eRenovation\u003c\/span\u003e\n              \u003cdiv class=\"rppc-check\"\u003e\n\u003cinput id=\"rppc-need-repairs\" type=\"checkbox\" data-rppc-field=\"needRepairs\"\u003e\u003clabel for=\"rppc-need-repairs\"\u003eInclude initial repairs\u003c\/label\u003e\n\u003c\/div\u003e\n              \u003cspan class=\"rppc-help\" data-rppc-help-for=\"needRepairs\"\u003eAdds repair cash to the initial investment.\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n              \u003clabel for=\"rppc-repair-cost\"\u003eRepair cost\u003c\/label\u003e\n              \u003cinput id=\"rppc-repair-cost\" type=\"text\" inputmode=\"decimal\" value=\"$10,000.00\" disabled data-rppc-field=\"repairCost\" data-rppc-kind=\"currency\"\u003e\n              \u003cspan class=\"rppc-help\" data-rppc-help-for=\"repairCost\"\u003eOne-time cost before stabilized operations.\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n              \u003clabel for=\"rppc-after-repair-value\"\u003eValue after repairs\u003c\/label\u003e\n              \u003cinput id=\"rppc-after-repair-value\" type=\"text\" inputmode=\"decimal\" value=\"$150,000.00\" disabled data-rppc-field=\"afterRepairValue\" data-rppc-kind=\"currency\"\u003e\n              \u003cspan class=\"rppc-help\" data-rppc-help-for=\"afterRepairValue\"\u003eStarting value for appreciation when repairs apply.\u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"rppc-subsection\"\u003e\n          \u003cp class=\"rppc-subsection-title\"\u003eRecurring operating expenses\u003c\/p\u003e\n          \u003cdiv class=\"rppc-expense-grid\"\u003e\n            \u003cdiv class=\"rppc-expense-row rppc-expense-head\"\u003e\n\u003cspan\u003eExpense\u003c\/span\u003e\u003cspan\u003eAnnual amount\u003c\/span\u003e\u003cspan\u003eAnnual increase\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"rppc-expense-row\"\u003e\n              \u003clabel class=\"rppc-expense-name\" for=\"rppc-tax\"\u003eProperty tax\u003c\/label\u003e\n              \u003cdiv class=\"rppc-field\"\u003e\n\u003cinput id=\"rppc-tax\" type=\"text\" inputmode=\"decimal\" value=\"$1,500.00\" data-rppc-field=\"tax\" data-rppc-kind=\"currency\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"tax\"\u003eAnnual\u003c\/span\u003e\n\u003c\/div\u003e\n              \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel class=\"rppc-visually-hidden\" for=\"rppc-tax-growth\"\u003eProperty tax annual increase\u003c\/label\u003e\u003cinput id=\"rppc-tax-growth\" type=\"text\" inputmode=\"decimal\" value=\"3.00%\" data-rppc-field=\"taxGrowth\" data-rppc-kind=\"percent\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"taxGrowth\"\u003eGrowth\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"rppc-expense-row\"\u003e\n              \u003clabel class=\"rppc-expense-name\" for=\"rppc-insurance\"\u003eTotal insurance\u003c\/label\u003e\n              \u003cdiv class=\"rppc-field\"\u003e\n\u003cinput id=\"rppc-insurance\" type=\"text\" inputmode=\"decimal\" value=\"$800.00\" data-rppc-field=\"insurance\" data-rppc-kind=\"currency\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"insurance\"\u003eAnnual\u003c\/span\u003e\n\u003c\/div\u003e\n              \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel class=\"rppc-visually-hidden\" for=\"rppc-insurance-growth\"\u003eInsurance annual increase\u003c\/label\u003e\u003cinput id=\"rppc-insurance-growth\" type=\"text\" inputmode=\"decimal\" value=\"3.00%\" data-rppc-field=\"insuranceGrowth\" data-rppc-kind=\"percent\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"insuranceGrowth\"\u003eGrowth\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"rppc-expense-row\"\u003e\n              \u003clabel class=\"rppc-expense-name\" for=\"rppc-hoa\"\u003eHOA fee\u003c\/label\u003e\n              \u003cdiv class=\"rppc-field\"\u003e\n\u003cinput id=\"rppc-hoa\" type=\"text\" inputmode=\"decimal\" value=\"$0.00\" data-rppc-field=\"hoa\" data-rppc-kind=\"currency\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"hoa\"\u003eAnnual\u003c\/span\u003e\n\u003c\/div\u003e\n              \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel class=\"rppc-visually-hidden\" for=\"rppc-hoa-growth\"\u003eHOA annual increase\u003c\/label\u003e\u003cinput id=\"rppc-hoa-growth\" type=\"text\" inputmode=\"decimal\" value=\"3.00%\" data-rppc-field=\"hoaGrowth\" data-rppc-kind=\"percent\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"hoaGrowth\"\u003eGrowth\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"rppc-expense-row\"\u003e\n              \u003clabel class=\"rppc-expense-name\" for=\"rppc-maintenance\"\u003eMaintenance\u003c\/label\u003e\n              \u003cdiv class=\"rppc-field\"\u003e\n\u003cinput id=\"rppc-maintenance\" type=\"text\" inputmode=\"decimal\" value=\"$1,000.00\" data-rppc-field=\"maintenance\" data-rppc-kind=\"currency\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"maintenance\"\u003eAnnual\u003c\/span\u003e\n\u003c\/div\u003e\n              \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel class=\"rppc-visually-hidden\" for=\"rppc-maintenance-growth\"\u003eMaintenance annual increase\u003c\/label\u003e\u003cinput id=\"rppc-maintenance-growth\" type=\"text\" inputmode=\"decimal\" value=\"3.00%\" data-rppc-field=\"maintenanceGrowth\" data-rppc-kind=\"percent\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"maintenanceGrowth\"\u003eGrowth\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"rppc-expense-row\"\u003e\n              \u003clabel class=\"rppc-expense-name\" for=\"rppc-other-costs\"\u003eOther costs\u003c\/label\u003e\n              \u003cdiv class=\"rppc-field\"\u003e\n\u003cinput id=\"rppc-other-costs\" type=\"text\" inputmode=\"decimal\" value=\"$200.00\" data-rppc-field=\"otherCosts\" data-rppc-kind=\"currency\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"otherCosts\"\u003eAnnual\u003c\/span\u003e\n\u003c\/div\u003e\n              \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel class=\"rppc-visually-hidden\" for=\"rppc-other-costs-growth\"\u003eOther costs annual increase\u003c\/label\u003e\u003cinput id=\"rppc-other-costs-growth\" type=\"text\" inputmode=\"decimal\" value=\"3.00%\" data-rppc-field=\"otherCostsGrowth\" data-rppc-kind=\"percent\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"otherCostsGrowth\"\u003eGrowth\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"rppc-subsection\"\u003e\n          \u003cp class=\"rppc-subsection-title\"\u003eIncome and occupancy\u003c\/p\u003e\n          \u003cdiv class=\"rppc-grid\"\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel for=\"rppc-rent\"\u003eMonthly rent\u003c\/label\u003e\u003cinput id=\"rppc-rent\" type=\"text\" inputmode=\"decimal\" value=\"$1,200.00\" data-rppc-field=\"rent\" data-rppc-kind=\"currency\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"rent\"\u003eScheduled monthly rent in year one.\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel for=\"rppc-rent-growth\"\u003eRent annual increase\u003c\/label\u003e\u003cinput id=\"rppc-rent-growth\" type=\"text\" inputmode=\"decimal\" value=\"3.00%\" data-rppc-field=\"rentGrowth\" data-rppc-kind=\"percent\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"rentGrowth\"\u003eApplied at the start of each later year.\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel for=\"rppc-other-income\"\u003eOther monthly income\u003c\/label\u003e\u003cinput id=\"rppc-other-income\" type=\"text\" inputmode=\"decimal\" value=\"$0.00\" data-rppc-field=\"otherIncome\" data-rppc-kind=\"currency\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"otherIncome\"\u003eParking, laundry, storage, or similar income.\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel for=\"rppc-other-income-growth\"\u003eOther income annual increase\u003c\/label\u003e\u003cinput id=\"rppc-other-income-growth\" type=\"text\" inputmode=\"decimal\" value=\"3.00%\" data-rppc-field=\"otherIncomeGrowth\" data-rppc-kind=\"percent\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"otherIncomeGrowth\"\u003eSeparate growth rate for ancillary income.\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel for=\"rppc-vacancy\"\u003eVacancy rate\u003c\/label\u003e\u003cinput id=\"rppc-vacancy\" type=\"text\" inputmode=\"decimal\" value=\"5.00%\" data-rppc-field=\"vacancy\" data-rppc-kind=\"percent\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"vacancy\"\u003eShare of scheduled rent not collected.\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel for=\"rppc-management\"\u003eManagement fee\u003c\/label\u003e\u003cinput id=\"rppc-management\" type=\"text\" inputmode=\"decimal\" value=\"0.00%\" data-rppc-field=\"management\" data-rppc-kind=\"percent\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"management\"\u003ePercentage of effective rental income.\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"rppc-subsection\"\u003e\n          \u003cp class=\"rppc-subsection-title\"\u003eSale assumptions\u003c\/p\u003e\n          \u003cdiv class=\"rppc-grid\"\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n\u003cspan class=\"rppc-field-label\"\u003eExit value\u003c\/span\u003e\u003cdiv class=\"rppc-check\"\u003e\n\u003cinput id=\"rppc-known-sale\" type=\"checkbox\" data-rppc-field=\"knownSale\"\u003e\u003clabel for=\"rppc-known-sale\"\u003eUse a known sale price\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cspan class=\"rppc-help\" data-rppc-help-for=\"knownSale\"\u003eOtherwise value grows by appreciation.\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel for=\"rppc-appreciation\"\u003eValue appreciation\u003c\/label\u003e\u003cinput id=\"rppc-appreciation\" type=\"text\" inputmode=\"decimal\" value=\"3.00%\" data-rppc-field=\"appreciation\" data-rppc-kind=\"percent\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"appreciation\"\u003eAnnual property value change.\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel for=\"rppc-sale-price\"\u003eKnown sale price\u003c\/label\u003e\u003cinput id=\"rppc-sale-price\" type=\"text\" inputmode=\"decimal\" value=\"$200,000.00\" disabled data-rppc-field=\"salePrice\" data-rppc-kind=\"currency\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"salePrice\"\u003eGross price at the end of the holding period.\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel for=\"rppc-holding\"\u003eHolding length\u003c\/label\u003e\u003cinput id=\"rppc-holding\" type=\"text\" inputmode=\"numeric\" value=\"20\" data-rppc-field=\"holding\" data-rppc-kind=\"integer\"\u003e\u003cspan class=\"rppc-help\" data-rppc-help-for=\"holding\"\u003eYears before the modeled sale.\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"rppc-field\"\u003e\n\u003clabel for=\"rppc-sell-cost\"\u003eCost to sell\u003c\/label\u003e\u003cdiv class=\"rppc-control-row\"\u003e\n\u003cinput id=\"rppc-sell-cost\" type=\"text\" inputmode=\"decimal\" value=\"8.00%\" data-rppc-field=\"sellCost\" data-rppc-kind=\"percent\"\u003e\u003cselect id=\"rppc-sell-unit\" class=\"rppc-unit\" data-rppc-field=\"sellUnit\" aria-label=\"Selling cost unit\"\u003e\u003coption value=\"percent\" selected\u003e%\u003c\/option\u003e\n\u003coption value=\"currency\"\u003e$\u003c\/option\u003e\u003c\/select\u003e\n\u003c\/div\u003e\n\u003cspan class=\"rppc-help\" data-rppc-help-for=\"sellCost\"\u003eBrokerage, transfer, legal, and closing costs.\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"rppc-panel rppc-results\" aria-labelledby=\"rppc-results-title\"\u003e\n      \u003cdiv class=\"rppc-panel-head\"\u003e\u003ch3 id=\"rppc-results-title\"\u003eLive investment results\u003c\/h3\u003e\u003c\/div\u003e\n      \u003cdiv class=\"rppc-results-primary\" aria-live=\"polite\" data-rppc-live\u003e\n        \u003cdiv class=\"rppc-eyebrow\"\u003eAnnualized return over 20 years\u003c\/div\u003e\n        \u003cdiv class=\"rppc-primary-value\" data-rppc-result=\"irr\"\u003e17.87%\u003c\/div\u003e\n        \u003cp class=\"rppc-primary-note\" data-rppc-result=\"interpretation\"\u003eIncludes annual operating cash flow and net sale proceeds.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"rppc-result-grid\"\u003e\n        \u003cdiv class=\"rppc-result-card\"\u003e\n\u003cdiv class=\"rppc-result-label\"\u003eTotal profit at sale\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-value\" data-rppc-result=\"totalProfit\"\u003e$288,616.97\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-sub\"\u003eAfter initial cash invested\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"rppc-result-card\"\u003e\n\u003cdiv class=\"rppc-result-label\"\u003eYear-one monthly cash flow\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-value\" data-rppc-result=\"monthlyCashFlow\"\u003e$331.51\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-sub\"\u003eAfter mortgage and operating costs\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"rppc-result-card\"\u003e\n\u003cdiv class=\"rppc-result-label\"\u003eCash-on-cash return\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-value\" data-rppc-result=\"cashOnCash\"\u003e780.05%\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-sub\"\u003eCumulative profit ÷ initial cash\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"rppc-result-card\"\u003e\n\u003cdiv class=\"rppc-result-label\"\u003eCapitalization rate\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-value\" data-rppc-result=\"capRate\"\u003e7.49%\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-sub\"\u003eYear-one NOI ÷ property value\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"rppc-result-card\"\u003e\n\u003cdiv class=\"rppc-result-label\"\u003eInitial cash invested\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-value\" data-rppc-result=\"initialInvestment\"\u003e$37,000.00\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-sub\"\u003eDown payment, closing, and repairs\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"rppc-result-card\"\u003e\n\u003cdiv class=\"rppc-result-label\"\u003eYear-one NOI\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-value\" data-rppc-result=\"firstYearNoi\"\u003e$10,180.00\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-sub\"\u003eIncome less operating expenses\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"rppc-result-card\"\u003e\n\u003cdiv class=\"rppc-result-label\"\u003eTotal rental income\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-value\" data-rppc-result=\"totalRentalIncome\"\u003e$367,586.72\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-sub\"\u003eAfter vacancy over the hold\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"rppc-result-card\"\u003e\n\u003cdiv class=\"rppc-result-label\"\u003eNet sale proceeds\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-value\" data-rppc-result=\"netSaleProceeds\"\u003e$176,113.12\u003c\/div\u003e\n\u003cdiv class=\"rppc-result-sub\"\u003eAfter selling costs and loan payoff\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"rppc-section rppc-breakdown\" data-rppc-chart-card=\"breakdown\" aria-labelledby=\"rppc-breakdown-title\"\u003e\n    \u003cdiv class=\"rppc-section-head\"\u003e\n\u003ch3 id=\"rppc-breakdown-title\"\u003eFirst-year expense breakdown\u003c\/h3\u003e\n\u003cp class=\"rppc-chart-intro\" data-rppc-breakdown-intro\u003eMortgage and operating costs compared on one annual basis.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rppc-section-body\"\u003e\n      \u003cdiv class=\"rppc-chart-cluster\" data-rppc-chart-cluster\u003e\n        \u003cdiv class=\"rppc-visual-box\" data-rppc-plot\u003e\n          \u003csvg class=\"rppc-donut-svg\" viewbox=\"0 0 320 320\" role=\"img\" aria-labelledby=\"rppc-donut-title rppc-donut-desc\" data-rppc-donut\u003e\n            \u003ctitle id=\"rppc-donut-title\"\u003eFirst-year expense breakdown\u003c\/title\u003e\n            \u003cdesc id=\"rppc-donut-desc\" data-rppc-donut-desc\u003eExpense categories and values update with the calculator.\u003c\/desc\u003e\n            \u003cg data-rppc-donut-segments\u003e\u003c\/g\u003e\n            \u003ctext class=\"rppc-donut-caption\" x=\"160\" y=\"145\"\u003eAnnual costs\u003c\/text\u003e\n            \u003ctext class=\"rppc-donut-center\" x=\"160\" y=\"170\" data-rppc-donut-total\u003e$10,421.83\u003c\/text\u003e\n          \u003c\/svg\u003e\n          \u003cdiv class=\"rppc-empty-state\" data-rppc-empty=\"breakdown\"\u003eEnter property and expense values to see the breakdown.\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"rppc-legend\" data-rppc-legend=\"breakdown\" aria-label=\"Expense breakdown legend\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"rppc-chart-callout\" data-rppc-caption=\"breakdown\"\u003eThe largest first-year expense is the mortgage payment.\u003c\/div\u003e\n      \u003cdiv class=\"rppc-visually-hidden\" data-rppc-chart-summary=\"breakdown\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"rppc-section rppc-chart\" data-rppc-chart-card=\"timeline\" aria-labelledby=\"rppc-chart-title\"\u003e\n    \u003cdiv class=\"rppc-section-head\"\u003e\n\u003ch3 id=\"rppc-chart-title\"\u003eOperating performance over time\u003c\/h3\u003e\n\u003cp class=\"rppc-chart-intro\"\u003eNet rental income, operating expenses, and operating cash flow use the same annual schedule shown below.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rppc-section-body\"\u003e\n      \u003cdiv class=\"rppc-line-wrap\" data-rppc-plot\u003e\n        \u003csvg class=\"rppc-line-svg\" viewbox=\"0 0 920 360\" role=\"img\" aria-labelledby=\"rppc-line-title rppc-line-desc\" data-rppc-line-chart\u003e\n          \u003ctitle id=\"rppc-line-title\"\u003eAnnual rental property operating performance\u003c\/title\u003e\n          \u003cdesc id=\"rppc-line-desc\" data-rppc-line-desc\u003eAnnual income, expenses, and cash flow lines update with the calculator.\u003c\/desc\u003e\n          \u003cg data-rppc-line-grid\u003e\u003c\/g\u003e\n          \u003cg data-rppc-line-series\u003e\u003c\/g\u003e\n          \u003cg data-rppc-line-labels\u003e\u003c\/g\u003e\n        \u003c\/svg\u003e\n        \u003cdiv class=\"rppc-empty-state\" data-rppc-empty=\"timeline\"\u003eEnter income and holding-period values to see the timeline.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"rppc-line-legend\" data-rppc-legend=\"timeline\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"rppc-chart-callout\" data-rppc-caption=\"timeline\"\u003eGrowing rent improves operating cash flow when income increases faster than expenses.\u003c\/div\u003e\n      \u003cdiv class=\"rppc-visually-hidden\" data-rppc-chart-summary=\"timeline\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"rppc-section rppc-table\" data-rppc-table-card aria-labelledby=\"rppc-table-title\"\u003e\n    \u003cdiv class=\"rppc-section-head\"\u003e\n\u003ch3 id=\"rppc-table-title\"\u003eAnnual investment schedule\u003c\/h3\u003e\n\u003cp class=\"rppc-chart-intro\"\u003eEach row combines rental operations, mortgage balance, equity, and the estimated result of selling at that year-end.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rppc-section-body\"\u003e\n      \u003cdiv class=\"rppc-table-toolbar\" aria-label=\"Schedule\ndisplay\"\u003e\n        \u003cbutton class=\"rppc-table-toggle\" type=\"button\" aria-pressed=\"true\" data-rppc-table-mode=\"all\"\u003eAll years\u003c\/button\u003e\n        \u003cbutton class=\"rppc-table-toggle\" type=\"button\" aria-pressed=\"false\" data-rppc-table-mode=\"milestones\"\u003eMilestones\u003c\/button\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"rppc-table-overflow\" data-rppc-table-overflow\u003e\n        \u003ctable\u003e\n          \u003cthead\u003e\u003ctr\u003e\n\u003cth scope=\"col\"\u003eYear\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eNet rental income\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eMortgage\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eOperating expenses\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eCash flow incl. exit\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eCash-on-cash\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eEquity\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eNet sale proceeds\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eIRR if sold\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n          \u003ctbody data-rppc-schedule-body\u003e\u003c\/tbody\u003e\n          \u003ctfoot data-rppc-schedule-foot\u003e\u003c\/tfoot\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"rppc-table-note\" data-rppc-table-note\u003eMortgage payments are excluded from NOI. The final modeled year adds net sale proceeds to operating cash flow.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cdetails class=\"rppc-advanced\"\u003e\n    \u003csummary\u003eModel assumptions and calculation notes\u003c\/summary\u003e\n    \u003cdiv class=\"rppc-advanced-body\"\u003e\n      \u003cp\u003eThe model uses monthly mortgage amortization, annual income and expense escalation, end-of-year cash flows, and a sale after the selected holding period. Management fees are applied to effective rental income after vacancy. Taxes and personal income-tax effects are not modeled.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/details\u003e\n\n  \u003csection class=\"rppc-section rppc-education\" aria-labelledby=\"rppc-education-title\"\u003e\n    \u003cdiv class=\"rppc-section-head\"\u003e\u003ch2 id=\"rppc-education-title\"\u003eHow to analyze a rental property\u003c\/h2\u003e\u003c\/div\u003e\n    \u003cdiv class=\"rppc-section-body\"\u003e\n      \u003ch3\u003eWhat this calculator estimates\u003c\/h3\u003e\n      \u003cp\u003eThis calculator creates a before-tax rental property projection from acquisition through sale. It estimates the cash needed at closing, mortgage payment, first-year net operating income, monthly cash flow, capitalization rate, cumulative cash-on-cash return, equity, net sale proceeds, total profit, and annualized internal rate of return. The annual schedule makes the timing visible: rent and expenses change each year, the loan balance amortizes monthly, and the final year includes the modeled sale.\u003c\/p\u003e\n      \u003cp\u003eThe output is a planning model, not a valuation, loan approval, tax return, or investment recommendation. Actual rent, vacancy, repairs, insurance, taxes, financing terms, and sale costs can differ materially. Review local leases and fair-housing obligations, and use qualified legal, tax, lending, and property professionals for decisions.\u003c\/p\u003e\n\n      \u003ch3\u003ePurchase, loan, and repair inputs\u003c\/h3\u003e\n      \u003cp\u003e\u003cstrong\u003ePurchase price\u003c\/strong\u003e is the agreed property price before closing costs. A higher price increases the required equity and usually lowers the cap rate when income is unchanged. \u003cstrong\u003eUse a mortgage loan\u003c\/strong\u003e switches between a financed and all-cash acquisition. For financing, enter the \u003cstrong\u003edown payment\u003c\/strong\u003e as a percentage or dollar amount, the annual \u003cstrong\u003einterest rate\u003c\/strong\u003e, and the \u003cstrong\u003eloan term\u003c\/strong\u003e in years. The unit selector converts the current down payment rather than changing only its label. Higher leverage reduces initial cash but raises debt service and financial risk. Longer terms usually reduce payments while slowing principal reduction. The \u003ca href=\"https:\/\/www.consumerfinance.gov\/owning-a-home\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eConsumer Financial Protection Bureau home-loan resources\u003c\/a\u003e explain common mortgage concepts and closing documents.\u003c\/p\u003e\n      \u003cp\u003e\u003cstrong\u003eClosing cost\u003c\/strong\u003e covers transaction expenses paid at acquisition and is added to initial cash invested. Include lender, appraisal, title, legal, inspection, transfer, and recording costs when applicable. Enable \u003cstrong\u003einitial repairs\u003c\/strong\u003e when the property requires work before stabilized rental operation. \u003cstrong\u003eRepair cost\u003c\/strong\u003e is treated as an upfront cash outlay. \u003cstrong\u003eValue after repairs\u003c\/strong\u003e becomes the starting property value for appreciation and cap-rate analysis when repairs are enabled. Do not confuse a contractor budget with a supported after-repair market value.\u003c\/p\u003e\n\n      \u003ch3\u003eOperating expense inputs\u003c\/h3\u003e\n      \u003cp\u003eEnter \u003cstrong\u003eproperty tax, total insurance, HOA fees, maintenance, and other costs\u003c\/strong\u003e as annual year-one amounts. Each line has its own annual increase. A zero value is valid when a cost does not apply, but omitting a real expense overstates NOI and cash flow. Maintenance should include recurring upkeep and a reasonable reserve for irregular repairs; major capital projects may need a separate scenario. “Other costs” can include utilities paid by the owner, licensing, accounting, landscaping, pest control, or local fees.\u003c\/p\u003e\n      \u003cp\u003eExpense growth is compounded annually. A higher growth rate does not change year one, but it reduces later cash flow and total return. Property taxes and insurance can rise at different rates, so separate assumptions are more informative than one blended percentage. For U.S. residential rentals, \u003ca href=\"https:\/\/www.irs.gov\/publications\/p527\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eIRS Publication 527\u003c\/a\u003e describes rental income and expense categories for federal tax reporting; this calculator does not calculate depreciation or tax liability.\u003c\/p\u003e\n\n      \u003ch3\u003eIncome, vacancy, and management inputs\u003c\/h3\u003e\n      \u003cp\u003e\u003cstrong\u003eMonthly rent\u003c\/strong\u003e is scheduled year-one rent before vacancy. \u003cstrong\u003eRent annual increase\u003c\/strong\u003e compounds from year two onward. Use a market-supported assumption rather than assuming rent always rises. \u003cstrong\u003eOther monthly income\u003c\/strong\u003e can include parking, laundry, storage, pet, or service income, with a separate growth rate. \u003cstrong\u003eVacancy rate\u003c\/strong\u003e reduces scheduled rent to effective rental income. It should reflect both physical vacancy and collection loss where appropriate. A higher vacancy rate lowers income, NOI, cap rate, cash flow, sale-year profit, and IRR.\u003c\/p\u003e\n      \u003cp\u003e\u003cstrong\u003eManagement fee\u003c\/strong\u003e is modeled as a percentage of effective rental income after vacancy. Enter zero for self-management only when you deliberately value your own time separately. Management agreements may also include leasing, renewal, inspection, maintenance coordination, or minimum fees, so a simple percentage can understate the actual contract. Landlords should also understand the \u003ca href=\"https:\/\/www.hud.gov\/fairhousing\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eU.S. Department of Housing and Urban Development fair-housing guidance\u003c\/a\u003e or the applicable rules in their jurisdiction.\u003c\/p\u003e\n\n      \u003ch3\u003eSale and holding-period inputs\u003c\/h3\u003e\n      \u003cp\u003eUse \u003cstrong\u003evalue appreciation\u003c\/strong\u003e when you want the property value to grow or decline by a constant annual rate. Enable \u003cstrong\u003eknown sale price\u003c\/strong\u003e when you have a specific terminal value; the annual schedule then uses the implied compound growth path between the starting value and that final price. \u003cstrong\u003eHolding length\u003c\/strong\u003e determines how many annual operating periods are modeled. A longer hold adds more rental cash flows and loan amortization, but also compounds uncertain assumptions.\u003c\/p\u003e\n      \u003cp\u003e\u003cstrong\u003eCost to sell\u003c\/strong\u003e can be entered as a percentage of the sale price or as a fixed dollar amount. It reduces sale proceeds before the remaining loan balance is repaid. Include brokerage, legal, transfer, staging, concessions, and closing items that are likely in the target market. A higher sale cost lowers net sale proceeds, total profit, and IRR.\u003c\/p\u003e\n\n      \u003ch3\u003eHow to interpret the results\u003c\/h3\u003e\n      \u003cp\u003e\u003cstrong\u003eIRR\u003c\/strong\u003e is the annual discount rate that sets the present value of modeled cash flows to zero. It incorporates initial cash, annual operating cash flow, and sale proceeds, so it is more complete than a one-year yield. A negative or unavailable IRR indicates that the modeled cash-flow pattern does not support a positive annualized return. \u003cstrong\u003eTotal profit at sale\u003c\/strong\u003e is all operating cash flow plus net sale proceeds minus initial cash invested. It is a dollar total, not an annual rate.\u003c\/p\u003e\n      \u003cp\u003e\u003cstrong\u003eYear-one monthly cash flow\u003c\/strong\u003e is NOI minus mortgage payments, divided by 12. Negative cash flow means the owner must contribute cash during year one. \u003cstrong\u003eCash-on-cash return\u003c\/strong\u003e here is cumulative profit divided by initial cash invested, matching the full holding period; the schedule also shows each year’s operating cash flow divided by initial cash. \u003cstrong\u003eCapitalization rate\u003c\/strong\u003e equals first-year NOI divided by the stabilized property value and excludes financing. This makes cap rate useful for comparing operating performance across different loan structures.\u003c\/p\u003e\n      \u003cp\u003e\u003cstrong\u003eNOI\u003c\/strong\u003e is effective rental income minus operating expenses, excluding mortgage payments, income taxes, depreciation, and sale proceeds. \u003cstrong\u003eTotal rental income\u003c\/strong\u003e is cumulative effective income after vacancy. \u003cstrong\u003eNet sale proceeds\u003c\/strong\u003e are the gross sale value less selling costs and loan payoff. The annual table shows the same model values used by the charts and Excel workbook.\u003c\/p\u003e\n\n      \u003ch3\u003eReading the charts and stress-testing assumptions\u003c\/h3\u003e\n      \u003cp\u003eThe expense donut compares year-one mortgage, vacancy, taxes and insurance, maintenance and HOA, and management and other costs. The time-series chart compares net rental income, operating expenses, and operating cash flow. When income grows faster than expenses while mortgage payments stay level, cash flow generally improves. The schedule adds equity, net sale proceeds, and the IRR that would result from selling at each year-end.\u003c\/p\u003e\n      \u003cp\u003eTest a base case, downside case, and upside case. In the downside case, reduce rent growth and appreciation, increase vacancy, maintenance, insurance, and selling costs, and consider a shorter unexpected hold. Check whether cash flow remains manageable without relying on appreciation. Compare projected rent with independent market evidence such as the \u003ca href=\"https:\/\/www.huduser.gov\/portal\/datasets\/fmr.html\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eHUD Fair Market Rent datasets\u003c\/a\u003e where relevant, while recognizing that broad datasets do not replace property-level research. Common mistakes include omitting turnover costs, understating repairs, applying growth to the wrong period, ignoring sale costs, and treating a forecast as guaranteed.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909484028147,"sku":"rental-property-calculator","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/rental-property-calculator.webp?v=1783935432","url":"https:\/\/financialmodelslab.com\/products\/rental-property-calculator","provider":"Financial Models Lab","version":"1.0","type":"link"}