Coefficient of Variation vs Standard Deviation

Coefficient of Variation Formula

Understanding the difference between coefficient of variation and standard deviation is essential for statisticians and data scientists. While both concepts measure variability in a dataset, they are calculated differently and can be used in different scenarios for better understanding. Here, we will explore the differences between these two measures to gain a better understanding of how to use them.

What is Coefficient of Variation?

Coefficient of Variation (CV) is a measure that is used to compare the amount of variation in a dataset relative to its mean value. It is calculated by taking the standard deviation divided by the mean, then multiplying by 100. CV can be interpreted as the percentage variation from the mean. The following is the formula:

Coefficient of Variation Formula

Here is the Python code for calculating coefficient of variation:

import numpy as np

# Define your dataset as an array
data = np.array([1, 2, 3, 4, 5])

# Calculate the mean of the data set
mean = np.mean(data)

# Calculate standard deviation
std_dev = np.std(data)

# Calculate coefficients of variation(CV)
cv = std_dev*100 / mean

# Print CV value
print('Coefficient of Variation (CV):', round(cv, 4))

The coefficient of variation can be useful in comparison of standard deviations of data with different means. For example, if you were comparing salaries of two professions with vastly different average salaries, CV would allow you to make a comparison based on how much each salary varied from its respective mean.

Here are some real-life examples of usage of coefficient of variation:

  • Coefficient of variation (CV) can be used to assess the risk associated with investments. The measures of variability such as standard deviation or coefficient of variation can be used to determine the risk of a stock. A higher CV value indicates a higher level of risk, as it indicates greater volatility and a wider range in the data. Let’s say there are two different stocks A and stocks B.

    Stocks A price across 6 weeks are [15, 20, 12, 10, 18, 22]. The following will be mean, standard deviation and coefficient of variation:

    CV = 26.34%
    Mean = 16.17
    Standard deviation = 4.26

    The standard deviation of stock A is 26.34% of mean.

    Stock B price across 6 weeks are [57, 68, 64, 71, 62, 72]. The following will be mean, standard deviation and coefficient of variation:

    CV = 7.99%
    Mean = 65.67
    Standard deviation = 5.25

    The standard deviation of stock B is 7.99% of mean.

    With the standard deviation as the measure of risk, stock B is more risky over this period of time because it has a larger standard deviation ($5.25). However, the average price of stock B is almost four times as much as that of stock A. Relative to the amount invested in stock A, the standard deviation of $4.26 may not represent as much risk as the standard deviation of $5.25 for stock B, which has an average price of only $65.67. The coefficient of variation reveals the risk of a stock in terms of the size of standard deviation relative to the size of the mean (in percentage). Stock A has a coefficient of variation that is nearly three times as much as the coefficient of variation for stock B. Using coefficient of variation as a measure of risk indicates that stock A is riskier.

    From investment perspective, stock A could indicate a higher potential reward, but also carries an increased possibility of losses. It is therefore important to consider the CV when evaluating any potential investment opportunities.
  • Assessing financial risk: Coefficient of variation can be used to evaluate how much financial risk a company is exposed to in comparison with the average amount for similar companies in its industry. This can help determine if the company has taken on too much risk or not.
  • In the retail industry, coefficient of variation (CV) can be used to measure and compare the variability in sales across different stores or locations.

What is Standard Deviation?

Standard Deviation (SD) measures how much variation exists in a given dataset or population. It is calculated by taking the square root of the variances divided by N-1 (where N is equal to sample size). For population, SD can be calculated by taking the square root of the variances divided by N (population size). SD describes how far away any given sample or observation may be from the mean value found within that dataset or population. When interpreting standard deviation, it’s important to consider whether it reflects normal distribution or not; if not, then other measures such as median should be considered instead. Additionally, since SD only considers one variable at a time, it cannot be used for comparing two different datasets with different scales – this is where CV comes in handy!

Here is the Python code example for calculating standard deviation of a given array of numbers.

import numpy as np

data = [10, 20, 30, 40]

stdev = np.std(data)
print("Standard Deviation is:", stdev)

Comparing two distributions as a function of how far the values lie from the mean in form of standard deviation provides greater insights by calculating Z-score. Z-scores measure the number of standard deviations that a point is away from the mean. By calculating a z-score, you can determine which values are above or below average and how much they differ from it. Understanding z-scores can be especially helpful when looking at standard deviation. For example, if you know your sample’s standard deviation and want to know what percentage of your population falls within one standard deviation of the mean, you can calculate the z-score for each value in your sample to determine how many are within that range.

Driving Decisions – Coefficient of Variation vs Standard Deviation

Let’s consider an example to illustrate how the use of the coefficient of variation (CV) and standard deviation (SD) can drive decision making.

Suppose we have two classes of students, Class A and Class B, and we want to compare the variability of their test scores. Here are the test scores for each class:

Class A: 80, 85, 90, 92, 95
Class B: 70, 75, 80, 85, 90

As per the code below, the following comes out to be value of standard deviation and coefficient of variation:

Class A: SD = 5.72, CV = 6.92%
Class B: SD = 7.91, CV = 9.88%

import statistics

# Test scores for Class A and Class B
class_a_scores = [80, 85, 90, 92, 95]
class_b_scores = [70, 75, 80, 85, 90]

# Calculating Standard Deviation
class_a_sd = statistics.stdev(class_a_scores)
class_b_sd = statistics.stdev(class_b_scores)

# Calculating Coefficient of Variation
class_a_cv = (class_a_sd / statistics.mean(class_a_scores)) * 100
class_b_cv = (class_b_sd / statistics.mean(class_b_scores)) * 100

# Printing the results
print("Class A - Standard Deviation:", round(class_a_sd, 2))
print("Class B - Standard Deviation:", round(class_b_sd, 2))
print("Class A - Coefficient of Variation:", round(class_a_cv, 2))
print("Class B - Coefficient of Variation:", round(class_b_cv, 2))

The CV values indicate that the test scores in Class B have relatively higher variability compared to Class A. This comparison is possible because the coefficient of variation allows us to standardize the dispersion by taking into account the mean of each dataset.

Here is how the above coefficient of variation metrics help drive the decisions:

  • Instructional Approaches: The higher variability in Class B’s test scores suggests that the students’ performance varies more widely within the class. This insight can prompt teachers and instructors to consider adopting differentiated instructional approaches. They may need to provide additional support and resources to address the diverse learning needs and ensure that all students have opportunities to succeed.
  • Curriculum Adaptation: The wider variability in Class B may indicate that some students are struggling or not sufficiently challenged. This insight can drive decisions to adapt the curriculum, providing additional resources, enrichment activities, or targeted interventions for students who need extra support. It can help identify specific topics or skills where students require more attention and tailor instruction accordingly.
  • Grouping and Differentiation: The greater variability in Class B may indicate a need for differentiated grouping strategies. Teachers can consider grouping students based on their performance levels, allowing for targeted instruction and support within smaller groups. This approach enables teachers to tailor the curriculum and instructional strategies to meet the diverse needs and abilities of students.


To sum up, Coefficient of Variation and Standard Deviation are two different ways of measuring variability in datasets or populations. While both measures are useful for calculating variance, they differ in their applications – CV is best for making comparisons between datasets with different scales whereas SD should be used when dealing with just one variable at a time – and should always factor in normal distribution when interpreting results. Data scientists and statisticians should understand when each measure should be used depending on their goals so that they can get accurate results each time!

Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. For latest updates and blogs, follow us on Twitter. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking. Check out my other blog,
Posted in Data Science, statistics. Tagged with , .

Leave a Reply

Your email address will not be published. Required fields are marked *