Methodology

How the math works, and where to check it.

A partner who will not show you their work is not a partner. Most financial tools hand you a number with no way to check it. Below, two of our calculators are walked through in full: the exact formula, every input, and a worked example matching the tool's own default output. Every calculator on the site (not just these two) is built the same way: a single pure function, tested on its own, that both the page and this documentation would use identically if they were documented here.

This page covers the flagship investment-growth and cap-rate math in worked-example depth, plus how the market-scoring model works; see "Every calculator, one shared library" and "Market-data methodology" below for the rest.

The rule we build on

We show our math, and our AI never does the math. Every figure comes from a deterministic formula you can read below. When we add AI narration, it may interpret and explain the results, but it is never allowed to compute or invent a number. Calculation is rules; language is the only thing left to the model.

Investment growth

Future value of a starting amount plus regular contributions, compounded over time.

FV = P(1 + i)n + PMT × [ ((1 + i)n − 1) ÷ i ]
P = starting amount  ·  PMT = contribution per month  ·  n = number of months (years × 12)
i = effective monthly rate = (1 + r / m)m/12 − 1

Here r is your yearly return and m is how often growth is compounded per year (yearly, monthly, quarterly, and so on). We convert whatever annual rate and compounding you choose into one effective monthly rate, then step the balance forward month by month. If an expense ratio is set, it is subtracted from r before the conversion. Contributions are added at the end of each month (the conservative, honest choice), and weekly or yearly contributions are normalized to a monthly amount so every schedule is compared on the same basis.

Worked example: the calculator's default inputs
Start with$20,000
Add each month, for 30 years$500
Yearly return (added yearly)7%
Effective monthly rate i = (1.07)1/12 − 10.5654% / mo
Total you put in ($20,000 + $180,000)$200,000
Growth on top$536,971
Ending balance (FV)$736,971

Substituting into the formula: FV = 20,000(1.005654)360 + 500 × [ ((1.005654)360 − 1) ÷ 0.005654 ] = $736,971, the exact figure the tool shows.

Open the investment calculator →

Cap rate

A property's income yield, independent of how it is financed: the fastest gut-check on a deal.

Cap rate = NOI ÷ purchase price
NOI = net operating income = annual rental income − operating expenses
(NOI excludes the mortgage; cap rate measures the property, not the loan)

Because it leaves out financing, cap rate lets you compare two properties on equal footing regardless of how each is bought. It does not account for your loan, appreciation, or taxes; those belong to deeper tools. Use it as a screen, not a verdict.

Worked example
Net operating income (NOI)$18,240
Purchase price$285,000
Cap rate = 18,240 ÷ 285,0006.4%
Open the cap rate calculator →

Solving for a goal

When you set a target and ask "what would it take?", we invert the same formula above.

The investment calculator can solve for the return, contribution, starting amount, or number of years needed to reach a target balance. There is no separate formula for this: we search for the input value that makes the projected future value equal your goal. The method is bisection: we bracket the answer between a low and high guess, repeatedly test the midpoint, and keep the half that still contains the target, narrowing until the projected balance lands within a dollar of your goal (or up to 80 refinements). It is slower than a closed-form solution but robust: it uses the exact same projection function as everything else, so a solved answer and a forward calculation can never disagree.

Every calculator, one shared library

Why this page doesn't need to duplicate all 18 formulas for you to trust them.

Every calculator on the site (not just the two above) is a thin page that imports one pure, DOM-free function from a shared calculation library and renders whatever it returns. There is no second copy of the math anywhere, and no AI model computing or adjusting a figure; the function that runs when you use a tool is the only place its formula lives. That is a narrower, more checkable claim than "every formula is written out on this page" (it isn't, yet, for all 18 tools), but it's the reason a bug in one calculator's math can't silently diverge from what any documentation might say about it, worked-example or not.

Browse every calculator →

Market-data methodology

Two separate scoring models, each published in full: pick the one you want.

Every market ranking comes from a documented model, not a black box, and every weight, transform, gate, grade band, and source is on the methodology page. There are two distinct models on two geographies: a City Market Score for 1,863 ranked cities (of 2,303 tracked) and a Rental Investor ZIP Score for ~20,000 ZIP Codes, and their numbers are not interchangeable. Both are built entirely from free, keyless public sources (Zillow Research, Census ACS/PEP/Building Permits, Redfin Data Center, BLS LAUS, the FBI Crime Data Explorer) and leave a market unranked rather than scored around a missing core input.

City Market Score: 13 factors, 3 categories → Rental Investor ZIP Score: 4 categories →

Assumptions & honesty

Every projection here assumes a steady return and steady contributions. Real markets move up and down, and a bad first decade lands very differently from a bad last one even at the same average; these tools do not model that sequence risk. Figures are nominal: they are not adjusted for inflation, so a dollar in year 30 buys less than a dollar today. Contributions are assumed to arrive at the end of each period. Reference rates shown in the tools (for stocks, bonds, savings, and so on) are long-run historical averages offered as editable starting points, not promises.

None of this is financial advice. It is math laid out in the open so you can make your own call. If a number here ever disagrees with what a tool displays, treat it as a bug and tell us; the two are supposed to be identical.


Spot something off, or want a formula documented that isn’t here yet? Send a message.