Please Note: This article is written for users of the following Microsoft Excel versions: 2007 and 2010. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Calculating a Geometric Standard Deviation.

Calculating a Geometric Standard Deviation

Written by Allen Wyatt (last updated December 2, 2021)
This tip applies to Excel 2007 and 2010


10

Jim has a set of data on which he needs to calculate some statistical information. He uses built-in Excel functions to calculate many of these, such as the geometric mean. He cannot seem to figure out how to calculate the geometric standard deviation, however.

The place that a geometric mean is most often used (and, therefore, a geometric standard deviation) is when calculating investment returns over time, especially when the returns involve compound interest. How you calculate the geometric mean is rather easy—you use the GEOMEAN function built into Excel. How you calculate a geometric standard deviation, however, depends on which resource you are referencing.

One reference that explains the math behind a geometric standard deviation is found on Wikipedia:

http://en.wikipedia.org/wiki/Geometric_standard_deviation

Let's assume that you have calculated the compound annual growth rate for an investment for four years. Over those four years the rate is expressed as 1.15 (+15%), 0.9 (-10%), 1.22 (+22%), and 1.3 (+30%). If you place these values in cells A1:A4, then apply the simplest form of calculating geometric standard deviation found on the Wikipedia page, you would enter the following as an array formula:

=EXP(STDEV(LN(A1:A4)))

This provides a result of 1.1745, rounded to four decimal places. However, there is some muddiness, as evidenced in this mathematical treatise at the Motley Fool:

http://www.fool.com/workshop/2000/workshop000309.htm

Note that it references the results of the above formula as the "standard deviation of the log values," insisting that you need to add the average of the log values to the standard deviation and then use the EXP function, in this manner:

=EXP(STDEV(LN(A1:A4))+AVERAGE(LN(A1:A4)))

Again, this must be entered as an array formula. It provides a result of 1.3294, which is significantly different from what is returned using the simpler formula from Wikipedia. Which is the actual geometric standard deviation is apparently a matter of debate and, perhaps, dependent on a definition of terms.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (11208) applies to Microsoft Excel 2007 and 2010. You can find a version of this tip for the older menu interface of Excel here: Calculating a Geometric Standard Deviation.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Printing a Worksheet List

Want a list of all the worksheets in your workbook? Here's a short, handy macro that will place all the worksheet names ...

Discover More

Using an Input Mask

When you are entering information in a worksheet, it sure would be handy to have a way to "mask" the information being ...

Discover More

Determining an Integer Value

One of the math functions you can use in your macros is the Int function. It provides a way for you to derive an integer ...

Discover More

Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!

More ExcelTips (ribbon)

Referring to the Last Cell

It is not unusual to use worksheets to collect information over time. As you keep adding information to the worksheet, ...

Discover More

Checking for Either of Two Text Values

Using a formula to find information in a text value is easy. Using a formula to find either of two text values within a ...

Discover More

Calculating Unique IDs Based on Names and Initials

Sometimes it can be tricky to figure out how to get exactly what you want from a dataset. In this tip, you discover how ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] (all 7 characters, in the sequence shown) in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is two more than 7?

2016-01-13 20:29:15

charles cumbo

The calculation of geometric mean (GM)is not difficult and easy to calculate.

What I need to understand is the following;

If instead of finding the GM of true value, you have values with measurement uncertainty std dev, how do you calculate the std deviation of the error of the GM

Thus if we have
X1,S1
X2,S2
X3,S3
X4,S4

Is it still the case that the GM is the forth root of X1*X2*X3*X4?

What is the Std Dev of the GM based on the uncertainty of each measurement?


2015-02-24 11:57:21

Lane

I figured out why Tom's formula gives different values. He has an error in the formula. You cannot take the LN of a range of numbers. Column B must contain the LN of each row in column A.

Example: B2 =LN(A2); B3 =LN(A3); ... B10 =LN(A10)

You would then replace "LN(A2:A10)" with "B2:B10".
Then the correct formula would be
=EXP(AVERAGE(B2:B10))

Sorry, my previous comment contained a different range because I copied and pasted from my own Excel spreadsheet and forgot to change the range to A2:A10 before submitting.


2015-02-24 11:32:26

Lane

Comment for Tom. I get different results for the following two formulas:

=GEOMEAN(D3:D47)
=EXP(AVERAGE(LN(D3:D47)))

You state that they should give the same value, unless "equivalent" is not the same as "equal".


2014-07-15 20:37:21

Ben

Just a point of clarification:

The Motley Fool page you link to explicitly calculates "a return one GSD above average", which is why it adds the (geometric) average to the geometric standard deviation.

It is simply calculating the +1 SD geometric mean. It is not claiming that the result (32.15%) is the geometric standard deviation. The example it provides specifically calculates the geometric mean that is one standard deviation above the mean.


2014-02-23 14:49:38

Angus McLean

this is entered as an array formula. I do not know how to do that. WShy not explain it.

Angus


2013-05-29 11:57:15

Gary Schwager

I have a question. Suppose I am trying to compute the probability that a manager outperforms its benchmark by a particular amount over different periods of time. For example, I know the standard error over 87 months between the manager and the benchmark is 1.65%, I know the manager underperformed the benchmark by 22.3%. This was calculated by taking the difference between the cumulative returns (geometrically linked monthly returns)of the manager and the benchmark. The monthly mean difference between the manager's returns and the benchmark returns is -.19%. I think we could assume the difference between the manager and the benchmark should be zero (population mean of difference between the benchmark and the manager. This is a tricky problem because it could involve log normal calculations and potentially annualized performance and standard deviation. I want to keep the solution as simple and understandable as possible.


2013-05-22 18:26:15

Peter Atherton

Try a helper column. if the data is in A1:A4 is 1.15, .9,1.22,1.3 and the stddev is 1.174489.
With the items in in the range B1:B7 i.e. thrree blanks in the range

In c1 type =IF(B1>0,LN(B1),"") and copy down

In C8 use the formula =EXP(STDEV(C1:C7)). this is not an array formula.

Further thoughts on the original article, the fools method surely refers to the upper boundry (the error level


2013-05-21 13:32:06

Nelson

I have a table with chemical data for several rock samples. The rock sample numbers are ordered as rows and the chemical elements analyzed as columns.

Data for the analyzed elements is not available for all the samples. In other words, for each of the analyzed elements there are some blank cells. Replacement of those cells by a numerical value such as half the limit of detection to avoid the blank cells, is meaningless for me.

Is there a function (or script) in excel that can calculate the geometric mean and geometric standard deviation for each of the variables but considering that not all the cell are filled with numerical data (in other words some cell are blank).

Besides, I need to calculate this for each of the elements analyzed.


2012-02-03 20:47:27

Peter Atherton

Adding to Tom C's comments, the geometric mean will always be lower than the average. This is because the high value affect the average, but the mean can be used to calculate the total. In your example 1.1425 * 4 = 4.57, the total of your percentages.

Conversely, the standard deviation of the geometric mean will be higher than a normal standard deviation.

With regard to adding the mean to the std Dev, I think that should refer to confidence levels. Adding and subtracting 1.96std Dev to the mean gives a 95% confidence limit. The amount that we can expect a value to be.


2012-01-17 10:23:20

Tom Campanelli

Excels GEOMEAN function is equivalent to =10^AVERAGE(LOG(A2:A10))assuming your data is in the range A2:A10. It's entered as an array formula (Ctrl-Shift-Enter).

Similarly, the geometric standard deviation is calculated by the following formula:
=10^STDEV(LOG(A2:A10)). Again this is entered as an array formula.

Since data is being multiplied instead of added, the logarithms of the data are used since adding logarithms is equivalent to multiplying the raw numbers. Substituting EXP for 10^ and LN for LOG will give the same results.


This Site

Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.