Как посчитать Share of Voice в SQL
Содержание:
Зачем Share of Voice
Маркетолог: «Наш бренд активно в соцсетях, охваты растут — должно быть видно в продажах». Аналитик считает SOV: доля упоминаний бренда в общем медиа-пространстве категории — 8%. У главного конкурента — 25%. Бренд кажется «активным» в собственном пузыре, но в категории — невидим.
SOV — рабочая метрика медиа-стратегии и FMCG. В статье — SQL и нюансы.
Что такое SOV
Share of Voice (SOV) — доля бренда в общем объёме рекламных / медийных упоминаний категории.
SOV (%) = brand_mentions / total_category_mentions × 100%Mentions могут быть: показы рекламы (ad impressions), упоминания в соцсетях, охваты в медиа, доля поисковых запросов.
В классике SOV считают на ad spend / impressions; современный вариант — Share of Search.
Базовый расчёт
Данные: ad_impressions(brand, date, impressions).
WITH category_total AS (
SELECT SUM(impressions) AS total
FROM ad_impressions
WHERE DATE >= '2026-04-01' AND DATE < '2026-05-01'
),
brand_imp AS (
SELECT brand, SUM(impressions) AS imp
FROM ad_impressions
WHERE DATE >= '2026-04-01' AND DATE < '2026-05-01'
GROUP BY brand
)
SELECT
b.brand,
b.imp,
ct.total,
b.imp::NUMERIC / NULLIF(ct.total, 0) * 100 AS sov_pct
FROM brand_imp b
CROSS JOIN category_total ct
ORDER BY sov_pct DESC;SOV по каналам
WITH channel_total AS (
SELECT channel, SUM(impressions) AS total
FROM ad_impressions
WHERE DATE >= '2026-04-01' AND DATE < '2026-05-01'
GROUP BY channel
),
brand_channel AS (
SELECT brand, channel, SUM(impressions) AS imp
FROM ad_impressions
WHERE DATE >= '2026-04-01' AND DATE < '2026-05-01'
GROUP BY brand, channel
)
SELECT
b.brand,
b.channel,
b.imp,
ct.total,
b.imp::NUMERIC * 100.0 / NULLIF(ct.total, 0) AS sov_pct
FROM brand_channel b
JOIN channel_total ct ON ct.channel = b.channel
ORDER BY b.channel, sov_pct DESC;SOV vs Share of Search
| Метрика | Что считаем | Источник |
|---|---|---|
| Classic SOV | ad spend / impressions / охват | реклама, медиа |
| Share of Search | поисковые запросы бренда vs категории | Google Trends, Wordstat |
| Share of Voice (social) | упоминания в соцсетях | Brand24, мониторинги |
Share of Search — лучший proxy для market share. Исследования (Les Binet) показывают корреляцию +0,6...+0,8 между Share of Search сейчас и Market Share через 12-18 месяцев.
-- Share of Search через wordstat-выгрузку
SELECT
brand,
SUM(searches) AS brand_searches,
SUM(SUM(searches)) OVER () AS total_category,
SUM(searches)::NUMERIC * 100.0 /
NULLIF(SUM(SUM(searches)) OVER (), 0) AS share_of_search_pct
FROM wordstat_data
WHERE category = 'дрель электрическая'
AND month = '2026-04'
GROUP BY brand
ORDER BY share_of_search_pct DESC;Частые ошибки
Ошибка 1. SOV без определения категории. «Доля рекламы бренда» среди чего? Категория должна быть строго определена.
Ошибка 2. Считать только свою рекламу. Без данных конкурентов SOV — пустой. Используйте Mediascope, AdIndex, Brand24.
Ошибка 3. Включать non-paid. Smart SOV — только paid impressions. Органические соцсети — отдельный Share of Voice (social).
Ошибка 4. Не нормализовать по каналу. TV impressions ≠ digital impressions. Сначала SOV по каждому каналу, потом weighted average.
Ошибка 5. SOV без time-frame. SOV в один день — шум. Используйте monthly / quarterly.
Связанные темы
FAQ
SOV или Share of Search?
В современной маркетинговой аналитике предпочитают Share of Search — это leading indicator market share.
Какой SOV считается хорошим?
Не существует абсолютной величины. Цель — SOV > Share of Market (это называется "Excess Share of Voice", ESOV, и предсказывает рост).
Где взять данные конкурентов?
Mediascope (ТВ), AdIndex, Bytecast (digital), Wordstat / Google Trends (поиск). Платно.
SOV на В2B имеет смысл?
Меньше, чем на В2С. В B2B важнее ABM-метрики (engagement target-аккаунтов).
Как часто пересчитывать?
Раз в квартал. Месячные колебания шумные.