СтатьяАналитикаМаркетинг

Как посчитать общую конверсию без среднего из процентов

На четырёх строках отчёта показываем, почему среднее из процентов завышает результат и как пересчитать общую конверсию через суммарные сеансы и лиды.

Карточки отчёта с разным числом точек сходятся в общий расчёт конверсии

Если в отчёте уже есть конверсия по дням, каналам или кампаниям, функция «среднее» почти наверняка даст неверный итог. Для общей конверсии сложите целевые действия во всех строках, отдельно сложите подходящий знаменатель и разделите одну сумму на другую.

Такой расчёт работает, когда строки описывают непересекающиеся срезы, а целевое действие, единица знаменателя и правило подсчёта во всех строках одинаковы.

Почему среднее из процентов завышает результат

У процента нет собственного веса. Строка со 100 сеансами и строка с 900 сеансами при обычном среднем влияют на итог одинаково, хотя вторая описывает в девять раз больше трафика.

Рассмотрим учебный отчёт:

ДатаКаналСеансыЛидыКонверсия строки
1 октябрябренд1001010%
1 октябряобщий900273%
2 октябрябренд200189%
2 октябряобщий800202,5%

Если сложить четыре процента и разделить на четыре, получится 6,125%. Этот результат предполагает, что каждая строка имеет одинаковый вес.

Правильный расчёт использует исходные величины:

(10 + 27 + 18 + 20) / (100 + 900 + 200 + 800) × 100%
= 75 / 2 000 × 100%
= 3,75%
Сравнение среднего из четырёх процентов 6,125% и общей конверсии 75 из 2000, равной 3,75%

У среднего из процентов все строки весят одинаково; в общем расчёте вес строки задаёт её знаменатель.

Формула общей конверсии

Для строк от 1 до n:

CRобщая = Σ целевых действий / Σ знаменателя × 100%

Знаменателем могут быть сеансы, пользователи, клики, заявки или другие сущности. Выберите одну и не смешивайте её с остальными. Если в одной строке конверсия рассчитана на пользователей, а в другой — на сеансы, общий процент не имеет однозначного смысла.

Тот же результат даёт взвешенное среднее, где вес каждой строки равен её знаменателю:

CRвзвешенная = Σ(CRi × знаменательi) / Σ знаменателяi

На практике безопаснее хранить в выгрузке числитель и знаменатель и пересчитывать итог из них. Округлённые проценты могут добавить небольшую погрешность. Если таблицу строил ИИ, дополнительно сверьте состав строк и контрольные суммы по чек-листу приёмки AI-сводки.

Это согласуется с тем, как описаны доли в схеме метрик Google Analytics Data API: например, engagement rate определяется как отношение engaged sessions к sessions. В документации GA4 ключевые события также считаются и выводятся рядом с измерениями отчёта; перед агрегацией важно сохранить сами количества и подходящий знаменатель.

Что проверить до сложения строк

Одинаковая формула ещё не гарантирует сопоставимость данных. Проверьте пять условий.

  1. Одно целевое действие. Во всех строках считается один и тот же лид, заказ или другое событие.
  2. Одно правило подсчёта. Если заказ учитывается один раз, не смешивайте его со строками, где повторное событие увеличивает счётчик. Отдельная проверка описана в материале «Одна заявка — две конверсии в отчёте».
  3. Один знаменатель. Сеансы складываются с сеансами, пользователи — с пользователями. Пользователь может попасть в несколько строк, поэтому сумма пользователей по каналам не всегда равна числу уникальных пользователей за период.
  4. Непересекающиеся строки. Не складывайте строку «Итого» с её детализацией. После объединения таблиц также проверьте, не размножились ли расходы или события; для этого есть разбор повторов после join.
  5. Одинаковый период и атрибуция. Дата клика и дата конверсии могут относить одно действие к разным строкам. Зафиксируйте модель отчёта до сравнения.

Если нужно вспомнить базовую формулу и выбрать целевое действие, начните с ответа «Как рассчитать конверсию сайта».

Воспроизводимая проверка на CSV

Сохраните учебные строки в example.csv:

date,channel,sessions,leads
2026-10-01,brand,100,10
2026-10-01,generic,900,27
2026-10-02,brand,200,18
2026-10-02,generic,800,20

Скрипт ниже считает обычное среднее, взвешенную конверсию и контрольный итог:

import csv
from decimal import Decimal

with open("example.csv", encoding="utf-8") as source:
    rows = list(csv.DictReader(source))

rates = [Decimal(row["leads"]) / Decimal(row["sessions"]) for row in rows]
sessions = sum(Decimal(row["sessions"]) for row in rows)
leads = sum(Decimal(row["leads"]) for row in rows)

plain_mean = sum(rates) / Decimal(len(rates))
weighted = sum(
    rate * Decimal(row["sessions"])
    for rate, row in zip(rates, rows)
) / sessions
total = leads / sessions

print(f"Среднее: {plain_mean * 100:.4f}%")
print(f"Взвешенная: {weighted * 100:.4f}%")
print(f"По суммам: {total * 100:.4f}%")
assert weighted == total

Результат:

Среднее: 6.1250%
Взвешенная: 3.7500%
По суммам: 3.7500%

Когда арифметика верна, а вывод всё равно ошибочен

Общая конверсия может измениться из-за состава трафика. Например, доля брендового канала с высокой конверсией выросла, хотя показатели каждого канала почти не изменились. Поэтому после общего итога посмотрите динамику по устойчивым сегментам и их долям.

В воронке важно также соблюдать порядок сущностей и период созревания лида. Сеанс, лид, квалифицированный лид и продажа возникают в разные моменты. Подход к такой диагностике разобран в материале «Как диагностировать провал воронки продаж».

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

Источники

Материал подготовлен редакцией WiseLab с помощью AI. Источники и фактические утверждения проверены при подготовке.

Загружаем рейтинг…

Насколько полезен материал?

Выберите оценкуСлева — меньше пользы, справа — больше

Загружаем вашу оценку…

Что думаете?

Загружаем комментарии…

СЛЕДУЮЩИЙ ШАГ

Что ещё поможет в этой задаче

СтатьяАналитикаРекламаМаркетинг19 октября · 7 минут
Два бумажных потока трафика проходят через воронки к общему процентному показателю рядом с весами и калькулятором

Почему общая конверсия выросла, хотя каждый канал стал хуже

На двух каналах разделяем рост общей конверсии на изменение качества трафика и изменение долей каналов, чтобы общий KPI не привёл к ошибочному решению по бюджету.

Читать разборЗагрузка просмотров
СтатьяАналитикаМаркетинг20 октября · 6 минут
Три бумажные карточки формы сужаются к подтверждённому результату; рядом карандаш и линейка.

Как проверить воронку многошаговой формы по событиям

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

Читать разборЗагрузка просмотров
СтатьяАналитика5 октября · 6 минут
Три календарные даты и часы соединены с одной точкой события на временной шкале

Как проверить расхождение отчётов из-за часового пояса

Проверка одного лида на границе суток: как привести время Google Ads, GA4, Метрики и CRM к одной дате и не ошибиться в дневном отчёте.

Читать разборЗагрузка просмотров