
If you are not a paid member on Medium, I make my stories available for free: Friends link
The Poisson and Binomial distributions are two fundamental discrete probability distributions used in data science and statistics. While both involve counting occurrences or successes, they differ in their underlying assumptions and use cases.
If you’re like me, you might sometimes question whether to analyze a problem using the Poisson or Binomial distribution – especially if you haven’t worked with them recently.
To clarify this, let’s look into the characteristics of each distribution, when to use them, and how to distinguish between the two.
Table of Contents
- Poisson Distribution
- Binomial Distribution
- Poisson vs. Binomial: What’s the Difference?
- TL;DR
Poisson Distribution: A Soccer Example
Before diving into the technicalities, let me give you a relatable example of the Poisson distribution. If you’re a soccer fan, this will resonate with you. If not… I’m sorry.

Yellow Cards in a Soccer Game (Poisson)
The Poisson distribution is particularly suited for modeling situations where events occur randomly, independently, and rarely. The number of yellow cards issued in a soccer game is an excellent example.
Model the number of yellow cards given during a soccer game:
- The Event: A yellow card is issued to a player.
- Many Opportunities: A soccer game has 90 minutes of playtime. Every minute (or play sequence) represents an independent opportunity for a foul or violation that could lead to a yellow card.
- Independence: Whether a player receives a yellow card in the 15th minute doesn’t impact the likelihood of another player receiving one in the 50th minute. The decisions are based on individual fouls.
- Rare Event: Yellow cards are not issued every minute (unless it’s the El Clasico in 2012 where Sergio Ramos and Pepe are going off). They’re relatively rare over the course of a game.
- Fixed Interval: The 90 minutes of play define a fixed period.
Applying the Poisson Distribution:
If the average number of yellow cards per game (λ) is 2, you could use the Poisson formula to calculate the probability of exactly 3 yellow cards in a game.
Since we got the example out of the way early, let’s go into the technicalities! (It won’t be too boring)
Poisson Distribution (In Depth)
The Poisson distribution models the number of events occurring in a fixed interval of time, space, or other dimensions where the probability of a single event is very small but the number of opportunities is large.

Conditions of a Poisson Distribution
- Events occur independently: Each event is independent of others. The occurrence of one event doesn’t influence or depend on the occurrence of another.
- The rate of events is constant: The average number of events per interval remains the same throughout the trial.
- Two or more events cannot occur simultaneously: Within a very small interval, it’s assumed that at most one event can occur.
- Opportunities for event occurence: Poisson assumes a potentially infinite (or very large) number of opportunities for the event to happen.
Comparing to the Soccer Game
- Events occur independently: Whether a player receives a yellow card in the 15th minute doesn’t impact the likelihood of another player receiving one in the 50th minute. The decisions are based on individual fouls.
- The rate of events is constant: Suppose, on average, 2 yellow cards are issued per game. This average rate stays constant regardless of whether the game is in the first 45 minutes or the second 45 minutes.
- Two or more events cannot occur simultaneously: If one player receives a yellow card, another can’t be receiving a yellow card at the literal exact same time. The referee will card one player and then proceed to card the another if there needs to be a case when more than one player is involved in a large foul
- Opportunities for event occurence: The total game provides many independent opportunities for a player to receive a yellow card (every minute or play sequence).
See how they align! It’s a lot easier to think about these distributions from a non-pure mathematical standpoint!
Key Characteristics of Poisson Distribution
For a Poisson Distribution, these are all the key characteristics that you really need to think about (I say this very carefully):
- Parameter: λ (average number of events per interval)
- Expectation: E[X] = λ
- Variance: Var[X] = λ
- Probability Mass Function for Poisson:

Question: Why Are Mean and Variance Equal?
The Poisson distribution has a unique property where the mean and variance are both equal to λ. This is due to how the distribution is derived from the independence of events and the constant rate assumption.
It’s hard to really see why these would be equal from just an explanation, so please bare with me..! This will be the one and only time that I will show a whole bunch of equations to explain WHY the mean and variance are equal in a Poisson Distribution!
Calculation of Expectation: E(X)
Remember that the mean of a random variable is its expected value. For a discrete random variable, the expectation is given as:

For the Poisson Distribution, we can use the pmf in order to get:

With this, we can do some factorial substitutions, taylor series expansions to get E[X] = λ:

Calculation of Variance: Var(X)
Remember that for a discrete random variable, the variance is given as:

To compute E[X²] we know that:

We can us the same technique for variance as we did for expectation to get E[X²] = λ + λ². Thus, we can get Var[X] = λ:

Okay! Now you can see why the expectation and the variance are equal in a Poisson. Phew… I promise now, no more long lines of mathematical equations (sorta)!
Back to our example
Since we now know the probabilty mass function, expectation, and variance… How can we solve for our original problem statement: If the average number of yellow cards per game (λ) is 2, calculate the probability of exactly 3 yellow cards in a game.
I would always start by rewriting this into a poisson notation:

Then we can use our PMF equation to solve for the probability of exactly 3 yellow cards in a game.

So… now we know! If the average number of yellow cards per game is 2, the probability of getting exactly 3 yellow cards around 18.04%!

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import poisson
# Poisson Example: Probability of exactly 3 yellow cards in a game
lambda_value = 2 # Average number of yellow cards per game
k = 3 # Number of yellow cards to calculate probability for
# Calculating the probability using Pois.
poisson_prob = poisson.pmf(k, lambda_value)
# Visualizing Poisson Distribution
x_poisson = np.arange(0, 10) # Values from 0 to 10 (possible number of events that could occur)
y_poisson = poisson.pmf(x_poisson, lambda_value)
'''Result : 0.18044704431548358'''
Binomial Distribution: A Soccer Example
Let’s now switch to another scenario – penalty shootouts in soccer.

Successful Penalties in a Shootout (Binomial)
The binomial distribution is a perfect fit for modeling the number of successful penalty kicks in a penalty shootout, especially when the total number of kicks is fixed. Let’s say you are playing soccer with friends and you want to model how many penalty kicks result in a goal if you take 10 penalties.
Why This Fits a Binomial Distribution:
The binomial distribution is defined by two parameters:
- Fixed number of trials (n): In this case, n=10 (the total number of penalty kicks).
- Constant probability of success in a single trial (p). The probability of success (p) is the same for every kick. (There are some questions you may have about this like what if the player gets tired or are playing in a cold, rainy night in Stoke. You are right, those conditions might violate this)
- Independence: The outcome of one penalty kick (goal or miss) does not affect the outcome of the next kick.
- Only two possible outcomes per trial: Each kick results in either a goal (success) or no goal (failure).
Applying the Binomial Distribution:
If the probability of success is 0.5, you could use the Binomial formula to calculate the probability of scoring 7 goals in a game.
If you made it this far into my article, I would appreciate it if you could leave few claps!
Binomial Distribution (In-Depth)
As you may have noticed from the penalty example, the Binomial distribution models the number of successes in a fixed number of independent Bernoulli trials. Each trial must have these underlying conditions:
- Fixed Number of Trials (n).
- A constant probability of success (p).
- Independence: The outcome of one trial must not influence the outcome of any other trial. Each trial is independent.
- Two possible outcomes: Success or failure (1 or 0).

Key Characteristics:
- Parameters: n (number of trials), p(probability of success).
- Expectation: E[X] = n ⋅ p
- Variance: Var[X] =n ⋅ p ⋅ (1 – p)
- Probability Mass Function for Binomial:


So you can say that the Binomial distribution is used when you’re counting successes across a fixed number of trials.
What if the conditions are violated?
However, if the conditions are violated, the binomial distribution may not apply. For example, if we take the penalty example more broadly
- If p changes between trials (e.g., the player gets tired or under pressure, reducing their success rate).
- If the trials are not independent (e.g., missing one kick demoralizes the player, reducing their chances of scoring the next one).
- If the number of trials (n) is not fixed or well-defined. (e.g., the shootout in a tournament game might go on for 10, 20, 30… kicks)
However, if you are doing a set number of kicks with your friends at home, these conditions are probably not violated.
If you are still curious as to how the Binomial Distribution works, please check out my website and play around with the parameters!

# Binomial Example: Probability of scoring 7 out of 10 penalties
n = 10 # Number of penalty kicks
p = 0.5 # Probability of scoring a goal on a single kick
k_binom = 7 # Number of successful goals to calculate probability for
# Calculating the probability using Binom.
binom_prob = binom.pmf(k_binom, n, p)
# Visualizing Binomial Distribution
x_binom = np.arange(0, n + 1) # Values from 0 to n (represent all possible numbers of successes)
y_binom = binom.pmf(x_binom, n, p)
'''Result : 0.11718749999999999'''
4. Poisson vs. Binomial: What’s the Difference?
As you can see, the binomial distribution is used when we have a fixed number of trials. This is a very important distinction to have when determining which distribution to use. However, there is one edge case (when the number of trials is very large and the probability of success is very small).
5. Approximating Binomial Distribution with Poisson
The Poisson Distribution can approximate the Binomial Distribution under specific conditions:
- n (number of trials) is very large.
- p (probability of success) is very small.
- The product n⋅p=λ (the mean) remains constant.
Why These Conditions?
The Poisson distribution models rare events, so a small p ensures that each individual success is unlikely. With a large n, there are many opportunities for these rare events to occur. This setup mimics a Poisson process.
Imagine in our soccer example
Let’s say both teams need to take 100 penalties for some reason. But the ground is covered in snow, so it’s hard to kick the ball. The probability of scoring any single kick thus becomes around 2% (p = 0.02). Surprisingly a Poisson Distribution approximates this Binomial Distribution very well.
The Binomial distribution for this scenario is well-approximated by a Poisson distribution with λ = n ⋅ p = 2
TL;DR
To determine whether to use the Poisson or Binomial distribution, ask yourself:
Are there fixed trials?
- Yes → Binomial.
- No → Poisson.
Is the probability of success small with many trials?
- Yes → Consider Poisson as an approximation.
By understanding these distinctions, you’ll feel confident in choosing the correct distribution for any problem you encounter. Happy reading!
P.S.
Talking about Probability Distributions are a series that I am currently working on! If you are interested, please check out my other articles!
Probability Distributions: Comparing Exponential and Poisson Distributions
Connect with me!
If you made it this far, I assume you are an aspiring Data scientist, a teacher in the data science field, a professional looking to hone your craft, or just an avid learner in a different field! I would love to have a chat with you on anything!
For those wondering about my images: Unless otherwise noted, all images are by the author (myself). Any other images are copyright-free and references provided.