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.1 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 “Cash” 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
Screening Index (Balanced)
Current Screening Index method: v1.2. This secondary score is versioned independently from the TrueCap Underwriting Standard v1.1financial 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 selling costs and the exit engine's federal capital-gain and depreciation-recapture defaults. It excludes the separate illustrative annual personal-tax benefit from the Screening Index.
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 deterministic screening model, not a probability of profit, appraisal, or lending decision, evidence-readiness measure, Buy Box result, or investment advice.
Saved financial outputs retain their top-level Underwriting Standard version, while new saved results also record the Screening Index method version. Historical scores without that submodel field remain frozen and are labeled as recorded rather than silently recalculated.
Offer Ceiling is not a recommended offer, price prediction, or appraisal. TrueCap runs the complete underwriting engine repeatedly and finds the highest tested purchase price that still clears every selected return or Buy Box threshold. 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.
BRRRR and fix-and-flip models
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 auto-fill data comes from
Rent benchmark — HUD Fair Market Rent
HUD (the U.S. Department of Housing and Urban Development) publishes county-level rent estimates annually for setting Section 8 voucher payment standards. We query the HUD API with your property's county or ZIP + bedroom count and use the returned FMR as an editable benchmark. FMR is a program-market statistic, not a comp for this property. Actual achievable rent can be above or below it; verify with recent, comparable local leases before making an offer.
Why HUD instead of Zillow Rent Zestimate? HUD is methodologically transparent, public, and free. Zillow doesn't publish their per-property algorithm and rate- limits aggressive querying. We trade off some precision for transparency and rate-limit headroom. That tradeoff is why the result labels HUD as a market benchmark rather than a verified property rent.
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 — state effective rate
We maintain a state-by-state lookup of effective property tax rates (annual tax as a percentage of assessed value) from a curated dataset of state property tax statistics. We apply this rate to your purchase price. This is the most approximate of our three data sources — actual tax rates vary significantly within a state (Cook County IL vs rural Illinois, for example). Always confirm with the county assessor for the specific property.
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 v6 checks the scheduled opening balance monthly; cancellable coverage stops at the modeled 80% LTV threshold, while loan-life coverage continues through payoff
- Appreciation: 3% annual scenario assumption, not an appraisal or forecast
All four assumptions are editable on the Pro plan. The 10-year output shows cumulative cash flow, cumulative principal paydown, and ending equity year-by-year.
Illustrative tax impact
Depreciation
Residential rentals depreciate over 27.5 years straight-line (IRS schedule). We default the building portion to 85% of purchase price (land = 15%, non-depreciable). Annual 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.
Exit scenarios
We model the sale of the property 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.2 · 2026-08-25: Screening Index 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: Screening Index 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 “Cash” 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 auto-fill from HUD / FRED / state tax obviously doesn't fire.
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 sq-ft-based defaults for common work items, but the actual number is between you and your contractor.
- 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.