The core formulas
Cap rate
Where NOI (Net Operating Income) = effective gross rental income minus operating expenses, BEFORE mortgage P&I and income tax. Effective gross = gross rent × (1 − vacancy %). Operating expenses include property tax, insurance, maintenance, management, HOA, and owner-paid utilities. The vacancy allowance is shown above NOI as a reduction to scheduled income. The CapEx reserve is shown below NOI.
Other income: Standard v1.3 does not have a separate laundry, parking, pet, or utility-income line. Do not bury those amounts inside rent without documenting the choice in your own records.
How we handle CapEx: the default 5% reserve does not reduce lender-style NOI, cap rate, or DSCR. It does reduce before-tax cash flow and cash-on-cash return because roofs, HVAC, water heaters, and flooring still consume real investor cash.
Cash-on-cash return
Cash flow = NOI − CapEx reserve − annual mortgage P&I − estimated PMI/MIP. Total cash invested = down payment + closing costs + entered rehab + entered short-term-rental furnishing or startup costs (the actual dollars out of your pocket, not the loan amount).
DSCR (Debt Service Coverage Ratio)
Annual debt service is the principal + interest mortgage payment × 12. We do NOT include taxes + insurance in debt service (those are already in opex via NOI). For cash purchases the DSCR readout shows “N/A — no debt service” instead of dividing by zero.
Mortgage payment
Standard fully-amortizing fixed-rate formula:
Where L = loan amount, r = monthly interest rate (annual rate ÷ 12), n = total payments (loan term × 12). Lender-specific rounding and non-standard payment structures can differ. If you want a standalone version, see the mortgage payment calculator.
Decision thresholds and Offer Ceiling
Deal score (Balanced)
Current Deal score method: v1.4. The score is versioned independently from the TrueCap Underwriting Standard v1.3financial formulas; changing the score method does not change the cash-flow result.
For investment properties, the default Balanced score combines five tiered components: monthly cash flow (up to 22 points), cash-on-cash return (20), cap rate (16), DSCR (17), and projected 10-year annualized total return (25). Owner-occupant deals replace the cash-flow component with a 0/25/30-point house-hack scale, so their component sum can exceed 100 before the final clamp. A risk modifier for vacancy, negative cash flow, property age, reserve assumptions, and property-tax burden can subtract at most 30 points. If Year Built is missing, a conservative age-uncertainty modifier applies instead of treating the property as new construction. If modeled initial cash is zero, cash-on-cash is not applicable and its stored compatibility sentinel is not scored. The remaining applicable components are renormalized to the 100-point scale. The result is rounded to a whole number and clamped from 0 to 100.
The projected-return component uses pre-tax operating cash flow, appreciation, and loan paydown through a modeled year-10 sale, net of selling costs. It excludes both the separate illustrative annual personal-tax effect and modeled exit taxes. Negative operating years count as additional contributed capital; when they occur, the annual figure uses a unique money-weighted IRR because a single-contribution CAGR is not applicable.
Recommendation bands are 75+ Strong screening result, 55–74 Positive screening result, 35–54 Mixed screening result, 18–34 Weak screening result, and below 18 very weak screening result. Cash purchases get full DSCR-component credit because there is no debt service. Owner-occupant deals use a separate near-break-even cash-flow rule. A Balanced or Appreciation score may be held at 40 when a non-owner-occupant deal has more than 8% modeled annualized 10-year return and non-negative before-tax cash flow; that floor is never used by the Cash Flow lens. The score is a heuristic summary of the modeled numbers; it is not your Buy Box fit.
Saved financial outputs retain their top-level Underwriting Standard version, while new saved results also record the Deal score method version. Historical scores without that submodel field remain frozen and are labeled as recorded rather than silently recalculated.
The Offer Ceiling is the highest price that still meets your targets. TrueCap runs the complete underwriting engine repeatedly and finds the highest tested purchase price that still clears every target you selected. The displayed Offer Ceiling is rounded down to a $500 step and rechecked at that exact displayed value, so rounding cannot move the answer onto the failing side of the threshold.
Required rent is rounded up to the next whole dollar; a maximum affordable interest rate is rounded down to 0.01 percentage point. Closing-cost-reduction language appears only when the modeled cash constraint supports it and still requires lender/program confirmation. Each solver changes one input at a time and holds the rest fixed.
Archived BRRRR and fix-and-flip models (reference only)
The integrated lifecycle models described below are archived methodology references. They are not currently exposed in the analyzer, reports, public tools, or subscription offer and should not be treated as shipped product capabilities.
The BRRRR view models acquisition cash, rehab and carrying costs, then a refinance loan equal to entered ARV × entered refinance LTV. Net refinance cash subtracts the modeled original-loan payoff and refinance closing costs; a shortfall increases cash left in the deal instead of disappearing. ARV, timing, lender terms, and post-refinance rent remain user assumptions.
The fix-and-flip view calculates modeled profit as ARV minus the purchase price, acquisition closing costs, rehab, carrying costs, and selling costs. It excludes income tax and assumes financing interest is included in the entered monthly carrying cost. Its annualized ROI is a simple hold-period annualization, not IRR.
Where the benchmark data comes from
Rent benchmark — HUD Fair Market Rent
HUD (the U.S. Department of Housing and Urban Development) publishes annual Fair Market Rents for metropolitan FMR areas and nonmetropolitan counties, plus ZIP-level Small Area FMRs where available. HUD uses FMRs as operating parameters in housing assistance programs. TrueCap queries the HUD API using resolved geography and bedroom count and presents the returned value as an editable area benchmark. It is not a property rent comp, lease, or forecast. Verify achievable rent with current comparable evidence.
The lookup follows HUD's latest API response; the UI records the returned year and whether the value came from an FMR area or a ZIP-level SAFMR. The FY 2026 source page notes revised FMRs effective May 21, 2026. Provider availability and geographic matching can fail, in which case TrueCap leaves rent for the user to enter.
Mortgage benchmark — FRED 30-year fixed
The Federal Reserve Bank of St. Louis (FRED) publishes the weekly 30-year fixed mortgage rate series (MORTGAGE30US, sourced from Freddie Mac's Primary Mortgage Market Survey). We pull the latest week's reading and use it as the editable interest-rate benchmark. This series represents owner-occupied conforming mortgages; it is not an investor loan quote and does not know your points, credit profile, property, lender fees, or debt-service-coverage product. Replace it with a current lender quote before treating a deal as offer ready.
Property tax — manual local input
TrueCap does not auto-fill property tax from the former Tax Foundation 2023 state table. That secondary, state-level aggregate was too stale and coarse to stand in for a parcel bill. Enter an annual local bill or a reviewed local rate. If both are blank, the formula uses a TrueCap default of 1.1% of purchase price and labels it for you to replace with your local number. The default is a TrueCap convention, not a sourced estimate for the property. Replace it before relying on NOI, cap rate, cash flow, DSCR, or Offer Ceiling.
Primary source register
These are the direct official pages used for the source claims above and the archived tax/insurance conventions below. Source review date: August 27, 2026.
- HUD Fair Market Rent: HUD USER Fair Market Rents and FY 2026 documentation (FY 2026 page; revised FMRs effective May 21, 2026), plus the HUD FMR API documentation. Accessed August 27, 2026.
- Mortgage-rate benchmark: Federal Reserve Bank of St. Louis FRED series MORTGAGE30US, a weekly national series sourced from Freddie Mac's Primary Mortgage Market Survey. Accessed August 27, 2026; TrueCap records the observation date returned by the feed.
- Conventional PMI termination: Consumer Financial Protection Bureau PMI guidance, last modified June 30, 2025 and accessed August 27, 2026. The CFPB describes general scheduled 78% automatic termination for covered borrower-paid PMI when payments are current; lender, investor, occupancy, and mortgage-insurance rules can differ.
- Residential-rental depreciation: IRS Publication 527 (2025), Residential Rental Property, for use in preparing 2025 returns and accessed August 27, 2026. It describes the 27.5-year GDS recovery period and applicable convention; it does not supply TrueCap's 85% building-allocation scenario.
10-year projection
We project rent, expenses, and mortgage payments year by year. Defaults:
- Rent growth: 2.5% annual planning assumption, not a forecast
- Expense growth: 2.5% annual planning assumption, editable independently
- Mortgage: fully amortized — principal and interest portions recomputed each year
- PMI / MIP: method v10 checks the full-precision scheduled opening balance monthly. Owner-occupant conventional PMI uses scheduled 78% termination as a screening convention for the eligible covered path, subject to being current. Mortgage insurance entered for a rental loan is conservatively carried through payoff because owner-home cancellation rules do not establish the investment-loan policy. Confirm the actual premium and cancellation terms with the lender or servicer.
- Appreciation: 3% annual scenario assumption, not an appraisal or forecast
Growth and appreciation scenarios are editable on the Pro plan; financing and mortgage-insurance behavior follow the entered terms and the conventions stated above. The 10-year output shows cumulative cash flow, cumulative principal paydown, and ending equity year by year.
Archived illustrative tax model (reference only)
TrueCap does not currently expose this tax-specific module. The archived formulas below remain documented for model review; they are not a current product output or a taxpayer-specific analysis.
Depreciation
Residential rentals depreciate over 27.5 years straight-line (IRS Publication 527's general GDS recovery period, with tax-year and convention details that the archived simplification does not fully reproduce). TrueCap's archived scenario defaults the building portion to 85% of purchase price (land = 15%, non-depreciable); that allocation is a product assumption, not an IRS benchmark. Annual scenario depreciation = (purchase price × 0.85) ÷ 27.5. This is a paper deduction — it doesn't affect before-tax cash flow. Its actual availability and value depend on basis allocation, placed-in-service timing, passive-loss rules, participation, income, entity structure, and your tax professional's advice.
Mortgage interest deduction
We compute the interest portion of each year's mortgage payments from the amortization schedule and add it to total deductions.
Estimated tax effect
Taxable rental income = rental income − deductible operating expenses − eligible mortgage interest − straight-line depreciation. We multiply the signed taxable amount by the entered marginal rate (24% default): a loss produces an illustrative benefit and positive taxable income produces an illustrative liability. TrueCap does not assume every paper loss can offset other income. This is planning math, not tax advice.
Archived sale-and-exit model (reference only)
TrueCap does not currently expose modeled exit comparisons. The archived method modeled a sale in years 1 through 10. Each year: projected sale price = current value × (1 + appreciation rate)years. Net sale proceeds = sale price − selling costs (default 6%) − remaining loan balance. Total profit = net proceeds + cumulative cash flow + cumulative illustrative tax effect − initial cash invested − estimated exit tax. The optimizer compares hold years under the assumptions you entered; it does not predict the best future sale date. A 1031 exchange, primary-residence exclusion, local taxes, improvements, and your actual bracket can materially change the result.
Methodology version history
- v1.3 · 2026-08-31: Deal score v1.4 adds one 1-point near-miss band to each core component just below its former floor (cash flow -$200 to -$500/mo, cash-on-cash -2% to 1%, cap rate 3% to 4%, DSCR 0.90 to 0.99) so a shortlist can still order deals that miss every band, and bounds the risk penalty so it cannot erase that ordering credit; a capped penalty is flagged on the score receipt. All other bands, thresholds, and penalties are unchanged, and recorded scores remain immutable.
- v1.3 · 2026-08-27: Long-term projection method v10 separates scheduled rent, recurring other income, fixed-dollar operating costs, and rent-linked percentage costs. Percentage-of-rent costs now move with projected rent while fixed-dollar costs alone use expense growth; the reviewed financed baseline changes from $68,718.45682362831 to $68,738.45682362831 at Year 10. Method v10 also carries explicit interest-only, amortization, maturity, balloon, and simplified renovation-downtime terms through the canonical schedule. Recorded result snapshots remain immutable; regenerated projections use v10.
- v1.3 · 2026-08-27: Standard v1.3 and Deal score v1.3 make the projected-return input explicitly pre-tax: annual personal-tax effects and default exit taxes are excluded, modeled selling costs remain included, and later negative operating cash flow counts as additional contributed capital. Recorded v1.0–v1.2 results remain immutable and require explicit re-underwriting before a new share or PDF can use v1.3 math.
- v1.2 · 2026-08-27: Long-term projection method v8 stops applying the owner-occupied scheduled-78% PMI rule to investment-property loans. User-entered rental-loan mortgage insurance now remains through payoff unless a future loan-specific policy model supports a verified earlier date. Owner-occupant conventional PMI and explicit loan-life MIP remain distinct.
- v1.2 · 2026-08-27: First-year Standard v1.2 and long-term projection method v7 introduced one full-precision contractual amortization schedule for payment, interest, payoff, equity, and mortgage-insurance timing. Method v8 subsequently narrowed scheduled-78% termination to the owner-occupant conventional path. Recorded v1.0/v1.1 results remain immutable.
- v1.2 · 2026-08-25: Deal score reproducibility correction: new v1 analyses persist an explicit UTC analysis date for Property Age, while legacy and direct-engine payloads without a valid date use the fixed 2026-08-25 compatibility anchor. Identical serialized inputs no longer change score at a calendar-year boundary; recorded scores remain immutable.
- v1.1 · 2026-08-25: First-year v1.1 model-risk correction: a blank PMI/MIP rate now receives the 0.8% screening default only for owner-occupant analyses. Investment-property analyses model no mortgage insurance unless the user, lender profile, or template supplies a rate; explicit 0 still disables it. Recorded v1.0 results remain immutable.
- v1.1 · 2026-08-25: Long-term projection snapshot method v6: cancellable PMI/MIP now stops in the exact scheduled month the loan reaches the modeled 80% LTV threshold, while loan-life MIP continues through payoff. Live and cache-backed projections regenerate under v6; previously recorded result snapshots remain unchanged.
- v1.1 · 2026-08-25: Deal score correctness errata for new and explicitly re-underwritten analyses: zero modeled initial cash now makes CoC inapplicable and renormalizes the remaining score factors; missing Year Built receives an uncertainty modifier instead of new-construction treatment. The score correction is independent of the first-year financial formulas, and previously recorded result snapshots remain immutable.
- v1.0 · 2026-08-15: Initial published standard: lender-style NOI and DSCR, below-the-line CapEx reserve, PMI in cash flow, and signed illustrative tax impact.
Edge cases we handle explicitly
- Cash purchases (no loan): DSCR shows “N/A — no debt service” instead of dividing by zero. Cash-on- cash uses total cash purchase amount as the denominator.
- Owner-occupant units: in house-hack scenarios, we allow the owner-occupied unit to have $0 rent (which would normally fail validation) so the calculator correctly models the “living for free” scenario.
- Multi-family rent estimation: HUD FMR is per-unit by bedroom count, not per-property. For 2-4 unit properties we sum the per-unit FMR estimates.
- Non-US addresses: Google Places autocomplete is restricted to US results. Manual entry is still allowed but the HUD rent and FRED rate enrichment does not run. Property tax remains a manual local input for every address.
What we deliberately don't do
- We don't estimate rehab costs based on property condition — we'd need an inspection to do that well. The rehab cost estimator gives you editable illustrative planning amounts for common work items. They are not condition-aware prices, market observations, or contractor bids.
- We don't model speculative future rent increases beyond the editable annual growth percentage. No “assume you raise rent 15% on turnover” — that's a thumb on the scale we don't take.
- We don't include landlord time as an expense unless you set management % > 0. Most self-managed investors should still input 8-10% management to model the true cost — the day you hand it off to a PM, the deal economics shouldn't suddenly change.
Source of truth
The calc-analysis library is internal proprietary code. If you find a specific case where our output diverges from what you'd compute by hand, email hello@usetruecap.com with the inputs and we'll investigate — methodology bugs are the most important kind of bug to us.
Try it
Best way to verify the methodology is to run a deal you already understand. Enter the inputs, see what TrueCap outputs, compare to your own math.