Estimate how your mutual fund investment could grow with an initial deposit plus ongoing contributions, and see how fees can change the result. This calculator shows your ending value before fees, after fees, and an estimated total fees paid.
Advanced options
| Year | Begin | Contrib invested | Fees | Growth | End |
|---|
How to use our Mutual Fund Calculator
- Enter your Initial investment (USD) and your Ongoing contribution (USD).
- Choose Contribution frequency (monthly or yearly) based on how often you plan to add money.
- Enter Time invested (years). Use decimals if needed (example: 7.5).
- Enter Expected annual return (percent). This is your before-fee return assumption.
- Open Advanced options to add fees and realism: expense ratio, any front-end or back-end load, and optional inflation.
- Pick Compounding frequency (monthly or yearly). For a simple model, match it to your contribution frequency.
- Choose Contribution timing (start or end of period). Start of period usually gives a slightly higher ending value.
- Click Calculate to see your ending values, total contributed, net growth, and the year-by-year schedule.
Definitions
Initial investment: The money you put in at the start (today).
Ongoing contribution: Extra money you add each month or each year.
Expected annual return: Your estimated average yearly growth rate before fund fees (an assumption).
Expense ratio: A yearly fund cost taken out of fund assets; it reduces investor returns over time [2][3].
Front-end load: A sales charge taken when you buy shares, so only part of your deposit is invested.
Back-end load: A sales charge taken when you sell shares at the end.
Compounding frequency: How often growth is applied (monthly or yearly).
Contribution timing: Whether each contribution is added at the start of the period or the end.
Nominal dollars: Dollar amounts that do not adjust for inflation.
Today's dollars (real dollars): Dollar amounts adjusted for inflation, meant to reflect buying power.
CAGR (after fees): A single yearly rate that best fits your contributions and ending value after fees (estimated using an IRR-style solve).
Methodology
Overview
This calculator projects your balance using a constant return assumption, then applies common mutual fund fees as simple planning adjustments. Mutual fund fee details are disclosed in a fund prospectus fee table, and the expense ratio represents ongoing fund costs [1][2][3].
Step 1: Choose the time step
If you pick monthly, periods per year = 12. If you pick yearly, periods per year = 1. The model uses one shared time step for both compounding and contributions to avoid mixing timelines.
Step 2: Convert percent inputs to decimals
annual_return_decimal = annual_return_percent / 100
expense_ratio_decimal = expense_ratio_percent / 100
front_end_load_decimal = front_end_load_percent / 100
back_end_load_decimal = back_end_load_percent / 100
inflation_decimal = inflation_rate_percent / 100
Step 3: Convert annual return to a periodic return
period_rate = (1 + annual_return_decimal)^(1/periods_per_year) - 1
Step 4: Apply the expense ratio as a planning approximation
The expense ratio is modeled as reducing the annual return by the same percentage points (example: 7.00% minus 0.50% equals 6.50%). This is a simplification, but it helps show fee drag clearly [2][3].
net_annual_return_decimal = annual_return_decimal - expense_ratio_decimal
net_period_rate = (1 + net_annual_return_decimal)^(1/periods_per_year) - 1
Step 5: Apply front-end load to each purchase
Front-end load is taken from the initial investment and each ongoing contribution before it gets invested.
amount_invested = gross_amount * (1 - front_end_load_decimal)
Step 6: Grow the balance over periods
Let balance be the invested amount after any front-end load. For each period:
If timing is end: balance_next = balance_current*(1 + net_period_rate) + amount_invested
If timing is start: balance_next = (balance_current + amount_invested)*(1 + net_period_rate)
The same loop is run a second time with fees set to 0% (expense ratio = 0%, loads = 0%) to compute the before-fees ending value.
Step 7: Apply back-end load at exit
ending_value_after_fees = ending_value_before_back_end * (1 - back_end_load_decimal)
Step 8: Total contributed, net growth, and fee impact
Total contributed counts the money you paid in (before any front-end load is taken out).
number_of_contributions = years * periods_per_year
total_contributed = initial_investment + contribution_amount * number_of_contributions
net_growth_after_fees = ending_value_after_fees - total_contributed
Total fees paid (estimated) is computed as the gap between the no-fee scenario and the fee scenario, including the compounding impact:
total_fees_paid_est = ending_value_before_fees - ending_value_after_fees
If this estimate would be negative (which can happen if assumptions conflict), the calculator shows N/A for total fees paid instead of a misleading negative fee.
Step 9: Inflation-adjusted ending value (optional)
If you enter inflation greater than 0, the tool converts the after-fees ending value into today's dollars (purchasing power).
inflation_adjusted_ending_value = ending_value_after_fees / (1 + inflation_decimal)^years
Step 10: CAGR (after fees) using an IRR-style solve
The calculator estimates a money-weighted yearly rate by solving for a per-period rate r that makes the present value of all cash flows equal to zero.
Find r such that: sum over t of cashflow_t / (1 + r)^t = 0
cagr_after_fees = (1 + r)^(periods_per_year) - 1
If the solve is not reliable (for example, you invested nothing), CAGR is shown as N/A with a clear reason.
Year-by-year schedule
The schedule groups the period-by-period simulation into calendar years and shows: beginning balance, contributions invested (after any front-end load), estimated fees (difference between no-fee and fee paths for that year), growth, and ending balance.