How Parcel does the math.
Every number in the app comes from the rules on this page. If a figure surprises you, this is where to check it.
- One model
- Rent and costs
- Loans
- The five strategies
- The numbers
- Working backwards
- What could go wrong
- Flags
- Where figures come from
- The memo
- What it leaves out
One model
Parcel doesn’t have a rental calculator, a flip calculator and a BRRRR calculator. It has one model: a month by month ledger of cash in and cash out, from closing day to the day you sell. Each strategy is a recipe for filling that ledger. That is why every strategy shows the same numbers and why two deals compare fairly.
Month 0 is closing day. It carries the purchase, closing costs and loan fees. Months 1 onward carry rent, costs, loan payments, repairs and, in the last month, the sale. Every month’s cash flow is what it leaves in your pocket after all of that. Positive means money came to you, negative means you paid.
cash flow (month) = rent collected + other income
- operating costs - reserves - loan payments
- repairs - purchase and closing (month 0)
+ refinance proceeds - loan payoffs
+ sale price - selling costs (last month)Dollars are kept as decimal numbers rounded to cents when they cross the API. Nothing is computed in your browser; the engine runs on the server, once per change, in well under a millisecond.
Rent and costs
Rent starts the month after you own the place, or after any repairs and lease up you set. It grows once a year by the rent growth rate. The vacancy rate takes its share off the top, every month, as an average: a 5% rate means 5% of each month’s rent is treated as lost, which is the same as 18 empty days a year.
gross rent (month m) = monthly rent × (1 + rent growth) ^ year(m)
collected (month m) = gross rent - vacancy + other income
vacancy = gross rent × vacancy rateCosts come in two kinds:
- Fixed: property tax, insurance, HOA and utilities you pay. Spread evenly over the year and grown by the cost growth rate each year. They run from the month you own it, whether or not it’s rented.
- Share of rent: management, repairs and reserves. Each is a percentage of the rent you actually collected that month, so they fall when the place sits empty.
Reserves are money set aside for a roof or a furnace. Parcel takes them out of your cash flow every month, because that is what prudent owners do, even though many calculators leave them out to make the numbers look better.
operating costs = taxes + insurance + HOA + utilities + management + repairs
NOI = collected - operating costs
cash flow = NOI - reserves - loan paymentsLoans
A loan is funded on a given month, charges interest on its balance each month, and is paid off by a refinance, a balloon or the sale. Amortizing loans use the standard level payment. Interest only loans pay interest until they are retired. Points and closing costs are paid at funding.
monthly rate = annual rate / 12
level payment = balance × r / (1 - (1 + r) ^ -n) r = monthly rate, n = months
interest (m) = balance (m - 1) × r
principal (m) = payment - interest (m)A loan taken over subject to the seller keeps its original schedule: the balance, rate and months left you enter are what drive the payments. A seller note can amortize, be interest only, or balloon after a set number of years, at which point the full balance comes due.
The five strategies
| Strategy | What goes in the ledger |
|---|---|
| Rental | Buy with a down payment and a mortgage. Optional repairs up front. Rent until you sell at the end of the hold. |
| BRRRR | Buy with a short term loan that covers part of the price and repairs. Fix it, rent it, then after the seasoning period refinance at a share of the new value. The new loan pays off the first one plus refinance costs; whatever is left comes back to you. Rent until you sell. |
| Flip | Buy, repair over a set number of months, then sell after the months it takes to find a buyer. Taxes, insurance, utilities and loan interest run the whole time. No rent. |
| Wholesale | Parcel runs the end buyer’s flip in full and solves for the highest price at which the buyer still makes their profit margin. Your fee is that price minus your contract price. The 70% rule (70% of resale value minus repairs) is shown beside it as the rule of thumb flippers use. |
| Creative finance | Take over the seller’s loan on its real schedule, pay the seller some cash, and cover the rest with a note to the seller. Rent until you sell. A balloon on the note shows up as a payoff in that month. |
The numbers
The app shows each number in plain words. These are the names a lender or a spreadsheet would use, and exactly how each one is computed from the ledger. The “stabilized year” is the first full twelve months once rent is flowing and the long term loan is in place.
| In the app | Usual name | How it’s computed |
|---|---|---|
| a month in your pocket | Cash flow | Stabilized year NOI, minus reserves, minus loan payments, divided by twelve. |
| a year on your money | IRR | The annual rate that makes the present value of every month’s cash flow, including the purchase and the sale, add up to zero. Found by Newton’s method with a bisection fallback, then annualized. Shown as n/a when the cash never comes back. |
| cash to close | Cash to close | Everything paid on closing day: down payment, closing costs, points, and repairs paid up front. |
| rent covers the loan | DSCR | Stabilized year NOI divided by loan payments. Below 1.0x the rent doesn’t cover the payment. |
| profit | Total profit | The sum of every month’s cash flow, closing day and sale included. |
| return on your cash | ROI | Total profit divided by the most cash you had in the deal at any point. |
| back at the refinance | Cash out | New loan, minus refinance costs, minus the loans it pays off. |
| still in the deal after | Cash left in deal | Cash you had put in by the stabilized month, less what the refinance returned. |
| times your money | Equity multiple | All the cash that came to you divided by all the cash you put in. |
| needs to be rented X% of the time | Break even occupancy | The occupancy at which collected rent, less the costs that scale with it, just covers fixed costs and loan payments. |
cap rate = stabilized NOI / price
cash on cash = stabilized cash flow / cash left in deal
yield on cost = stabilized NOI / (price + closing + repairs)
break even occupancy = (fixed costs + loan payments)
/ (potential rent × (1 - variable costs / collected rent))
NPV = Σ cash flow (m) / (1 + d) ^ m d = 10% a year, monthly
payback = first month the running total is back above zeroWorking backwards
“What’s the most I can pay and still make 12% a year?” is answered by running the forward model repeatedly and searching for the input that hits the target, using Brent’s method on the exact same code that produces the workspace numbers. There is no separate reverse formula, so the forward and backward answers can never disagree. If no value of the input reaches the target, the app says so instead of inventing one.
What could go wrong
What moves the return most
Each input is nudged down and up on its own (rent and value by 10%, rates by a point, and so on) and the return is recomputed. The inputs are ranked by how far they swing it. The grid does the same for two inputs at once, price against rent.
Ten thousand versions
The simulation draws ten thousand versions of the deal at once, varying several inputs together, and reports how many lose money and what a bad, typical and good year look like (the 10th, 50th and 90th percentiles of the return). The draws:
- Rent: normal, standard deviation 8% of the rent you entered.
- Vacancy: normal, standard deviation 3 points.
- Cost growth: normal, standard deviation 1 point.
- Repairs: overruns only, 15% standard deviation, never under budget.
- Value after repairs: normal, standard deviation 7%.
- Value growth: normal, standard deviation 2 points.
Nothing drops below zero where that makes no sense. The runs are vectorized, so all ten thousand ledgers take about 150 milliseconds. The seed is fixed per request, so running it twice gives the same answer.
Flags
Parcel raises a flag whenever a deal trips one of these rules. They sit right under the answer.
| Flag | Rule |
|---|---|
| Rent doesn’t cover the loan | DSCR under 1.0x. Under 1.25x is a caution, since most lenders want more room. |
| Loses money every month | Stabilized cash flow is negative. |
| Borrowing lowers your return | The cap rate is below the loan rate, so borrowing costs more than the property earns. |
| Optimistic vacancy | Vacancy set under 3%. |
| No reserves | Reserves set to zero. |
| Refinance falls short | The new BRRRR loan doesn’t pay off the first one. |
| Thin flip | Profit under 10% of the resale price. |
| Balloon due | A seller note comes due in full during the hold. |
Where figures come from
When you look up an address, each suggested number is labeled with its source and the app keeps that label next to the number for as long as the deal exists:
- Rent and value: RentCast estimates with their low and high range. Parcel is on a small plan, so each address is looked up once and cached for 30 days, with a daily limit per person.
- Rent, when RentCast is unavailable: HUD Fair Market Rent for the county and bedroom count.
- Property tax: the county’s median effective rate from the Census American Community Survey, times the value estimate. Your actual bill may differ; replace it when you have it.
- Loan rate: the Freddie Mac weekly 30 year average from FRED, plus half a point, since investor loans price above owner occupied ones.
- Insurance: a labeled rough guess of 0.5% of value a year. Always get a quote.
- Everything else: a stated planning default you can change, or your own number.
Parcel never fills a cost with zero because it doesn’t know it. Missing inputs block the strategies that need them.
The memo
The written memo is drafted by a language model from a table of the engine’s figures for that deal. Before you see it, every dollar amount, percentage and ratio in the text is parsed out and matched against that table at the precision it was written in. If a figure doesn’t match, the memo is sent back once with the mismatches named. If it still doesn’t match, it is shown with the unmatched figures listed, so a made up number can never pass as a computed one.
What it leaves out
- Income taxes, depreciation and 1031 exchanges. Returns here are before tax.
- Rent control, local ordinances and lender specific rules.
- Partial month proration. Everything happens on month boundaries.
- Inflation beyond the growth rates you set.
Parcel is a projection tool, not advice. The source is public at github.com/ivan-711/parcel, and the engine’s tests check every formula on this page against worked examples.