Standard Deviation and Variance: Meaning, Formula and Real Data

Home › Research Methodology › Standard Deviation and Variance

Quick answerStandard deviation measures how spread out values are around their average: a small standard deviation means values cluster close to the mean; a large one means they are widely scattered. Variance is the standard deviation squared. Standard deviation is easier to interpret because it is in the same units as the data.

Below, we explain both in plain language and calculate them live on real citation data from ScholarsColab.

Standard deviation vs variance at a glance

Standard deviation (SD) Variance
What it measures Typical distance of values from the mean Average squared distance from the mean
Units Same as the data (e.g. citations) Squared units (e.g. citations²)
Relationship Square root of the variance SD squared
Used for Describing spread, reporting results Statistical calculations (ANOVA, regression)
A simple picture: two classes both average 60 marks. In one, everyone scored between 55 and 65 (small SD). In the other, marks ranged from 10 to 100 (large SD). The mean is the same; the spread is completely different.

Worked example: how spread out, and how unequal, are citations?

We measure the spread of real citation data, notebook-style. Every result is calculated live, and you can run the same code yourself.

The data: 41,792 papers, mostly published between 1998 and 2026, by 967 ScholarsColab mentors (data updated 15 October 2026). The file you will load is anonymised: no paper titles, journal names or researcher identities.

Step 1: Load the data

In [1]:
import numpy as np
import pandas as pd
from datetime import date

# The ScholarsColab Research Methods Index (papers level): anonymised, updated daily
DATA = "https://scholarscolab.in/wp-json/scholarscolab/v1/research-methods-data?level=papers"
papers = pd.read_csv(DATA, comment="#")   # lines starting with # hold the citation

def p_text(p):
    return "< 0.001" if p < 0.001 else f"= {p:.3f}"

print(papers.shape)
papers.head()
Out [1]:
(41792, 15)
yearcitationsvenue_typevenue_grouptitle_wordstitle_colonreviewsystematicmachine_learningdeep_learningiotblockchaincovidsustainabilitydiscipline
02023.031journalOther journals12000000000Medicine & health
12024.024journalOther journals13000110000Medicine & health
22024.012journalOther journals16000000000Medicine & health
32024.09journalOther journals20010000000Medicine & health
42024.09journalGeneric "International Journal of"9000000000Medicine & health

Step 2: Calculate the mean, median, standard deviation and variance

We use papers from the same publication window, so that all of them have had time to collect citations.

In [2]:
THIS_YEAR = date.today().year
window = papers[papers["year"].between(THIS_YEAR - 16, THIS_YEAR - 4)]
c = window["citations"]
print(f"mean = {c.mean():.1f}, median = {c.median():.0f}")
print(f"standard deviation = {c.std():.1f}, variance = {c.var():,.0f}")
Out [2]:
mean = 34.8, median = 7
standard deviation = 306.1, variance = 93,723
How to read it: the standard deviation is about 8.8 times the mean. For positive data such as citations, a standard deviation larger than the mean is a sure sign of strong skew: most papers have few citations, while a small number have very many. The variance is the standard deviation squared, which is why it is such a large number.

Step 3: See the shape with histograms

In [3]:
import matplotlib.pyplot as plt
fig, axes = plt.subplots(1, 2, figsize=(11, 4))
axes[0].hist(c.clip(upper=100), bins=range(0, 105, 5), color="lightgreen", edgecolor="green")
axes[0].set_title("Citations (values above 100 grouped at 100)")
axes[1].hist(np.log10(c + 1), bins=np.linspace(0, 4, 41), color="lightgreen", edgecolor="green")
axes[1].set_title("log10(citations + 1)")
plt.tight_layout()
plt.show()
Out [3]:
Citations (values above 100 grouped at 100)Citations (values above 100 grouped at 100)02,3534,7067,0599,412020406080100Citations
Raw citations (values above 100 grouped at 100).
log10(citations + 1)log10(citations + 1)01,1452,2903,4344,5790.00.81.62.43.24.0log10(citations + 1)
The same papers on a log scale.

The first histogram shows the problem: a tall bar at zero and a long thin tail. The second, on a log scale, is far closer to a bell shape. That is why skewed data are often described with the median, or analysed after taking logs.

Step 4: Compare the spread between groups

In [4]:
window.groupby("venue_group")["citations"].agg(["mean", "median", "std", "var"]).round(1)
Out [4]:
meanmedianstdvar
Conference12.85.032.11030.9
Generic "International Journal of"14.84.043.41881.5
IEEE Transactions / Journals120.269.5185.534413.0
Open-access mega-journals60.634.083.66987.2
Other journals47.39.0408.3166735.3
Other venue7.50.047.02208.5
“Other journals” has the largest standard deviation (408.3). A group can be widely spread because it mixes very different venues or contains a few extremely cited papers, so always look at the data behind a large standard deviation.

Step 5: Measure how unequal the citations are

In [5]:
s = c.sort_values(ascending=False)
top1 = s.head(int(len(s) * 0.01)).sum() / s.sum() * 100
top10 = s.head(int(len(s) * 0.10)).sum() / s.sum() * 100
print(f"Top 1% of papers hold {top1:.0f}% of all citations")
print(f"Top 10% of papers hold {top10:.0f}% of all citations")
print(f"Papers never cited: {(c == 0).mean() * 100:.0f}%")
Out [5]:
Top 1% of papers hold 40% of all citations
Top 10% of papers hold 71% of all citations
Papers never cited: 21%
The top 10% of papers collect about 71% of all citations. That inequality is exactly what a large standard deviation was hinting at.
Run this analysis yourself. Download the notebook and open it in Jupyter or Google Colab (File → Upload notebook). It loads the same anonymised ScholarsColab data, so your results will match this page.Download notebook (.ipynb) →Data files: papers.csv · mentors.csv

How to calculate standard deviation

  1. Calculate the mean of your values.
  2. Subtract the mean from each value and square the result.
  3. Add the squared values and divide by n − 1 for a sample (or n for a whole population). This is the variance.
  4. Take the square root to get the standard deviation.
  5. In Excel, use STDEV.S for a sample and VAR.S for its variance.

Common mistakes reviewers point out

  • Reporting mean ± SD for skewed data, where a result such as “35 ± 306 citations” wrongly suggests that negative values are possible.
  • Confusing standard deviation with standard error; standard error measures uncertainty in the mean, not spread of the data.
  • Using the population formula (divide by n) for a sample.
  • Not stating which measure of spread is shown in tables and error bars.

Frequently asked questions

What does standard deviation tell you?

It tells you how spread out values are around the mean. A low standard deviation means values are close to the mean; a high one means they vary widely.

What is the difference between standard deviation and variance?

Variance is the average squared distance from the mean; standard deviation is its square root, so it is in the same units as the data and easier to interpret.

What is the difference between standard deviation and standard error?

Standard deviation describes the spread of individual values. Standard error describes how precisely the sample mean estimates the population mean, and equals the standard deviation divided by the square root of the sample size.

Why divide by n − 1?

Dividing by n − 1 corrects for the fact that a sample tends to underestimate the spread of the whole population.

What is a high standard deviation?

There is no fixed cut-off. Compare it with the mean: if the standard deviation is larger than the mean for positive data, the data are very spread out or skewed.

Use this data in your own work

Use this data in your own research. Download the aggregated figures behind these charts (counts, medians and shares by type of paper, period, method and discipline) as a CSV file. Please cite it as:ScholarsColab (2026). ScholarsColab Research Methods Index [Data set]. Vidhilekha Soft Solutions Pvt Ltd. Retrieved 15 October 2026, from https://scholarscolab.in/research-methodology/. Licensed under CC BY 4.0.Download the data (CSV) →

More research methodology guides

About the data on this page. The ScholarsColab Research Methods Index is built from the Google Scholar publication lists of PhD researchers who mentor on ScholarsColab, and is updated daily as mentors and publications are added. Methods, designs and paper types are identified from titles, so papers whose titles do not mention them are not counted in those groups. The mentors are not a random sample of all researchers (engineering and computer science are strongly represented), so the figures describe this group of researchers and may not apply to research as a whole.