Среднее vs взвешенное среднее
Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.
Короткий ответ
- Простое среднее (mean): все значения равнозначны
- Взвешенное среднее (weighted mean): значения с разным «весом»
Вес отражает важность / частоту / размер каждого наблюдения.
Формулы
Mean
mean = (x₁ + x₂ + ... + xₙ) / nWeighted 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+ вопросами для собесов.