Methodology: how every number on this site is calculated

Financial calculators earn trust one way: show the math. This page documents every formula our calculators run, where the live data comes from, and how you can verify all of it yourself — the core engine is open source.

The open-source engine behind every result

The compounding math on this site is implemented twice, deliberately: once in dividend-math, our MIT-licensed open-source library (installable from npm as dividend-math), and once inside this site's own code base, covered by unit tests that run on every change. The two implementations are kept in agreement, and because the library is public, anyone can read the exact recurrence, run the tests, or file an issue if a number looks wrong. We know of no other dividend calculator whose math you can audit end to end.

Core formulas

Dividend yield — annual dividends per share divided by the share price:

yield % = (annual dividend per share ÷ share price) × 100

Yield on cost — the same numerator over your average purchase price, which is why it rises over time in the year-by-year tables even when the market yield stays flat:

yield on cost % = (annual dividend per share ÷ your cost basis per share) × 100

Dividend payout ratio — the share of earnings paid out as dividends, the standard sustainability check (our gauge bands: 0–35% safe, 35–75% healthy, 75–100% stretched, above 100% unsustainable unless earnings are depressed):

payout ratio % = (dividend per share ÷ earnings per share) × 100

DRIP projection — a year-by-year simulation, not a closed-form formula. For each year: shares grow by reinvested dividends plus any monthly contributions; the per-share dividend grows at your dividend-growth input; the share price grows at your price-growth input. Formally, with Dₜ the per-share dividend in year t, Sₜ shares and Pₜ price:

Dₜ⁺₁ = Dₜ × (1 + dividend growth)
Pₜ⁺₁ = Pₜ × (1 + price growth)
Sₜ⁺₁ = Sₜ + (Sₜ × Dₜ) ÷ Pₜ + contributions ÷ Pₜ⁺₁

When you switch DRIP off, the dividends are still computed (they show up as “total distributions received”) but the share count no longer grows from them. Monthly contributions are handled at the year's price for simplicity — the difference versus true monthly compounding is small at the horizons these calculators are used for, and the unit tests pin the behavior.

Where the live ticker data comes from

ETF pages (SCHD, QQQI, JEPI, JEPQ) prefill their inputs and show distribution tables from a data pipeline we run on a roughly bi-weekly cadence: per-share distribution history is pulled from Yahoo Finance's chart API (events=div), cached into a JSON file at build time, and rendered statically. Every dynamic number on the site carries an “as of” date — the date of the underlying data refresh (currently 2026-08-20) — because a distribution figure without a date is marketing, not data.

Projected ex-dividend dates extend the fund's observed payment cadence forward and assume the most recent per-share amount repeats. They are projections, not announcements: confirm dates and amounts on the official fund page (Schwab, NEOS) or your broker before making a trading decision.

How we keep it accurate

What these calculators are not

They are planning tools, not predictions. Nothing here forecasts which way a share price or distribution moves; the value is in making the compounding arithmetic transparent so you can weigh your own assumptions. Nothing on this site is financial advice — see the about page for the full disclaimer, and contact us if a number ever looks wrong.