Average Return Calculator

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.

Tip: Put one number per line. Example: 10 means 10%.
Advanced options
Return list display
If your returns are monthly (or quarterly), this converts the geometric average into an equivalent yearly rate for easier comparison.
Median is the middle return after sorting. It can be more typical than the average when there are outliers.
Shows the highest and lowest return in your list.
Max drawdown is the largest peak-to-trough drop in a hypothetical $1 growth curve built from your returns, assuming returns happen in order.
Risk stats
Input formatting
Lets you type 10,000 instead of 10000 for dollar fields. (Percents should not include commas.)
Calculating…
Did we solve your problem today?

How to use our Average Return Calculator

  1. 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.
  2. If you chose Return list, set Return period for list (Yearly, Quarterly, or Monthly) so annualized results are correct.
  3. Enter your Periodic returns, one number per line (example: type -5 for -5%). Do not type the % sign.
  4. Open Advanced options (optional) and choose whether to show annualized results, median, best/worst period, and max drawdown.
  5. If you chose Start/end values, enter Beginning value (USD), Ending value (USD), and Time (years) (decimals are allowed, like 2.5).
  6. Click Calculate.
  7. 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.
  8. 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]


Sources