Среднее vs взвешенное среднее

Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.

Короткий ответ

  • Простое среднее (mean): все значения равнозначны
  • Взвешенное среднее (weighted mean): значения с разным «весом»

Вес отражает важность / частоту / размер каждого наблюдения.

Формулы

Mean

mean = (x₁ + x₂ + ... + xₙ) / n

Weighted mean

weighted_mean = (w₁·x₁ + w₂·x₂ + ... + wₙ·xₙ) / (w₁ + w₂ + ... + wₙ)

Если все веса равны — weighted mean = mean.

Пример: средняя цена

Простое

5 товаров: 100, 200, 300, 400, 500 ₽.

mean = (100 + 200 + 300 + 400 + 500) / 5 = 300 ₽

Взвешенное

Но продано: 100 раз товара по 100 ₽, 5 раз по 200 ₽, 3 раза по 300, 2 раза по 400, 1 раз по 500.

Фактическая средняя цена продажи:

weighted_mean = (100×100 + 5×200 + 3×300 + 2×400 + 1×500) / (100+5+3+2+1)
              = (10000 + 1000 + 900 + 800 + 500) / 111
              = 13200 / 111
              ≈ 119 ₽

Простое = 300, взвешенное = 119. Дешёвые товары продаются чаще → real average цена намного ниже.

Когда использовать

Weighted mean

  • Товары разной популярности (weight = продажи)
  • Опросы с разной репрезентативностью (weight = 1/population_share)
  • Смеси разных групп (weight = размер группы)
  • Оценки с разной важностью (weight = важность)
  • Recency-weighted average (более свежие данные важнее)

Mean

  • Когда все наблюдения равнозначны
  • Random sample из одной population

В Python

import numpy as np

values = [100, 200, 300, 400, 500]
weights = [100, 5, 3, 2, 1]

# простое
np.mean(values)                # 300

# взвешенное
np.average(values, weights=weights)  # ≈ 119

В pandas:

(df['price'] * df['weight']).sum() / df['weight'].sum()

В SQL

-- простое
SELECT AVG(price) FROM products;

-- взвешенное (по количеству проданного)
SELECT SUM(price * quantity) / SUM(quantity) AS weighted_avg_price
FROM orders;

Применения в аналитике

1. GPA / академическая оценка

Оценка за курс × количество часов / общее количество часов.

2. CR (conversion rate) по каналам

Средний CR разных каналов взвешенный по трафику — даёт real overall CR.

3. Средний балл опроса

Respondent с большим весом (например, более репрезентативный).

4. Time-weighted returns

Финансы — returns с учётом размера investment в разные периоды.

5. Exponential moving average

Более свежие наблюдения — больший вес.

6. Cohort-weighted metric

Общая метрика, учитывающая разный размер когорт.

Weighted mean vs simple mean — какая разница

Могут сильно различаться

Пример выше: 300 vs 119 — разница в 3 раза.

Weighted — часто правильный ответ

Если спрашивают «средняя цена продажи» → weighted. Простое среднее цен отвечает другой вопрос («средняя цена в каталоге»).

Simple — когда все равнозначны

A/B-тест с равными группами.

Типичные ошибки

1. Использовать simple когда нужен weighted

«Средний CR по каналам: 5%». Но 90% трафика в канале с CR 2%. Real CR ≈ 2%, не 5%.

2. Weights не нормализованы

Weights нужно суммировать в денодинаторе. Иначе результат некорректен.

3. Weights взяты из другого периода

Если weights stale (устарели) → неверный weighted mean.

4. Negative weights

Обычно веса ≥ 0. Negative weights — exotic случаи, не для аналитики.

5. Zero total weight

Деление на ноль. Обрабатывайте.

Weighted vs grouped

Частый вопрос: считать weighted mean или grouped breakdown?

  • Weighted mean: когда хочется одной цифры
  • Grouped: когда хочется видеть разрез

Хорошая практика: показать и то, и другое. Weighted overall + breakdown по группам.

На собесе

«Разница mean и weighted mean?» Mean — все значения равнозначны. Weighted — с разным вкладом.

«Пример применения?» Средний чек по категориям (weighted by частота покупок).

«В SQL как посчитать?» SUM(value * weight) / SUM(weight).

«Когда они сильно различаются?» Когда распределение weights неравномерно.

Связанные темы

FAQ

Weighted mean и average — синонимы?

Weighted mean — вид average. Average может быть simple mean, weighted mean, geometric mean и т.д.

Geometric mean — другое?

Да, 4-я функция: (x₁ × x₂ × ... × xₙ)^(1/n). Для процентных изменений / returns.

Харamonic mean?

Для ratios / скоростей. (n / (1/x₁ + 1/x₂ + ... + 1/xₙ)).

Когда использовать median?

Когда данные скошены и outliers. Среднее обманывает, median устойчив.


Тренируйте статистику — откройте тренажёр с 1500+ вопросами для собесов.