Use this Average Return Calculator to find the simple average (arithmetic), the compound average (geometric), or an annualized return (CAGR) from either a list of returns or start and end values.
Advanced options
How to use our Average Return Calculator
- Pick a Calculation mode: choose Return list (average of % returns) if you have each period return, or Start/end values if you only know beginning value, ending value, and time.
- If you chose Return list, set Return period for list (Yearly, Quarterly, or Monthly) so annualized results are correct.
- Enter your Periodic returns, one number per line (example: type -5 for -5%). Do not type the % sign.
- Open Advanced options (optional) and choose whether to show annualized results, median, best/worst period, and max drawdown.
- If you chose Start/end values, enter Beginning value (USD), Ending value (USD), and Time (years) (decimals are allowed, like 2.5).
- Click Calculate.
- Read the outputs: Arithmetic average is the simple average per period, Geometric average matches compounding, and CAGR is the yearly rate that turns the beginning value into the ending value.
- If you see N/A for geometric average or max drawdown, check if any period return is -100% or less (that means the value hits zero or below).
Definitions
Arithmetic average return: The simple average of your period returns (add them up and divide by how many periods). It can be misleading for long-run growth when returns bounce around.
Geometric average return (compound average): The constant per-period return that would lead to the same overall growth as your list of returns when compounded. This is usually the best single number for growth over time. [1][3]
Annualized return (CAGR): The constant yearly rate that turns a beginning value into an ending value over a given number of years. [2]
Total return: The overall percent change from beginning value to ending value (not per year).
Standard deviation (volatility): A measure of how spread out your period returns are around the arithmetic average. Higher means bumpier.
Max drawdown: The largest peak-to-trough drop in a growth path built by applying your returns in order, starting from $1.
Methodology
Mode A: Return list (average of % returns)
First, the calculator cleans your list: it ignores blank lines, and it errors if a non-number appears (like a % sign). It counts how many periods are positive and negative.
arithmetic_mean_percent = (sum_{i=1..n} r_i_percent) / n
Arithmetic average is a simple average of the percent returns. It does not model compounding, so it can overstate long-run growth when returns are volatile. [1]
r_i_decimal = r_i_percent / 100
growth_factor = product_{i=1..n} (1 + r_i_decimal)
geometric_mean_decimal = growth_factor^(1/n) - 1
geometric_mean_percent = 100 * geometric_mean_decimal
If any period return is -100% or less, then (1 + r_i_decimal) is 0 or negative, so compounding breaks (the value hits zero or below). In that case the calculator shows geometric mean as N/A. [3]
Annualizing the list result (optional)
If enabled, the calculator converts the per-period geometric mean into an equivalent yearly rate using the selected period length (Monthly = 12 periods per year, Quarterly = 4, Yearly = 1).
annualized_decimal = (1 + geometric_mean_decimal)^(periods_per_year) - 1
annualized_percent = 100 * annualized_decimal
Extra stats (optional)
Median is the middle value after sorting (or the average of the two middle values if there are an even number of periods). Best and worst are the maximum and minimum returns in the list.
Standard deviation uses decimal returns. If you pick Sample (n-1), it divides by (n-1). If you pick Population (n), it divides by n. If n is less than 2, standard deviation is N/A.
mean = arithmetic_mean_percent / 100
population_stdev = sqrt( (sum_{i=1..n} (r_i_decimal - mean)^2) / n )
sample_stdev = sqrt( (sum_{i=1..n} (r_i_decimal - mean)^2) / (n-1) )
stdev_percent = 100 * stdev_decimal
Max drawdown is computed from a hypothetical growth path starting at 1 and applying your returns in order. If any (1 + r_t_decimal) is 0 or less, max drawdown is N/A because the path hits zero or below.
value_0 = 1
value_t = value_{t-1} * (1 + r_t_decimal)
peak_t = max(peak_{t-1}, value_t)
drawdown_t = (value_t / peak_t) - 1
max_drawdown = min(drawdown_t)
Mode B: Start/end values (CAGR)
This mode uses beginning value, ending value, and time in years. Beginning value must be greater than 0, ending value must be greater than 0, and time must be greater than 0.
total_return_decimal = (end_value / begin_value) - 1
total_return_percent = 100 * total_return_decimal
cagr_decimal = (end_value / begin_value)^(1/time_years) - 1
cagr_percent = 100 * cagr_decimal
total_gain_loss_usd = end_value - begin_value
The CAGR is the single yearly rate that matches the start value to the end value over the time you entered. [2]