dollar-cost-averaging-calculator
Project the final value of a dollar-cost averaging (DCA) plan — equal contributions at regular intervals — and compare against lump-summing the same total at time 0. Returns final value, total invested, gains, equivalent CAGR, optional inflation-adjusted figures, and the lump-sum head-to-head.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| frequency | Yes | Contribution cadence. 'weekly' = 52/yr, 'biweekly' = 26/yr, 'monthly' = 12/yr. | |
| period_count | Yes | Total number of contributions (e.g. 120 for 10 years of monthly contributions). | |
| inflation_percent | No | Optional annual inflation rate (e.g. 2.5). When provided, the engine also returns inflation-adjusted (today's dollars) final value and gains. | |
| annual_return_percent | Yes | Expected nominal annual return as a percentage (e.g. 8 for 8%). Negative values allowed for stress-testing; the periodic rate must remain > -100%. | |
| contribution_per_period | Yes | Amount invested at the end of each period (e.g. 500 for $500 per month). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| final_value | Yes | Future value of the DCA stream (nominal). | |
| total_gains | Yes | final_value − total_invested. | |
| total_years | Yes | period_count / periods_per_year, for display. | |
| total_invested | Yes | Sum of all contributions. | |
| periods_per_year | Yes | Echoed from frequency. | |
| real_final_value | Yes | Inflation-adjusted final_value in today's dollars (null when inflation not provided). | |
| real_total_gains | Yes | Inflation-adjusted gains in today's dollars (null when inflation not provided). | |
| lump_sum_advantage | Yes | lump_sum_final_value − final_value. Positive when lump-sum beats DCA (typical with positive returns). | |
| lump_sum_final_value | Yes | Future value if the same total_invested were invested entirely at period 0. | |
| equivalent_cagr_percent | Yes | Money-weighted annual return that reproduces final_value from the contribution stream. |