Contents/ Part X · Sampling & Data Collection/ Chapter 64

Non-Probability Sampling Methods

Convenience, voluntary response, quota, and snowball sampling are fast and inexpensive, which is why they are everywhere. But their selection probabilities are unknown, so they bake in a bias that no amount of extra data can remove.

⏱️ ~16 min read
🐍 Notebook included
📊 Chapter 64

Probability sampling is the gold standard, but it needs a frame, a budget, and cooperation. When those are missing, researchers reach for non-probability sampling, where selection is driven by convenience or judgment, not chance. The price is a loss of the one property that makes inference honest.

P(in) = ?
In non-probability sampling, the chance that a unit is selected is unknown and unequal. The sample can still be useful for exploration, but it carries selection bias, a systematic error, and no standard error or confidence interval computed from it can be trusted.
!
Bias, not noise

The deep problem is that bias is systematic: it does not shrink as the sample grows. The notebook shows a convenience sample over-estimating app usage by about +3.5 hours whether n is 100 or 20,000. More data sharpens the wrong answer.

1

Convenience Sampling

Convenience sampling takes whoever is easiest to reach, mall shoppers, online volunteers, your own social feed. It is the cheapest method and the most biased, because "easy to reach" is rarely the same as "representative".

Convenience sampling reaches only one corner of the population whole population (mean usage 13.6 h) reachable young, online +3.5 h bias same at n=100 and n=20,000

In the notebook the reachable pool has a mean age of 31 against the population's 47, and since younger users use the app more, every convenience sample over-estimates usage by about 3 to 4 hours. The bias is identical at every sample size, the hallmark of a systematic error.

2

Voluntary Response Sampling

A voluntary response sample is self-selected: a website pop-up, a call-in poll, a product review. The people who bother to respond are precisely those with the strongest feelings, so the extremes are wildly over-represented.

Population is moderate; volunteers pile at the extremes satisfaction 0 (angry) → 10 (delighted) population (mean 6.5) furious respond delighted respond moderates stay silent

The notebook makes it concrete: the true mean satisfaction is 6.48, but voluntary responders average 7.82, and the share of extreme ratings (0–2 or 9–10) jumps from 9% in the population to 31% among volunteers. This is why online star ratings look so polarized: the lukewarm middle never clicks "submit".

3

Quota & Judgment Sampling

Quota sampling is the most sophisticated of the bunch: fix the proportions of visible traits (age, gender, region) to match the population, then fill each quota however is convenient. Judgment (or purposive) sampling goes further and hand-picks "typical" cases. Both fix the margins but leave the interior exposed.

Right margins, wrong middle age 18-30: 25%quota met ✓ 31-45: 30%quota met ✓ 46-60: 25%quota met ✓ 60+: 20%quota met ✓ but inside each quota, the most willing are over-picked → residual bias +2.5 h

Quota sampling helps: the bias drops from about +3.5 hours (pure convenience) to +2.5 hours in the notebook. But it does not vanish, because quotas only control the variables you quota on. Any lurking variable, here, willingness to respond, still skews the result inside every cell. Better than convenience, still not representative.

4

Snowball Sampling

For hidden or hard-to-find populations, rare patients, undocumented workers, niche hobbyists, no frame exists. Snowball sampling asks each respondent to refer others, growing the sample through social links. It reaches the unreachable, but it over-samples the well-connected.

Referrals favor the highly connected (who differ from the isolated) hub isolated, never referred sampled mean connections 33 vs population 24 → +1.3 h bias

In the notebook, snowball respondents average 33 connections against the population's 24, and because connectedness correlates with usage, the estimate runs +1.3 hours high. Snowball sampling is a valuable last resort for invisible populations, but it tilts toward the social core and cannot claim to be representative.

5

Selection Bias in Machine Learning & AI

Almost every large AI dataset is a giant non-probability sample. Web text, scraped images, app logs, and volunteer labels are all convenience or voluntary-response data, and they carry exactly the biases of this chapter, at enormous scale.

Method (this chapter)In ML / AI it appears asThe risk
Convenience samplingWeb-scraped training dataover-represents whoever posts online; under-represents everyone else
Voluntary responseUser-submitted reviews / labelsextreme, motivated users dominate the signal
Quota samplingBalanced-by-attribute datasetsbalanced margins, hidden within-group bias remains
Snowball samplingReferral / network-crawled dataover-samples hubs, misses the periphery
Post-stratificationReweighting / importance weightingcorrects known imbalances, not unknown ones
🤖
Why this matters for AI research

A model trained on a biased sample learns the bias as if it were truth, and at web scale the bias is enormous and invisible. The crucial point from the notebook: more data does not fix selection bias, it entrenches it, which is why a bigger scrape can make a model more confidently skewed. The partial remedy is the same one statisticians use: post-stratification weighting. In the notebook, reweighting a convenience sample by its true age composition pulls the estimate from a biased 17.0 back to 14.0, against a truth of 13.6. Weighting and its cousin importance sampling can correct known imbalances, but they are powerless against the imbalances you never measured. The only real cure is representative collection.

🐍

Watch the bias appear in Python

The companion notebook builds a 200,000-person population and runs convenience, voluntary-response, quota, and snowball sampling, measuring the bias each one introduces, showing it survives any sample size, and contrasting it with an unbiased simple random sample.

📓 View Notebook (code & outputs) ▶ Open in Colab ⬇ View / Download on GitHub

View opens the rendered notebook instantly (no setup). Open in Colab runs & edits it live in your browser. To run locally, install numpy and matplotlib and launch jupyter notebook.

🎓 Key Takeaways

  • Non-probability sampling uses unknown, unequal selection chances, so it carries selection bias and untrustworthy error bars.
  • Convenience over-samples the easy-to-reach (a constant +3.5 h bias here, at every n).
  • Voluntary response over-samples the extremes (extreme share 9% → 31%), inflating polarization.
  • Quota fixes the visible margins but leaves residual bias (+2.5 h); snowball reaches hidden groups but favors the well-connected.
  • In ML/AI: web-scraped and user-submitted data are giant non-probability samples; more data entrenches bias, and weighting fixes only the imbalances you can measure.
6

Practice Challenges

Five short challenges, beginner to intermediate. Try them with NumPy before checking the solutions.

1

Convenience bias is constant

Sample only the young, reachable half of a population at n = 100, 1,000, 10,000 and show the bias does not shrink.

Hint: the offset from the truth stays roughly the same at every n.
2

Voluntary response over-samples extremes

On a 0–10 satisfaction scale, let only the extremes respond and compare the extreme share in the population to the responders.

Hint: use a U-shaped response probability.
3

Quota reduces but does not remove bias

Match age-band proportions but pick high-value people within each band. Show the bias is smaller than pure convenience, but not zero.

Hint: quota controls only the variables you quota on.
4

Snowball over-samples the well-connected

With value rising in social connectedness, sample with probability proportional to connections and show the upward bias.

Hint: p = connections / connections.sum().
5

Fixing it with weights

Reweight a convenience sample so each age band counts according to its true population share, and recover the mean (post-stratification).

Hint: weight = population share / sample share, per band.
Check your work

A fully-worked solutions notebook walks through all five challenges, each verified in code. Try them yourself first, then compare.

📓 View Solutions ▶ Open Solutions in Colab ⬇ View / Download on GitHub
7

Quiz: Test Yourself

Eight quick questions on non-probability sampling. Answer them, hit Check Answers, and keep refining until you score 100%. Your progress is saved, so you can hop back to the chapter and return anytime.

🧭
Up next

You now know how to sample well and how sampling goes wrong. The Determining Sample Size chapter answers the practical question every study faces: how many observations do you actually need? We derive the sample-size formulas for a mean and a proportion.