Back

How does BNBCalc calculate cash flow and returns?

Last reviewed Oct 7, 2026 by Jeremy Werden

Short answer

BNBCalc subtracts operating expenses from revenue to get operating income, then subtracts the mortgage payment and property tax to get cash flow. From there, cash-on-cash return is year-one cash flow, plus one year of revenue growth, divided by the cash you put in, while cap rate is operating income divided by the purchase price.

From revenue to cash flow

Every return in a BNBCalc analysis comes from the same short chain of subtractions:

  • Operating income (BNBCalc's version of net operating income) = annual revenue − operating expenses
  • Mortgage & Taxes = loan payments + property tax, plus mortgage insurance if you put down less than 20%
  • Profit (Cash Flow) = operating income − Mortgage & Taxes

The loan payment is the standard amortizing payment: loan × r ÷ (1 − (1 + r)^−n), where r is the annual interest rate ÷ 12 and n is the number of years × 12.

For a US home, a new Buy analysis starts with 20% down, a 30-year loan at 6%, property tax of 0.99% of the price a year, and closing costs of 3% of the price, while homes in lower-income countries start with a lower rate and property tax. If you drop below 20% down, mortgage insurance switches on at 0.5% of the loan a year. Owned analyses start as paid off, Rent (arbitrage) analyses subtract your rent instead of a mortgage, and Cohost analyses have no purchase or loan at all.

The return metrics

Once BNBCalc has the cash flow, it compares it with the cash you put in. For a Buy analysis, cash invested = down payment + renovations and furnishing + closing costs; for a Rent analysis it's renovations and furnishing + setup costs.

MetricHow BNBCalc calculates it
Cash on Cash Return(year-one cash flow + year-one revenue growth) ÷ cash invested
Cap Rateyear-one operating income ÷ purchase price
DSCR (US Buy analyses)operating income ÷ yearly Mortgage & Taxes. 1.25 or more reads "Strong", 1.0 to 1.25 "Acceptable", below 1.0 "Weak"
Return on Investmenttotal gain ÷ cash invested. Total gain is profit plus whichever boxes you tick: equity (loan principal paid down), appreciation and revenue appreciation are ticked by default, while renovations and furniture isn't
Payback Period Days (Rent)cash invested ÷ year-one cash flow × 365
Owner payout (Cohost)revenue − cleaning and supplies − your commission (20% by default)

Two of these work differently from the textbook versions, so keep them in mind when you compare BNBCalc with a spreadsheet. Cash on cash includes one year of revenue growth (3% a year by default), which makes it higher than cash flow ÷ cash invested; set Revenue Appreciation to 0% if you want the plain figure. Cap rate runs higher than a version that treats property tax as an operating expense, because BNBCalc keeps property tax in Mortgage & Taxes instead.

Property appreciation also defaults to 3% a year, and you can change both growth rates with the sliders in Investment Value Over Time.

A worked example

This picks up the illustrative three-bedroom home from the revenue and expense examples: $60,000 of revenue and $27,780 of operating expenses, now with a $400,000 purchase price and every financing default left in place.

StepCalculationResult
Operating income$60,000 − $27,780$32,220
Loan payment$320,000 at 6% over 30 years$1,918.56 a month
Property tax0.99% × $400,000$3,960 a year
Mortgage & Taxes$1,918.56 × 12 + $3,960$26,983 a year
Profit (Cash Flow)$32,220 − $26,983$5,237
Cash invested$80,000 down + $8,500 furnishing + $12,000 closing$100,500
Cash on Cash($5,237 + 3% × $60,000) ÷ $100,5007.0%
Cap Rate$32,220 ÷ $400,0008.1%
DSCR$32,220 ÷ $26,9831.19, "Acceptable"

The $8,500 of furnishing is BNBCalc's default of $2,000 per bedroom, $250 per bathroom (two here) and $2,000 for one living space. As for cash on cash, the year of revenue growth adds almost two points: without it, the figure would be 5.2%.

Return on investment goes further, because over one year it also adds $3,930 of loan principal paid down, $12,000 of property appreciation and $1,800 of revenue growth to the $5,237 of cash flow. That's $22,967 ÷ $100,500, which BNBCalc shows as 22.85%. Keep in mind that more than half of that gain is the assumed 3% rise in the home's value, not cash in your pocket.

The Investor Score

The letter grade on the Short Term Rental card blends the two headline returns:

Score = 15% × (cap rate × 7.692) + 85% × (cash on cash × 5), rounded down

A score of 100 or more is an A+, 75 or more an A, 50 or more a B, 35 or more a C and 20 or more a D; anything lower is an F. The example scores 15% × (8.06 × 7.692) + 85% × (7.00 × 5) = 39, a C. Because cash on cash carries 85% of the weight, the grade mostly tells you how hard your cash is working.

The Long Term Rental card next to it runs the same home as a 12-month lease, with its own math and weights, so the two grades aren't directly comparable.

What these returns don't include

Every figure here is before income tax. The STR Tax Calculator on US Buy and Owned analyses estimates deductions separately, and it's a planning estimate rather than tax advice. There's no line for long-term reserves like a new roof or HVAC system, so put that money into Repairs or Other if you set it aside. Appreciation is the rise in the home's value, with no selling costs taken off. And the 5-year and 10-year Profit views multiply the yearly figures, so revenue growth only shows up in Investment Value Over Time.

Frequently asked questions

Why is BNBCalc's cash-on-cash return higher than cash flow divided by cash invested?

BNBCalc adds one year of revenue growth to the cash flow before dividing, 3% of a year's revenue by default. To see the plain version, set Revenue Appreciation to 0% in Investment Value Over Time.

Why does BNBCalc's cap rate look higher than other calculators?

BNBCalc doesn't count property tax as an operating expense; it sits in Mortgage & Taxes with the loan payment. Operating income is therefore higher than in a calculation that deducts property tax, and so is the cap rate.

Terms in this article

Related articles


Was this helpful?