Как посчитать Share of Voice в SQL

Закрепи формулу share of voice в Карьернике
Запомнить надолго — 5 коротких сессий с задачами на эту тему. Бесплатно
Тренировать share of voice в Telegram

Зачем 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;
Закрепи формулу share of voice в Карьернике
Запомнить надолго — 5 коротких сессий с задачами на эту тему. Бесплатно
Тренировать share of voice в Telegram
Метрика Что считаем Источник
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

В современной маркетинговой аналитике предпочитают 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-аккаунтов).

Как часто пересчитывать?

Раз в квартал. Месячные колебания шумные.