Калькулятор размера выборки
Рассчитайте необходимый размер выборки для опросов и исследований.
Об этом инструменте
Калькулятор размера выборки подсказывает, сколько респондентов нужно опросить, чтобы результатам можно было доверять. Он решает распространённую в исследованиях проблему: при слишком малом числе ответов выводы статистически ненадёжны, а при слишком большом вы тратите время и бюджет впустую.
Чтобы воспользоваться им, задайте желаемый уровень доверия, допустимую погрешность, общий размер генеральной совокупности и ожидаемое распределение ответов; инструмент вернёт необходимый размер выборки. Он удобен для маркетинговых опросов, академических исследований, планирования A/B-тестов и опросов общественного мнения.
Помните, что более высокий уровень доверия или меньшая погрешность всегда требуют большей выборки. Все вычисления выполняются локально в вашем браузере, поэтому введённые данные никогда не покидают ваше устройство.
Часто задаваемые вопросы
Реализация кода
import math
# Z-values for common confidence levels
Z_VALUES = {80: 1.282, 85: 1.440, 90: 1.645, 95: 1.960, 99: 2.576}
def sample_size(confidence: int, margin_of_error: float, population: int = None) -> int:
"""
Calculate required sample size.
confidence: confidence level (80, 85, 90, 95, or 99)
margin_of_error: as a decimal (e.g. 0.05 for 5%)
population: total population size (None for infinite)
"""
z = Z_VALUES[confidence]
p = 0.5 # worst-case proportion
n = (z ** 2 * p * (1 - p)) / (margin_of_error ** 2)
if population is not None and population > 0:
n = n / (1 + (n - 1) / population)
return math.ceil(n)
# Examples
print(sample_size(95, 0.05)) # 385 (infinite population)
print(sample_size(95, 0.05, 1000)) # 278 (adjusted for N=1000)
print(sample_size(99, 0.03)) # 1842
print(sample_size(90, 0.05)) # 271
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.