🚧 Under construction — VoTechWorks is being built. A free tech program — complimentary, as our commitment to get America working.
voTechWorksGrade 13 · a vocational technology learning center, by urbanicity
newSchoolWorks.com › VoTechWorks › Technology & Design › Data Science & Analytics › Statistics for Data Science & Analytics › Lesson 4
TEC-DATA85-02 · Lesson 4 · 12 clock hours · demo

Common Probability Distributions

Objective. Students identify when to use normal, binomial, and Poisson distributions and calculate probabilities and quantiles using tables and Python's scipy.stats.

⚠ Pending professional review

This lesson, its worked examples and its practice questions has not yet been verified by an industry-certified professional or by a certification or approval body. It is a study draft and may contain errors. Do not use it as instructions for work on a job site or on live equipment. Always follow your instructor, your supervising professional, and current official references and regulations.

VoTechWorks program approval and accreditation are still in progress. Credentials are issued only by the certifying bodies named in each program, after their own exams.

Why Probability Distributions Matter in Data Science

When you analyze real-world data—server logs, quality-control records, delivery times—you rarely know the exact outcome of any single event. Probability distributions give you a mathematical model of how likely each possible outcome is. Choosing the right distribution lets you make predictions, set thresholds, and communicate uncertainty with confidence. Three distributions appear constantly in analytics work: the normal, the binomial, and the Poisson.

---

The Normal Distribution

The normal distribution (also called the Gaussian distribution) describes continuous measurements that cluster symmetrically around a mean. Examples include heights, measurement errors, and delivery times when no hard floor exists.

Two parameters fully define it:

The 68-95-99.7 rule (empirical rule) summarizes how data fall around the mean:

To find probabilities, you convert a raw value x to a z-score: `z = (x − μ) / σ`. You then look up the cumulative probability in a z-table or use Python.

In `scipy.stats`, the normal distribution is `scipy.stats.norm(loc=μ, scale=σ)`. Use `.pdf()` for the probability density, `.cdf()` for cumulative probability, and `.ppf()` for quantiles (inverse of CDF).

When to use it: Continuous data, symmetric, no hard boundaries—test scores, machine part dimensions, shipping weights.

---

The Binomial Distribution

The binomial distribution counts the number of successes in a fixed number of independent trials when each trial has exactly two outcomes (success or failure) and the probability of success is constant.

Two parameters define it:

The mean is `μ = n × p` and the standard deviation is `σ = √(n × p × (1 − p))`.

The distribution is discrete: outcomes are whole numbers from 0 to n.

In `scipy.stats`, use `scipy.stats.binom(n, p)`. Use `.pmf(k)` for the probability of exactly k successes, `.cdf(k)` for the probability of k or fewer successes.

When to use it: Quality control (defective units in a batch), click-through rates (clicks vs. no-clicks), survey responses (agree vs. disagree). Key check: fixed n, independent trials, constant p.

---

The Poisson Distribution

The Poisson distribution counts the number of events occurring in a fixed interval of time or space when events are independent and occur at a known average rate.

One parameter defines it:

For a Poisson distribution, the mean and variance are both equal to λ, so the standard deviation is `σ = √λ`.

The distribution is discrete: outcomes are non-negative integers.

In `scipy.stats`, use `scipy.stats.poisson(mu=λ)`. Use `.pmf(k)` for exactly k events, `.cdf(k)` for k or fewer.

When to use it: Server error counts per hour, customer arrivals per minute, defects per square meter of fabric. Key check: events are rare relative to opportunities, independent, and the rate λ is stable.

---

Choosing the Right Distribution

| Scenario | Data type | Distribution |

|---|---|---|

| Delivery time in hours | Continuous, symmetric | Normal |

| Number of defective items in a batch of 50 | Discrete, fixed n, constant p | Binomial |

| Number of support tickets per hour | Discrete, count per interval | Poisson |

A useful decision path: Is the variable continuous or discrete? If continuous and roughly symmetric, consider normal. If discrete and you have a fixed number of trials with a success probability, use binomial. If discrete and you are counting events per interval with no fixed upper limit, use Poisson.

---

Using Python's scipy.stats

All three distributions follow the same interface pattern in `scipy.stats`:

```python

from scipy import stats

import numpy as np

import matplotlib.pyplot as plt

print(stats.norm.cdf(75, loc=70, scale=5))

print(stats.binom.pmf(3, n=10, p=0.2))

print(stats.poisson.cdf(4, mu=2))

```

Annotate your plots with `plt.axvline()` for the mean and `plt.title()` for parameters so readers can interpret them without guessing.

---

Data Accuracy and Integrity

Probability calculations are only as valid as the assumptions behind them. Before applying any distribution, verify that your data meet the conditions: independence of observations, stable rate or probability, and appropriate measurement scale. Using the wrong distribution—or trusting corrupted input data—can produce predictions that mislead business decisions. Always inspect your data for outliers, missing values, and recording errors before fitting a distribution. Document every assumption in your notebook so reviewers can audit your reasoning.

---

Reference Materials

OpenIntro Statistics Chapter 4 covers all three distributions with detailed derivations. Use the z-table handout for normal probabilities when working without Python. Use the binomial table handout for small n problems. Practice computing results both by hand and in Python so you can catch coding errors by comparing against table values.

Key terms10

Probability distributionA mathematical function that describes the likelihood of each possible outcome for a random variable.
Normal distributionA continuous, symmetric, bell-shaped distribution fully described by its mean (μ) and standard deviation (σ); follows the 68-95-99.7 empirical rule.
Binomial distributionA discrete distribution counting the number of successes in n independent trials, each with a constant probability of success p.
Poisson distributionA discrete distribution counting the number of events occurring in a fixed interval at a constant average rate λ, where events are independent.
z-scoreA standardized value calculated as (x − μ) / σ that expresses how many standard deviations a data point is from the mean.
Cumulative distribution function (CDF)A function that gives the probability that a random variable takes a value less than or equal to a specified value; implemented as .cdf() in scipy.stats.
Probability mass function (PMF)For a discrete distribution, the function that gives the probability of a random variable equaling exactly a specified value; implemented as .pmf() in scipy.stats.
Lambda (λ)The single parameter of the Poisson distribution representing the average number of events per interval; also equals the distribution's mean and variance.
Empirical ruleThe observation that for a normal distribution approximately 68%, 95%, and 99.7% of values fall within one, two, and three standard deviations of the mean, respectively.
Quantile (ppf)The value below which a given proportion of data falls; the inverse of the CDF, accessed in scipy.stats as .ppf().

Worked examples4

1. A warehouse records that package delivery times are normally distributed with a mean of 48 hours and a standard deviation of 6 hours. What is the probability that a randomly selected package is delivered in fewer than 42 hours?
  1. Identify the distribution: delivery time is continuous and approximately symmetric, so use the normal distribution with μ = 48, σ = 6.
  2. Convert 42 hours to a z-score: z = (42 − 48) / 6 = −6 / 6 = −1.00.
  3. Look up z = −1.00 in the z-table (or use scipy.stats.norm.cdf(42, loc=48, scale=6)). The cumulative probability for z = −1.00 is approximately 0.1587.
  4. Interpret: there is about a 15.87% probability that a package is delivered in fewer than 42 hours.
Answer: P(X < 42) ≈ 0.1587, or about 15.9%.
2. A factory produces circuit boards and 8% of boards are defective on average. A quality inspector randomly selects 15 boards. What is the probability that exactly 2 are defective?
  1. Identify the distribution: fixed number of trials (n = 15), two outcomes per trial (defective or not), constant probability p = 0.08, independent trials — use the binomial distribution.
  2. State parameters: n = 15, p = 0.08, k = 2.
  3. Apply the binomial PMF formula: P(X = k) = C(n, k) × p^k × (1−p)^(n−k). C(15, 2) = 15! / (2! × 13!) = 105.
  4. Calculate: 105 × (0.08)^2 × (0.92)^13 = 105 × 0.0064 × 0.3677 ≈ 105 × 0.002353 ≈ 0.2471.
  5. Verify in Python: scipy.stats.binom.pmf(2, n=15, p=0.08) ≈ 0.2472 (small rounding difference from intermediate steps).
Answer: P(X = 2) ≈ 0.247, or about 24.7%.
3. A web server averages 3 errors per hour. Assuming errors occur independently at a constant rate, what is the probability of observing 5 or fewer errors in a given hour?
  1. Identify the distribution: counting discrete events (errors) in a fixed time interval with a constant average rate and independent occurrences — use the Poisson distribution with λ = 3.
  2. We need P(X ≤ 5) = P(X=0) + P(X=1) + P(X=2) + P(X=3) + P(X=4) + P(X=5). Use the Poisson PMF: P(X=k) = (e^−λ × λ^k) / k! with λ = 3.
  3. Calculate each term (e^−3 ≈ 0.04979): P(0)=0.04979, P(1)=0.14937, P(2)=0.22404, P(3)=0.22404, P(4)=0.16803, P(5)=0.10082.
  4. Sum: 0.04979 + 0.14937 + 0.22404 + 0.22404 + 0.16803 + 0.10082 ≈ 0.9161.
  5. Confirm in Python: scipy.stats.poisson.cdf(5, mu=3) ≈ 0.9161.
Answer: P(X ≤ 5) ≈ 0.916, or about 91.6%.
4. Call center wait times are normally distributed with a mean of 5 minutes and a standard deviation of 1.5 minutes. The manager wants to find the wait time below which 90% of calls are answered. What is that wait time?
  1. Identify the task: find a quantile (the 90th percentile) of a normal distribution with μ = 5, σ = 1.5.
  2. From the z-table, the z-score corresponding to a cumulative probability of 0.90 is approximately z = 1.282.
  3. Convert z back to the original scale: x = μ + z × σ = 5 + 1.282 × 1.5 = 5 + 1.923 = 6.923 minutes.
  4. Verify in Python: scipy.stats.norm.ppf(0.90, loc=5, scale=1.5) ≈ 6.92 minutes.
Answer: The 90th percentile wait time is approximately 6.92 minutes.

The math in this lesson2

Learners compute binomial and Poisson probabilities for count data.
S-MD.3S-ID.4
Brush up in the math halls at newSchoolWorks.com:
In class: Instructor demo: parameterize and plot normal, binomial, and Poisson distributions in Python using scipy.stats; annotate each plot with mean and standard deviation; students replicate with their own parameter choices. · Problem set (12 problems): given realistic scenarios (server error counts per hour, proportion of defective units, delivery time), students identify the appropriate distribution, state parameters, and compute the requested probability. · Empirical vs. theoretical comparison lab: students generate 1,000 random samples from a normal distribution in Python, plot the empirical histogram, overlay the theoretical PDF, and compute the percentage of values within one, two, and three standard deviations.
Materials: Jupyter Notebook, scipy.stats, numpy, matplotlib; z-table and binomial table handouts; OpenIntro Statistics Chapter 4
Check: Problem set graded by instructor; students must correctly identify distribution and compute probability for at least 9 of 12 problems; pass mark 75%.

Practice check8

Answer each question, then check it. Nothing is recorded; this is your own practice.

Data concepts and data types
1. A data analyst is modeling the number of customer complaints received per day at a call center. Complaints arrive independently and at a stable average rate. Which distribution is most appropriate?
Statistical methods and probability
2. For a binomial distribution with n = 20 and p = 0.3, what are the mean and standard deviation?
Programming and data manipulation
3. Which Python expression correctly computes the probability that a Poisson random variable with λ = 4 equals exactly 3?
Statistical methods and probability
4. Exam scores at a college are normally distributed with a mean of 72 and a standard deviation of 8. Approximately what percentage of students scored between 64 and 80?
Data concepts and data types
5. A quality analyst finds that 5% of parts in a production run are defective. If 10 parts are sampled independently, what distribution and parameters should be used to find the probability that exactly 1 part is defective?
Statistical methods and probability
6. Using the z-table, what is P(Z < 1.96) for the standard normal distribution?
Statistical methods and probability
7. A data science team generates 1,000 random samples from a normal distribution and finds that 942 values fall within three standard deviations of the mean. Which statement best describes this result?
Programming and data manipulation
8. Which scipy.stats method returns the value below which a given proportion of a distribution's probability falls (i.e., the inverse CDF)?
Record this lesson on my transcript. Sign in with your key and enrollment email to record lessons (enroll free if you have no key). This page stays open to read and practise.