Все материалы
Продуктовая аналитикаматериалстарт

Математическое ожидание: что это, формула и примеры

Математическое ожидание простыми словами: среднее, к которому результат сходится в долгую. Формула, пример на кубике, расчёт в SQL и Python, свойства и ловушки.

КейсПрактика2 октября 2026 г.16 мин

Менеджер спрашивает: «Сколько денег приносит одна регистрация с первой оплаты?» В базе 4 613 регистраций, три тарифа и 80% людей, которые не заплатили ничего. Ответ — одно число, 4,84 доллара: это оценка математического ожидания первой оплаты. Ниже — что это число означает, как его находят по формуле и в SQL, какими свойствами пользуются в расчётах и в каких случаях одного ожидания для решения мало.

Коротко

  • Математическое ожидание — среднее значение случайной величины «в долгую»: число, к которому приближается среднее арифметическое, когда опыт повторяют много раз.
  • Для дискретной величины каждое возможное значение умножают на его вероятность и складывают: E[X] = Σ xᵢ · pᵢ.
  • В учебной базе ожидаемая первая оплата с одной регистрации — 4,84 доллара: 19 · 0,1114 + 29 · 0,0642 + 39 · 0,0221. Обычное среднее по таблице даёт то же число.
  • Ожидание суммы всегда равно сумме ожиданий. Для произведения это верно, если величины независимы; у связанных величин E[XY] и E[X]·E[Y] обычно расходятся.
  • Ожидание не описывает типичный случай при скошенных данных и ничего не говорит о разбросе: на десяти пользователях среднее гуляет от 0 до 12,5 доллара.

Что такое математическое ожидание простыми словами

Математическое ожидание случайной величины — это её среднее значение, взвешенное по вероятностям. Проще: число, к которому сойдётся среднее арифметическое, если повторять один и тот же опыт очень много раз. Обозначают его E[X], от английского expectation, или M(X) — так чаще пишут в русскоязычных учебниках. В разговоре это «матожидание» или «мат. ожидание».

Чтобы найти математическое ожидание дискретной величины, перечислите все её возможные значения, умножьте каждое на его вероятность и сложите результаты.

Пример — игральный кубик. Значений шесть, от 1 до 6, у каждого вероятность 1/6. E[X] = (1 + 2 + 3 + 4 + 5 + 6) / 6 = 3,5. За один бросок 3,5 не выпадет никогда. Но если бросить кубик десять тысяч раз и разделить сумму очков на десять тысяч, получится число рядом с 3,5: в симуляции вышло 3,5055.

Считать так начали в задачах об игре в кости: сколько стоит шанс на выигрыш. Трактат Христиана Гюйгенса «О расчётах при игре в кости» (1657) Большая советская энциклопедия называет одним из первых исследований в области теории вероятностей.

Математическое ожидание дискретной величины
E[X] = x₁·p₁ + x₂·p₂ + … + xₙ·pₙ = Σ xᵢ·pᵢ

xᵢ — возможные значения, pᵢ — их вероятности, сумма всех pᵢ равна 1. Кубик: (1 + 2 + 3 + 4 + 5 + 6) · 1/6 = 3,5.

Как найти математическое ожидание на данных: выручка с одной регистрации

Перенесём формулу на рабочую задачу. В учебной базе симулятора SQL-аналитика — сервис «Маяк» с тремя тарифами: basic за 19 долларов в месяц, pro за 29 и team за 39. В таблице users 4 613 зарегистрированных, по строке на человека. В payments лежат оплаты, первая оплата пользователя помечена payment_type = 'first'.

Случайная величина X — сумма первой оплаты одного зарегистрированного пользователя. Возможных значений четыре: 0, если человек не оплатил, 19, 29 и 39. Вероятности возьмём как доли: сколько человек из 4 613 оказалось в каждой группе.

Запрос возвращает четыре строки. Не заплатили 3 701 человек, вероятность 0,8023. Тариф basic выбрали 514 человек, pro — 296, team — 102. Последний столбец — вклад в ожидание, «сумма × вероятность», посчитанный по неокруглённой доле. Сумма вкладов: 2,1171 + 1,8608 + 0,8623 = 4,8402. Одна регистрация в среднем приносит 4,84 доллара первой оплаты.

Посмотрите на вклады. Самый большой, 2,12 из 4,84, даёт самый дешёвый тариф: он берёт частотой. Дорогой team приносит меньше всех, потому что его выбирают двое из ста. В ожидании цена без вероятности ничего не значит.

Первая оплата на одного зарегистрированного: значения, вероятности, вклады
ТарифСумма xᵢ, $ПользователейВероятность pᵢВклад xᵢ·pᵢ
без оплаты03 7010,80230
basic195140,11142,1171
pro292960,06421,8608
team391020,02210,8623
Итого4 61314,8402
Вероятность каждого значения первой оплаты, %

Ожидание 4,84 доллара лежит между столбцами 0 и 19 — там, где нет ни одного возможного значения.

Вероятность, %
Распределение суммы первой оплаты и вклад каждого значения в ожидание
WITH per_user AS (
  SELECT
    u.user_id,
    COALESCE(p.plan, 'без оплаты') AS plan,
    COALESCE(p.amount, 0) AS first_amount
  FROM users u
  LEFT JOIN payments p
    ON p.user_id = u.user_id AND p.payment_type = 'first'
)
SELECT
  plan,
  first_amount,
  COUNT(*) AS users,
  ROUND(1.0 * COUNT(*) / SUM(COUNT(*)) OVER (), 4) AS probability,
  ROUND(first_amount * COUNT(*) / SUM(COUNT(*)) OVER (), 4) AS contribution
FROM per_user
GROUP BY plan, first_amount
ORDER BY first_amount;

Почему обычное среднее по таблице даёт то же число

Формулу Σ xᵢ·pᵢ не обязательно разворачивать руками. Когда вероятности — это доли в тех же данных, взвешенная сумма совпадает с обычным средним. Сложить 4 613 сумм и разделить на 4 613 — то же самое, что сгруппировать одинаковые суммы и умножить каждую на её долю.

Запрос ниже считает оба варианта рядом: в обоих столбцах 4,8402. Главное условие — одна строка на пользователя и нули у тех, кто не платил. Если усреднить только первые оплаты из payments, получится средняя первая оплата среди оплативших, 24,48 доллара. Это другая величина: в ней нет 3 701 нуля.

В Python то же самое: np.sum(values * probabilities) и mean() по развёрнутому массиву из 4 613 чисел печатают 4.8402 и 4.8402.

Две записи нужны для разных задач. Среднее удобно, когда данные уже лежат в таблице. Запись через вероятности нужна, когда данных ещё нет: вы меняете вероятность или сумму в формуле и смотрите, что станет с ожиданием. Так устроен расчёт скидки ниже.

Одно число двумя способами: сумма «значение × вероятность» и AVG
WITH per_user AS (
  SELECT u.user_id, COALESCE(p.amount, 0) AS first_amount
  FROM users u
  LEFT JOIN payments p
    ON p.user_id = u.user_id AND p.payment_type = 'first'
),
distribution AS (
  SELECT
    first_amount,
    1.0 * COUNT(*) / (SELECT COUNT(*) FROM per_user) AS probability
  FROM per_user
  GROUP BY first_amount
)
SELECT
  ROUND(SUM(first_amount * probability), 4) AS sum_value_x_probability,
  (SELECT ROUND(AVG(first_amount), 4) FROM per_user) AS plain_average
FROM distribution;
pythonPython: ожидание по формуле и как среднее по массиву
import numpy as np

values = np.array([0, 19, 29, 39])        # сумма первой оплаты, $
users = np.array([3701, 514, 296, 102])   # сколько пользователей с такой суммой

probabilities = users / users.sum()
expected = np.sum(values * probabilities)  # сумма «значение × вероятность»

per_user = np.repeat(values, users)        # 4 613 чисел, по одному на пользователя
print(round(expected, 4), round(per_user.mean(), 4))

Чем математическое ожидание отличается от среднего арифметического

Среднее арифметическое считают по данным, которые уже есть: сложили и разделили. Математическое ожидание — свойство самого распределения: каким было бы среднее по бесконечному числу повторов. Первое — оценка второго.

Ожидание кубика — ровно 3,5. Оно следует из устройства кубика и не зависит от того, бросали его или нет. Среднее по десяти броскам каждый раз новое: в той же симуляции первые десять бросков дали 3,0, следующие десять — 4,1.

Число 4,84 из учебной базы — тоже среднее по выборке: по 4 613 людям, которые зарегистрировались за три месяца. Как оценка ожидания для следующего такого же пользователя оно неточно. Стандартная ошибка — 0,15 доллара, 95%-й доверительный интервал — от 4,55 до 5,14. Интервал учитывает только случайность выборки. Систематический сдвиг он не видит: ниже показано, что из-за недавних регистраций само число 4,84 занижено.

То, что среднее с ростом выборки приближается к ожиданию, — содержание закона больших чисел. Он же объясняет, почему на маленькой выборке это приближение грубое. Как из стандартной ошибки получается интервал, разобрано в статье про доверительный интервал.

Математическое ожидание и среднее арифметическое
Математическое ожиданиеСреднее арифметическое
Что этопараметр распределениястатистика, посчитанная по выборке
Из чего считаютиз значений и их вероятностейиз наблюдений
Меняется от выборки к выборкенетда
ОбозначениеE[X], M(X), μx̄
Кубик3,53,0 и 4,1 в двух сериях по десять бросков

Какие свойства математического ожидания нужны в работе

Первое свойство — линейность. Ожидание суммы равно сумме ожиданий: E[X + Y] = E[X] + E[Y]. Оно выполняется для любых величин, у которых ожидание существует, даже когда они зависят друг от друга.

Выручка с пользователя складывается из первой оплаты и продлений. Ожидание первой оплаты — 4,8402, продлений — 1,8016. Продления полностью зависят от первой оплаты: без неё их не бывает. И всё равно сумма ожиданий, 6,6419 (слагаемые показаны с округлением), совпадает со средним полной выручки на пользователя. Первый запрос считает обе стороны равенства.

Второе: константы выносятся, E[aX + b] = a·E[X] + b. Допустим, платёжный провайдер забирает 5% с оплаты, а на каждую регистрацию уходит 1 доллар на приветственную рассылку — числа условные. Ожидаемый остаток — 0,95 · 4,8402 − 1 = 3,5982. Пересчитывать каждую строку не нужно, хотя построчный расчёт в том же запросе даёт те же 3,5982.

Чего у ожидания нет: E[XY] в общем случае не равно E[X]·E[Y]. Выручка с пользователя — это цена его тарифа, умноженная на число его оплат. Среди всех зарегистрированных средняя цена — 4,8402 (у не оплативших она 0), среднее число оплат — 0,2712. Их произведение — 1,31. Настоящая выручка на пользователя — 6,64, в пять раз больше.

Причина — зависимость: у 80% людей цена и число оплат равны нулю одновременно. Среди 912 платящих линейная связь почти исчезает, и произведение средних, 33,58, почти совпадает со средним произведения, 33,60. Так устроены учебные данные: в реальном продукте дорогие тарифы могут продлевать чаще или реже дешёвых. Разница E[XY] − E[X]·E[Y] называется ковариацией, на ней построена корреляция.

Свойства математического ожидания
E[X + Y] = E[X] + E[Y]; E[aX + b] = a·E[X] + b; E[XY] = E[X]·E[Y], если X и Y независимы

Первые два равенства верны для любых величин с конечным ожиданием. Третье гарантировано только при независимости: точное условие — нулевая ковариация, а она бывает и у зависимых величин.

Линейность на данных: сумма ожиданий равна ожиданию суммы, константы выносятся
WITH per_user AS (
  SELECT
    u.user_id,
    COALESCE(SUM(CASE WHEN p.payment_type = 'first' THEN p.amount END), 0) AS first_amount,
    COALESCE(SUM(CASE WHEN p.payment_type = 'renewal' THEN p.amount END), 0) AS renewal_amount
  FROM users u
  LEFT JOIN payments p ON p.user_id = u.user_id
  GROUP BY u.user_id
)
SELECT
  ROUND(AVG(first_amount), 4) AS e_first,
  ROUND(AVG(renewal_amount), 4) AS e_renewal,
  ROUND(AVG(first_amount) + AVG(renewal_amount), 4) AS sum_of_expectations,
  ROUND(AVG(first_amount + renewal_amount), 4) AS expectation_of_sum,
  ROUND(0.95 * AVG(first_amount) - 1, 4) AS a_e_plus_b,
  ROUND(AVG(0.95 * first_amount - 1), 4) AS e_of_ax_plus_b
FROM per_user;
sqlПроизведение ожиданий против ожидания произведения: цена тарифа × число оплат
WITH per_user AS (
  SELECT
    u.user_id,
    COALESCE(MAX(p.amount), 0) AS price,
    COUNT(p.payment_id) AS payments
  FROM users u
  LEFT JOIN payments p ON p.user_id = u.user_id
  GROUP BY u.user_id
)
SELECT
  'все зарегистрированные' AS base,
  COUNT(*) AS users,
  ROUND(AVG(price), 4) AS e_price,
  ROUND(AVG(payments), 4) AS e_payments,
  ROUND(AVG(price) * AVG(payments), 4) AS product_of_expectations,
  ROUND(AVG(price * payments), 4) AS expectation_of_product
FROM per_user
UNION ALL
SELECT
  'только платившие',
  COUNT(*),
  ROUND(AVG(price), 4),
  ROUND(AVG(payments), 4),
  ROUND(AVG(price) * AVG(payments), 4),
  ROUND(AVG(price * payments), 4)
FROM per_user
WHERE payments > 0
ORDER BY users DESC;

Как выбрать вариант по ожидаемой выручке: пример со скидкой

Маркетинг предлагает скидку 20% на первую оплату и ждёт роста конверсии. Сумма оплаты упадёт точно, вырастет ли конверсия и насколько — неизвестно. Сравнивать нужно ожидаемую выручку на одну регистрацию в обоих вариантах.

Сейчас вероятность оплаты — 912 / 4 613 = 0,1977, средняя первая оплата среди оплативших — 24,48 доллара, ожидание — 0,1977 · 24,48 = 4,84. Со скидкой средняя оплата станет 24,4825 · 0,8 = 19,59.

В расчёте два допущения. Первое: со скидкой тарифы выбирают в тех же пропорциях. Второе — вероятность оплаты: в базе её нет, скидку никто не запускал, и мы задаём её сами. Поэтому полезнее считать порог: при какой конверсии скидка выходит в ноль. 4,84 / 19,59 = 0,2471. Скидка окупается, только если доля оплативших окажется выше 24,71% — вырастет больше чем в 1,25 раза, на 4,9 процентного пункта.

Если конверсия поднимется до 23%, ожидание упадёт до 4,50 доллара, на 6,9%. Если до 26% — вырастет до 5,09, на 5,2%. Решение сводится к вопросу, верите ли вы в рост конверсии больше чем на четверть. На него отвечает A/B-тест, а не формула.

Расчёт учитывает только первую оплату. По линейности продления добавляются отдельным слагаемым, но вероятность продления у пришедших по скидке — ещё одно допущение, и его тоже нужно назвать вслух.

Ожидаемая первая оплата на регистрацию: факт и сценарии скидки 20%
ВариантВероятность оплатыСредняя оплата, $Ожидание, $
Без скидки (факт)0,197724,484,84
Скидка, порог окупаемости (при том же выборе тарифов)0,247119,594,84
Скидка, конверсия 23% (допущение)0,230019,594,50
Скидка, конверсия 26% (допущение)0,260019,595,09
pythonPython: ожидаемая выручка на регистрацию без скидки и со скидкой 20%
import numpy as np

values = np.array([19, 29, 39])       # цены тарифов, $
payers = np.array([514, 296, 102])    # первые оплаты по тарифам
signups = 4613

p_pay = payers.sum() / signups
avg_paid = np.sum(values * payers) / payers.sum()
base = p_pay * avg_paid
print(f'сейчас: p = {p_pay:.4f}, оплата {avg_paid:.2f}, ожидание {base:.4f}')

avg_discounted = avg_paid * 0.8       # скидка 20%, тот же набор тарифов
breakeven = base / avg_discounted
print(f'со скидкой: оплата {avg_discounted:.2f}, порог p = {breakeven:.4f}')

for p_new in (0.23, 0.26):            # допущения, в данных их нет
    expected = p_new * avg_discounted
    print(f'p = {p_new:.2f}: ожидание {expected:.4f} ({expected / base - 1:+.1%})')

def sigma(p, amounts):                # разброс первой оплаты на регистрацию
    probs = p * payers / payers.sum()
    mean = np.sum(amounts * probs)
    return np.sqrt(np.sum(amounts**2 * probs) - mean**2)

print(f'sigma: {sigma(p_pay, values):.2f} без скидки, {sigma(breakeven, values * 0.8):.2f} на пороге')

Почему «средний пользователь» не похож на типичного

Ожидание 4,84 не совпадает ни с одним возможным значением: заплатить можно 0, 19, 29 или 39. Это нормально — ожидание описывает сумму по многим пользователям, а не одного человека. Но фраза «пользователь в среднем платит 4,84» сбивает с толку: такого пользователя не существует.

Со всей выручкой, включая продления, картина та же. Среднее на зарегистрированного — 6,64 доллара, медиана — 0: 80,2% людей принесли меньше среднего, потому что не принесли ничего. Среди платящих среднее — 33,60, медиана — 29, и 60,6% заплатили меньше среднего. Хвост из тех, кто продлил подписку один-два раза (290 человек из 912), тянет среднее вверх.

Для бюджета и прогноза выручки нужно именно ожидание: его умножают на число пользователей. Для описания обычного клиента берите медиану и доли. Разница между ними разобрана в статье про среднее, медиану и моду.

Выручка на пользователя за весь период, включая продления
БазаПользователейСреднее, $Медиана, $Ниже среднего
Все зарегистрированные4 6136,64080,2%
Только платившие91233,602960,6%
Среднее и медиана выручки на пользователя: все зарегистрированные и только платившие
WITH per_user AS (
  SELECT u.user_id, COALESCE(SUM(p.amount), 0) AS revenue
  FROM users u
  LEFT JOIN payments p ON p.user_id = u.user_id
  GROUP BY u.user_id
),
bases AS (
  SELECT 'все зарегистрированные' AS base, revenue FROM per_user
  UNION ALL
  SELECT 'только платившие', revenue FROM per_user WHERE revenue > 0
),
with_mean AS (
  SELECT base, revenue, AVG(revenue) OVER (PARTITION BY base) AS mean_revenue
  FROM bases
)
SELECT
  base,
  COUNT(*) AS users,
  ROUND(AVG(revenue), 2) AS mean_revenue,
  PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY revenue) AS median_revenue,
  ROUND(100.0 * COUNT(CASE WHEN revenue < mean_revenue THEN 1 END) / COUNT(*), 1) AS pct_below_mean
FROM with_mean
GROUP BY base
ORDER BY users DESC;

Что ожидание не говорит о разбросе и малых выборках

Два варианта с одинаковым ожиданием могут вести себя по-разному. Вернёмся к скидке на пороге окупаемости: ожидание в обоих вариантах 4,84. Но стандартное отклонение первой оплаты без скидки — 10,22 доллара, со скидкой — 8,88: платят чаще и меньшими суммами. Ожидание этой разницы не видит. Её описывают дисперсия и стандартное отклонение.

От разброса зависит, сколько наблюдений нужно, чтобы среднее подошло к ожиданию. Здесь он велик: стандартное отклонение вдвое больше самого ожидания, коэффициент вариации — 2,11. Проверим симуляцией: берём случайных пользователей из того же распределения и считаем среднее. По 2 000 выборок на каждый размер, зерно генератора зафиксировано.

На десяти пользователях нижняя граница упирается в ноль: 233 выборки из 2 000 дали ровно ноль, никто из десяти не заплатил. Верхняя граница — 12,5 доллара, выше оказались около 2% выборок. На тридцати 95% средних лежат от 1,6 до 8,7. Даже на тысяче диапазон шириной больше доллара: от 4,2 до 5,5. Только на десяти тысячах он сужается до 4,6–5,0.

Практический вывод: выручку на регистрацию по сегменту из тридцати человек или по первой сотне регистраций теста нельзя сравнивать с 4,84 напрямую. Сначала посмотрите, какой диапазон даёт случайность при таком размере.

Пять горизонтальных полос: диапазон 95% выборочных средних сужается вокруг ожидания 4,84 при росте выборки от 10 до 10 000 пользователей
Фиолетовая полоса — диапазон, в который попали 95% средних из 2 000 выборок; красная отметка — ожидание 4,84 доллара.
pythonPython: где лежат 95% выборочных средних при разном числе пользователей
import numpy as np

values = np.array([0, 19, 29, 39])                  # сумма первой оплаты, $
probabilities = np.array([3701, 514, 296, 102]) / 4613
rng = np.random.default_rng(2026)

for n in (10, 30, 100, 1000, 10000):
    samples = rng.choice(values, size=(2000, n), p=probabilities)
    means = samples.mean(axis=1)                    # 2 000 средних по n пользователей
    low, high = np.percentile(means, [2.5, 97.5])
    zero_samples = int((means == 0).sum())
    print(f'n = {n}: 95% средних от {low:.1f} до {high:.1f}, нулевых выборок {zero_samples}')

Почему вероятность в формуле — тоже оценка: незрелые регистрации

Вероятность 0,1977 — доля оплативших среди всех 4 613 зарегистрированных. Но выгрузка закрыта 30 августа, а от регистрации до первой оплаты в этой базе проходит от 3 до 20 дней, медиана — 11. Те, кто пришёл в последние недели, ещё не успели заплатить.

Разделим регистрации по 10 августа: у тех, кто пришёл с этой даты, двадцатый день приходится на 30 августа, а этот день в выгрузке неполный: события обрываются в 12:59. До неё: 3 207 человек, оплатили 23,57%, ожидание первой оплаты — 5,75 доллара. После: 1 406 человек, 11,10% и 2,76 доллара. Общие 4,84 — смесь зрелых и незрелых когорт. Зрелые тоже неоднородны: в июле включили платный поиск, который конвертирует в два-три раза хуже остальных каналов, и ожидание упало с 6,64 доллара у июньских регистраций до 5,47 у июльских. Если взвесить зрелые ожидания каналов по составу регистраций с 10 августа, получится 5,42: общее число занижает прогноз для нового пользователя примерно на 11%.

Относительный порог скидки от этого не меняется: конверсия должна вырасти в 1,25 раза при любой базе. Абсолютные числа из таблицы меняются: при зрелой конверсии 23,57% порог равен 29,47%, а не 24,71%. Прогноз выручки в деньгах по незрелым данным тоже будет ошибочным.

Правило: вероятность в формуле ожидания измеряют на тех, у кого событие уже могло случиться. То же касается продлений, оттока и LTV (выручки за всё время жизни клиента) — их считают по когортам одного возраста.

Ожидание первой оплаты по зрелым и незрелым регистрациям
SELECT
  CASE
    WHEN u.signup_date < DATE '2026-08-10' THEN 'до 10 августа'
    ELSE 'с 10 августа'
  END AS signup_period,
  COUNT(*) AS users,
  COUNT(p.user_id) AS payers,
  ROUND(100.0 * COUNT(p.user_id) / COUNT(*), 2) AS pay_pct,
  ROUND(SUM(COALESCE(p.amount, 0)) / COUNT(*), 4) AS expected_first_amount
FROM users u
LEFT JOIN payments p
  ON p.user_id = u.user_id AND p.payment_type = 'first'
GROUP BY 1
ORDER BY MIN(u.signup_date);

Как считают математическое ожидание непрерывной величины

У непрерывной величины — времени до оплаты, длительности сессии — вероятность каждого отдельного значения равна нулю, поэтому сумму заменяет интеграл, а вероятности — плотность f(x). Смысл прежний: значения взвешиваются по тому, насколько они вероятны. Руками интеграл берут редко. Либо у распределения есть готовая формула: у нормального ожидание равно параметру μ, у экспоненциального — 1/λ. Либо ожидание оценивают средним по данным. Ожидание есть не у всякого распределения: при очень тяжёлом хвосте интеграл расходится, и среднее по выборке не успокаивается, сколько данных ни добавляй.

Математическое ожидание непрерывной величины
E[X] = ∫ x · f(x) dx

f(x) — плотность распределения; интеграл берут по всем возможным значениям X.

Частые вопросы

«Как найти математическое ожидание?» Умножить каждое значение на его вероятность и сложить: для кубика это (1 + 2 + 3 + 4 + 5 + 6) / 6 = 3,5. На данных — AVG по таблице, где на каждый объект одна строка, включая нулевые.

«Чем математическое ожидание отличается от среднего значения?» Ожидание — параметр распределения, оно одно. Среднее считают по выборке, и от выборки к выборке оно меняется. Чем больше наблюдений, тем меньше типичное расстояние между средним и ожиданием.

«Может ли математическое ожидание быть отрицательным?» Да, если среди значений есть отрицательные. Лотерея: 100 билетов по 50 ₽, один приз 2 000 ₽ и десять по 100 ₽. Ожидаемый выигрыш на билет — 2 000 · 0,01 + 100 · 0,10 = 30 ₽, с учётом цены билета — 30 − 50 = −20 ₽.

«Чему равно математическое ожидание числа успехов?» Если попыток n, а вероятность успеха в каждой p, ожидание равно n · p — это следует из линейности. Подробности — в статье про биномиальное распределение.

«Что такое математическое ожидание в трейдинге и ставках?» Средний результат одной сделки или ставки на длинной дистанции: вероятность выигрыша, умноженная на его размер, минус вероятность проигрыша, умноженная на размер потери. Ставка на красное в европейской рулетке: 18 красных ячеек из 37, ожидание — 18/37 − 19/37 = −2,7% от ставки. В трейдинге вероятности неизвестны, их оценивают по истории сделок, и к такой оценке относится всё сказанное выше: мало наблюдений, скошенные результаты, меняющиеся условия. Положительное ожидание не обещает прибыли на короткой серии. Это объяснение термина, а не совет, как играть или торговать.

Все запросы из статьи можно выполнить в песочнице симулятора SQL-аналитика: там та же база «Маяк».

Продолжить чтение
Вся библиотека
Продуктовая аналитика25 сентября 2026 г.12 мин
Ломаная линия, которая сильно скачет слева и постепенно ложится на горизонтальную прямую справа

Закон больших чисел простыми словами: формулировка и примеры

Закон больших чисел: почему среднее и доля стабилизируются с ростом выборки. Пример с монетой, накопленная конверсия A/B-теста в SQL, слабая и сильная форма, ошибка игрока и когда закон работает медленно.

Читать материал
Продуктовая аналитика25 сентября 2026 г.12 мин
Ряд столбиков разной высоты с вершиной в центре: распределение числа успехов из фиксированного числа попыток

Биномиальное распределение: формула, пример и где оно в аналитике

Биномиальное распределение простыми словами: формула Бернулли, пример расчёта вручную, математическое ожидание и дисперсия, конверсия как биномиальная величина, биномиальный тест в Python и типичные ошибки.

Читать материал