cswork / libraryOpen practice workspace

Articles

Poisson Process Interview Questions: Arrival Times, Thinning, and Conditional Counts

Practise Poisson arrivals, waiting times, fixed-total counts and thinning. Work through unit conversions, conditional dependence and a Python simulation.

Poisson process interview questions become harder when the interviewer adds information. “How many arrivals occur in fifteen minutes?” and “Given eight arrivals in an hour, how many occurred in the first fifteen minutes?” share a timeline, but they do not share the same distribution.

Name the random variable, state the conditioning information, and keep the time units visible before writing a formula. Counts are Poisson under a homogeneous process, interarrival times are exponential, and fixed-total subwindow counts are binomial. Independent thinning preserves the process; retaining every second event does not.

This guide uses MIT probability materials and original numerical exercises, not reports of a particular employer's interview.

What does the process assumption actually say?

For a homogeneous Poisson process with rate lambda, counts over an interval of length t have mean lambda*t; disjoint increments are independent and their distributions depend on interval length. Start the process at N(0)=0 and distinguish the count N(t) from an arrival epoch or an interarrival gap.

MIT's Poisson Process I lecture presents the count and interarrival descriptions. These are model assumptions for the problem, not conclusions that follow because a dashboard displays an average event rate.

In our original example, service requests arrive at four per hour. One fifteen-minute window is a quarter hour, so its expected count is one. Using lambda=4 and t=15 without converting minutes would accidentally predict sixty arrivals.

Do not interpret four per hour as exactly one arrival every fifteen minutes. The expected rate does not make gaps deterministic, and an interval with no arrivals is fully compatible with this model. If requests cluster after notifications or traffic varies by time of day, explain which homogeneous-process assumption might fail before applying the formulas to real data.

Count arrivals and wait for arrivals on the same timeline

For the fifteen-minute window, N(0.25) is Poisson with parameter one. The probability of no arrivals is exp(-1), approximately 0.3679. Exactly two arrivals has probability exp(-1)/2, approximately 0.1839. At least two has probability 1 - 2*exp(-1), approximately 0.2642.

Let W be the time from the start until the first arrival. Its survival probability over fifteen minutes is the same no-arrival probability: P(W>0.25)=P(N(0.25)=0). That equality is a useful way to derive the waiting answer rather than memorize unrelated formulas.

The SciPy Poisson documentation defines its count parameter and probability mass function. For waiting-time simulation, NumPy's exponential generator takes a scale, equal to the reciprocal of the rate. At four per hour, that scale is a quarter hour.

Interview quantityDistribution or eventValue in this exercise
Count in fifteen minutesPoisson with mean 1Expected count 1
Wait to first arrivalExponential rate 4/hourExpected wait 15 minutes
Third arrival epochSum of three gapsExpected epoch 45 minutes
At least two by fifteen minutesCount at least 2Probability about 0.2642

The third arrival epoch is not exponentially distributed merely because each gap is exponential. It is a sum of three independent exponential gaps, with an Erlang distribution. For a probability involving the third arrival, translate S3 <= t into N(t) >= 3; both describe the same event.

Does an already long wait make an arrival due?

Assume the homogeneous model is still valid and no arrival occurred for ten minutes. The exponential memoryless property says the additional wait has the same distribution as a fresh wait. The expected additional wait is still fifteen minutes, not five.

Here is the original calculation for waiting another five minutes:

P(W>15 minutes | W>10 minutes) = exp(-4*5/60), approximately 0.7165.

The denominator in the conditional calculation removes the first ten minutes of survival. It does not say that ten minutes have never elapsed, nor that the total eventual waiting time now has mean fifteen minutes. Conditional on that survival event, total elapsed-plus-future waiting has expected length twenty-five minutes.

MIT's Poisson Process II lecture discusses process properties and random incidence. Keep the exact observation mechanism in your answer: a randomly chosen time, a chosen arrival, and a selected unusually long gap are different sampling schemes.

For real service traffic, a long wait might provide evidence that the rate changed or the source went offline. Memorylessness is a conditional answer under a specified model; it is not an operational rule to ignore monitoring evidence.

What changes when the hour's total is known?

Now the interviewer tells you that exactly eight requests arrived in an hour. Define K as the number in the first fifteen minutes. Under the homogeneous-process assumption, the eight arrival locations before sorting are distributed like independent uniform draws in that hour. Therefore each has probability one quarter of falling in the first window.

So K | N(1)=8 is Binomial(8, 0.25), with mean two and variance 8*0.25*0.75 = 1.5. Its zero-count probability is 0.75**8, approximately 0.1001. Its probability of exactly two is about 0.3115.

These original values differ from the unconditional first-window Poisson distribution with mean one. They also differ from casually replacing the rate with eight per hour and using a Poisson count. Conditioning gives a fixed total to allocate; it does not create a new unconstrained Poisson experiment.

MIT's Discrete Stochastic Processes chapter gives the conditional arrival/order-statistic result. The SciPy binomial documentation supplies the implementation used to check our calculations.

Why are conditional counts no longer independent?

Split that hour into four equal windows. Before conditioning on the total, their increments are independent Poisson counts. After conditioning on exactly eight arrivals, their counts must sum to eight. They follow a multinomial allocation, so one window receiving more leaves fewer available for the others.

For our equal-window exercise, each count has conditional mean two. The conditional covariance of two different window counts is -8*(0.25)*(0.25) = -0.5. If the first window contains all eight requests, every other window contains zero. That limiting example explains the dependence without matrix notation.

The conditional uniform statement also needs careful wording. The sorted first, second, and later arrival times are order statistics; they are not independent uniform variables. The first is constrained to precede the second.

As an original follow-up, the expected earliest time given eight arrivals in sixty minutes is 60/(8+1), about 6.67 minutes. A randomly selected one of the eight arrival locations has expected time thirty minutes. Earliest arrival and uniformly selected arrival answer different questions.

Which thinning rule preserves a Poisson process?

Suppose every arrival is retained independently with probability 0.3, independently of arrival timing. MIT's Poisson Process II slides explain independent splitting. The retained stream has rate 4*0.3 = 1.2 per hour; the rejected stream has rate 2.8 per hour.

The retained stream's expected fifteen-minute count is 0.3, and its no-arrival probability is exp(-0.3), about 0.7408. Over an hour, its expected count is 1.2. A fixed retention probability reduces the rate while preserving the stated process structure.

Under the independent-marking model, retained and rejected streams are independent unconditionally. Given a fixed original total of eight, the retained count is Binomial(8, 0.3), and the rejected count is eight minus that count. They are then dependent. The conditioning distinction survives the thinning operation.

Do not infer independence because an engineer says “we sample thirty percent.” A quota, shared random decision for an entire batch, or admission rule depending on queue occupancy can couple selection across events. Ask how each event is selected before writing the reduced rate.

Why is keeping every second arrival a counterexample?

Imagine a deterministic rule that retains events numbered 2, 4, 6, and so on. The long-run retained rate is two per hour, but the gaps between retained arrivals are sums of two original exponential gaps. They are Erlang with shape two, not exponential.

Our original calculation makes the difference visible. Starting immediately after a retained arrival, the probability of waiting more than fifteen minutes for the next retained arrival is the probability of fewer than two original arrivals: exp(-1)*(1+1), about 0.7358.

A genuine rate-two Poisson stream would instead have survival probability exp(-2*0.25), about 0.6065. Matching the long-run rate does not match the waiting distribution. The every-second rule depends on event rank, so it is not independent Bernoulli thinning.

Another useful counterexample is keeping an arrival only when the previous arrival was sufficiently long ago. That rule changes short-gap behavior directly. A candidate who names the dependence mechanism gives a stronger answer than one who simply says the data “doesn't look random.”

Check the numbers with a small Python experiment

The following original calculation and conditional simulation ran locally with NumPy and SciPy. It checks arithmetic and illustrates one conditional model; it does not prove that production requests are Poisson.

import numpy as np
from scipy.stats import poisson, binom

rate_per_hour = 4.0
window_hours = 15 / 60
mu = rate_per_hour * window_hours
assert np.isclose(poisson.pmf(0, mu), np.exp(-1))
assert np.isclose(poisson.sf(1, mu), 1 - 2*np.exp(-1))

conditional_zero = binom.pmf(0, 8, 0.25)
rng = np.random.default_rng(41)
times = rng.uniform(0, 60, size=(100_000, 8))
first_window = (times <= 15).sum(axis=1)
print(conditional_zero, first_window.mean())
print(times.min(axis=1).mean())

The exact conditional zero probability is approximately 0.1001; the simulated conditional mean is near two, and the simulated earliest time is near 6.67 minutes. Sampling eight locations fixes the total on every trial. Drawing four independent Poisson window counts would simulate the unconditional experiment instead.

For a simulation of an unconditioned arrival path, accumulate exponential gaps until the horizon is exceeded, or sample a Poisson total and then uniform locations conditional on that total. Do not include the overshooting arrival in the count. If you preallocate a fixed number of gaps, check that it was enough to pass the horizon rather than silently truncating a busy path.

Practise naming the information before the distribution

QuestionUseful follow-up
State the Mean and Variance of a Poisson CountConvert the rate and window to the same units
Compare Normal and Poisson Distributions in StatisticsSeparate discrete counts from continuous quantities
Compute Poisson supply–demand match probabilityState independence before combining counts
Compute probabilities and expectations in random processesTranslate a waiting event into a count event
Calculate Particle Survival Probability After Time tExplain exponential survival and conditioning

Rehearse the four-per-hour scenario without notes. Then add “exactly eight in the hour,” “retain thirty percent independently,” and “keep every second event.” Each change should produce a different, justified answer. For exposure-adjusted count prediction rather than arrival timing, use the separate Poisson regression guide.

Return to the Poisson mean and variance question and explain the entire conditional follow-up aloud. A useful answer makes the model, observed information, units, and distribution fit together.

Sources and Further Reading

Research checked October 4, 2026. Original probabilities and synthetic simulation are preparation exercises; historical MIT teaching materials support mathematical results, not current hiring-process claims.