The maths data analysts and data scientists actually use
In this article (5 sections)
Related programme: the Data Science course (6 months; ₹1,30,000 (inclusive of GST) · EMI from ₹5,000/month).
A data analyst mostly uses careful arithmetic: percentage change, percentage points, ratios, weighted averages, medians and simple rates. A data scientist adds statistics and probability, and enough linear algebra and calculus to understand how models learn. Neither job asks you to prove theorems; both punish you for getting simple things subtly wrong, which is the part worth practising first.
Level 1: the arithmetic analysts use every week
These look easy. They are also where most reporting errors come from. Run this block; every number is synthetic.
# Synthetic weekly orders for one store (hypothetical data)
last_week, this_week = 1240, 1395
change = (this_week - last_week) / last_week * 100
print(f"Orders changed by {change:.1f}%")
# Conversion went from 3.0% to 3.6%: points vs percent
old, new = 3.0, 3.6
print(f"Up {new - old:.1f} percentage points, which is {(new - old) / old * 100:.1f}% relative")
# Average order value across two cities: weighted, not simple
orders = {"Noida": (800, 650.0), "Pune": (200, 1200.0)} # (orders, avg value in rupees)
simple = sum(v for _, v in orders.values()) / len(orders)
weighted = sum(n * v for n, v in orders.values()) / sum(n for n, _ in orders.values())
print(f"Simple average of averages: Rs {simple:.0f}; true average: Rs {weighted:.0f}")Three lessons sit in that block:
- Percentage change is (new − old) / old. Orders rose from 1,240 to 1,395, which is 12.5%.
- Percentage points vs percent. Conversion moving from 3.0% to 3.6% is up 0.6 percentage points, but up 20% in relative terms. Reports that confuse the two can overstate or understate a change a lot.
- Averages of averages. Averaging the two cities' order values gives ₹925. The true average, weighted by number of orders, is ₹760. When groups have different sizes, a simple average of their averages is wrong.
If these three feel natural after a week of practice, you have the maths for the core of a data analyst role.
Level 2: the statistics both roles need
Once you describe data, you need to describe how spread out it is and how much to trust a pattern.
import statistics as st
# Synthetic delivery times in minutes; one very late order
times = [28, 31, 30, 27, 33, 29, 32, 30, 180]
print("mean ", round(st.mean(times), 1))
print("median", st.median(times))
print("stdev ", round(st.stdev(times), 1))
# Least-squares slope by hand: ad spend (Rs '000) vs leads, synthetic
x = [10, 20, 30, 40, 50]
y = [12, 19, 33, 41, 48]
mx, my = st.mean(x), st.mean(y)
slope = sum((a - mx) * (b - my) for a, b in zip(x, y)) / sum((a - mx) ** 2 for a in x)
intercept = my - slope * mx
print(f"leads = {intercept:.1f} + {slope:.2f} * spend")
# Conditional probability from a synthetic 2x2 table
converted_mobile, total_mobile = 90, 3000
converted_desktop, total_desktop = 60, 1000
print(f"P(convert | mobile) = {converted_mobile / total_mobile:.3f}")
print(f"P(convert | desktop) = {converted_desktop / total_desktop:.3f}")
print(f"P(mobile | convert) = {converted_mobile / (converted_mobile + converted_desktop):.3f}")What each part shows:
Mean vs median. One order took 180 minutes; the rest took about 30. The mean is 46.7 minutes, a delivery time almost no customer experienced. The median, 30, describes the typical order. Use the median for skewed data such as delivery times, salaries and house prices.
Standard deviation. At 50 minutes, it is larger than the median, which tells you the spread is dominated by that one outlier. Standard deviation is useful, but only after you have looked at the values.
A slope. The least-squares line says each extra ₹1,000 of ad spend is associated with about 0.94 more leads in this synthetic data. That is the core idea behind linear regression: a line chosen to make the squared errors as small as possible. Data scientists use libraries to fit it; understanding the formula helps you notice when a result is implausible.
Conditional probability. Mobile converts at 3%, desktop at 6%. Yet 60% of conversions come from mobile, because mobile traffic is three times larger. "Most conversions are on mobile" and "mobile converts better" are different statements, and only one is true here.
Level 3: what data science adds on top
Data science uses more maths, but mostly as ideas you need to recognise in code rather than calculations you do by hand.
| Topic | What you need to understand | Where it shows up |
|---|---|---|
| Probability distributions | What normal, binomial and Poisson data look like | Choosing a model, spotting odd data |
| Sampling and confidence intervals | A sample estimate has uncertainty; how much | A/B tests, surveys, model evaluation |
| Hypothesis testing | What a p-value does and does not mean | Experiments |
| Vectors and matrices | Data as a table of numbers; matrix shapes | Every ML library, embeddings |
| Derivatives and gradients | "Which direction reduces the error?" | How models are trained |
| Logarithms | Turning multiplication into addition; skewed values | Log transforms, log-loss |
You can start a data science course without these and learn them as the course reaches them. You will find it much easier if Level 1 and Level 2 are solid first.
What you can leave for later
Unless you move into research or specialised ML roles, you rarely need:
- Proving theorems, or deriving algorithms from scratch.
- Advanced calculus beyond the idea of a derivative and a gradient.
- Measure theory, abstract algebra, or other university-maths topics.
People who worry most about maths are often picturing these. They are not the daily work.
A two-week check before you choose a programme
- 1Week 1: redo the Level 1 block with your own made-up numbers until you can predict each output before running it.
- 2Week 2: do the same with Level 2. Change the outlier from 180 to 60 and predict what happens to the mean and median.
If both weeks feel manageable, either the Data Science programme or the Data Analyst programme is within reach mathematically. If Level 2 feels like a wall, start with analytics and add statistics as you go; the DA, DS or FDE decision tree walks through that choice.
Frequently asked questions
Do I need to be good at maths to become a data analyst?
You need to be careful with school-level arithmetic: percentages, ratios, averages and reading charts correctly. Most analyst errors come from misusing these, not from lacking advanced maths.
What maths is needed for data science?
Data science adds statistics (distributions, variation, sampling and testing), basic probability, and enough linear algebra and calculus to understand how models are fitted. You need to understand these ideas and apply them in code, not derive proofs by hand.
Can I learn data science if I was weak at maths in school?
Many people can, because the maths used is narrower and more concrete than school syllabi. Start with the analyst-level arithmetic below, and judge by whether the worked examples make sense after practice rather than by old marks.
Pankit Kumar has 10 years in Data Science & AI, building and shipping production systems in regulated pharma and clinical environments. He is a freelance trainer at Boston Institute of Analytics, AnalytixLabs and Scaler, and has taught this material to thousands of working professionals.
This article is part of our Data Science programme — 6 months. From data foundations to machine learning, deep learning and deployment.
Explore Data Science