Все материалы
Продуктовая аналитикагайдсредний

Относительный риск и отношение шансов: разница на примерах

Чем относительный риск отличается от отношения шансов: таблица 2×2, абсолютный эффект, доверительные интервалы, случай — контроль и A/B-тест в Python.

КейсПрактика24 сентября 2026 г.15 мин

В отчёте написано: «риск снизился на 62,5%». Вы смотрите на исходную таблицу: событие произошло у 40 из 200 участников одной группы и у 80 из 200 другой. Частота уменьшилась вдвое. Откуда взялось более эффектное число? Автор перевёл отношение шансов в проценты и назвал их снижением риска. Разберём на собственных синтетических данных, чем относительный риск отличается от отношения шансов, какой показатель разрешает дизайн исследования и как описать тот же эффект в A/B-тесте.

Короткий ответ: RR и OR нельзя подменять

  • Относительный риск, RR, сравнивает вероятности события за одинаковый срок. Отношение шансов, OR, сравнивает отношения вероятности события к вероятности его отсутствия.
  • При редком исходе в обеих группах OR близко к RR. При частом исходе расхождение бывает большим, даже если арифметика обоих показателей верна.
  • В обычном исследовании «случай — контроль» число случаев задаёт отбор: доли внутри выборки не восстанавливают популяционные риски. OR может сохранять смысл при подходящем отборе.
  • Показывайте исходные частоты, абсолютную разность и интервал вместе с относительной мерой. Уточняйте событие, группу сравнения и горизонт наблюдения.

Одна таблица, три вопроса

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

Наш учебный медицинский сюжет — наблюдение первого повторного обращения за одинаковый период. В группе A из 200 участников обращение зарегистрировано у 40, в группе B из 200 — у 80. Все участники наблюдались весь выбранный срок, повторные обращения одного человека не добавляют новых событий. Это условная полная когорта, а не реальные результаты применения медицинского вмешательства.

Первый вопрос: насколько отличаются вероятности? Риск A равен 20%, B — 40%; разность A минус B составляет −20 процентных пунктов. Второй: какую часть риска B составляет риск A? RR = 0,20 / 0,40 = 0,5. Третий: как соотносятся шансы? В A это 40 / 160 = 0,25, в B — 80 / 120 ≈ 0,667; OR = 0,375.

Каждое число корректно описывает свою величину. Ошибка появляется в подписи: OR = 0,375 означает меньшие на 62,5% шансы, а не риск. Риск ниже на 50% относительно B. Разность −20 пунктов отвечает на вопрос о масштабе в популяции. Из трёх формулировок невозможно выбрать «самую правдивую» без задачи, но можно выбрать понятную читателю и не менять её смысл по дороге.

Синтетическая полная когорта; одинаковый срок
ГруппаСобытиеНет событияВсегоРиск
A4016020020%
B8012020040%

Почему шанс — не вероятность

Вероятность делит число событий на всех участников. Шанс делит события на отсутствие события. Поэтому вероятность находится между нулём и единицей, а шанс может расти без верхней границы. Когда событие становится частым, знаменатель шанса уменьшается. Отсюда нелинейность перехода: одинаковое изменение вероятности при разных исходных уровнях соответствует разным изменениям шансов.

Для вероятности p шанс равен p / (1 − p). Обратное преобразование: p = odds / (1 + odds). В разговорном русском слово «шанс» часто означает просто возможность или вероятность, но в статистическом отчёте такой свободы нет. Если аудитория не знакома с термином, сначала покажите частоты людей, затем объясните, что именно стоит в знаменателе. Это надёжнее, чем оставлять одну аббревиатуру рядом с выводом.

Удобное свойство OR — симметрия таблицы. Для ячеек a, b, c, d оно равно ad / bc; перестановка ролей строк и столбцов сохраняет это отношение. RR такой симметрией не обладает: для него необходим знаменатель риска в каждой группе. Именно поэтому механическое транспонирование таблицы в калькуляторе может оставить OR прежним и одновременно превратить RR в ответ на совершенно другой вопрос.

Две меры для одной таблицы
RR = p₁ / p₀; OR = [p₁ / (1 − p₁)] / [p₀ / (1 − p₀)]

Направление сравнения: A относительно B.

Python: эффект и доверительные интервалы

Для расчёта используем Table2x2 из statsmodels. Строки соответствуют A и B, первый столбец — событию, второй — его отсутствию. Параметр shift_zeros=False делает поведение явным: в наших таблицах все ячейки положительны, скрытая поправка не нужна. Код печатает RR, OR, интервалы и абсолютную разность. Перед запуском установите NumPy, SciPy и statsmodels в своём окружении.

Для основной таблицы 95%-й интервал RR приблизительно 0,361–0,692, OR — 0,240–0,587. Это логарифмические нормальные приближения для независимых наблюдений. Интервал разности рисков вычислен отдельной приближённой формулой и равен примерно от −28,77 до −11,23 процентного пункта. Он приведён для прозрачности расчёта; при малых частотах и близости к границам вероятности разумнее использовать более подходящий интервальный метод.

Интервал характеризует неопределённость статистической процедуры при её предпосылках, а не исправляет дизайн. Если группы отличаются исходным состоянием или события регистрируются неодинаково, узкий интервал может окружать смещённую оценку. Большая выборка уменьшает случайную ошибку, но не делает ошибочный знаменатель правильным. Поэтому рядом с интервалом нужны описание отбора и правила измерения исхода.

pythonЧетыре таблицы 2×2
import numpy as np
from scipy.stats import norm
from statsmodels.stats.contingency_tables import Table2x2

# Синтетические когорты: строки A/B, столбцы событие/нет события.
for label, counts in [("common", [[40,160],[80,120]]),
                      ("rare", [[4,196],[8,192]]),
                      ("case-control sample", [[40,80],[80,60]]),
                      ("AB conversion", [[120,880],[100,900]])]:
    a = np.array(counts, dtype=float)
    p = a[:,0] / a.sum(axis=1)
    t = Table2x2(a, shift_zeros=False)
    rd = p[0]-p[1]
    se = np.sqrt(np.sum(p*(1-p)/a.sum(axis=1)))
    ci = rd + np.array([-1,1])*norm.ppf(.975)*se
    print(label, "risks", p, "RR", t.riskratio, "OR", t.oddsratio)
    print("RR CI", t.riskratio_confint(), "OR CI", t.oddsratio_confint())
    print("RD, approximate 95% CI", rd, ci)
    print("OR back to RR", t.oddsratio/(1-p[1]+p[1]*t.oddsratio))
# Доли в case-control sample — свойства отбора, не популяционные риски.

Когда редкое событие сближает показатели

Заменим частоты на 4 события из 200 в A и 8 из 200 в B. Риски теперь 2% и 4%, RR по-прежнему 0,5, а OR ≈ 0,4898. При малых вероятностях величины 1 − p близки к единице, поэтому шансы мало отличаются от рисков. Это объясняет приближение алгебраически, без магического порога редкости, подходящего для любого исследования.

Близость точечных оценок не означает высокую точность. В маленькой таблице приблизительный интервал RR расширился до 0,153–1,634 и включает единицу. Информацию несёт не только общее число участников, но и число исходов. Одинаковый относительный эффект при редком событии труднее оценить достаточно точно. Для планирования нужен расчёт выборки под целевой эффект и базовую вероятность, а не надежда на большое число строк.

Не используйте правило «меньше некоторого процента — можно переименовать OR в RR» как редакторский пропуск. Укажите, что это приближение, оцените его точность в вашей задаче и покажите исходный риск, если он известен. Для коммуникации с широкой аудиторией проще вообще не заменять показатели: назвать OR отношением шансов, а вероятности вывести отдельной строкой.

Исследование «случай — контроль»: почему ломается знаменатель

Из исходной синтетической когорты оставим все зарегистрированные события, а участников без события возьмём ровно половину в каждой группе. Таблица станет: A — 40 событий и 80 без события; B — 80 и 60 соответственно. Это учебная иллюстрация отбора по исходу. При одинаковой доле отбора внутри категории «без события» OR останется 0,375: общий множитель сокращается в перекрёстном произведении.

А вот доли событий в полученной выборке станут 33,33% и 57,14%, их отношение — около 0,5833. Это уже не риски исходной когорты, где были 20% и 40%. Число людей без исхода выбрал исследователь; изменив долю отбора, он изменит эти доли. Следовательно, расчёт RR по сырым строкам обычной case-control выборки может быть математически корректным делением и содержательно неверной оценкой.

В реальном исследовании контроль должен представлять подходящую исходную популяцию. OR не становится автоматически несмещённым при любом удобном контроле: связь отбора с экспозицией, несопоставимые источники и ошибки измерения способны его изменить. У вложенных дизайнов с выбором контроля из группы риска есть дополнительные особенности интерпретации. Здесь рассматривается простой отбор по накопленному исходу, а не универсальный рецепт для всех case-control схем.

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

Синтетический отбор: все события и половина людей без события
ГруппаСобытиеНет событияДоля в отобранной выборке
A408033,33%
B806057,14%

Как связать OR и RR при известном базовом риске

Если p₀ — риск в группе сравнения и OR относится к той же популяции и тому же сроку, RR = OR / (1 − p₀ + p₀ × OR). Для основной таблицы p₀ = 0,4, OR = 0,375, и формула возвращает RR = 0,5. Это проверка согласованности показателей одной таблицы. Она не позволяет достать неизвестный p₀ из самого OR.

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

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

Абсолютное изменение и горизонт наблюдения

Одинаковый RR = 0,5 может означать переход с 2% на 1%, с 20% на 10% или с 40% на 20%. Абсолютные уменьшения составляют 1, 10 и 20 процентных пунктов. Для планирования ресурсов это принципиально разные ситуации. Код ниже вычисляет все варианты, чтобы относительное число не существовало отдельно от исходного масштаба.

В клинических отчётах иногда используют обратную абсолютному снижению величину — число, необходимое для предотвращения одного дополнительного события при определённых условиях. В наших модельных сценариях обратные разности равны 100, 10 и 5. Это арифметические иллюстрации, не рекомендации и не оценки пользы реального лечения. Для причинной трактовки нужны подходящий дизайн, определённый срок и учёт нежелательных последствий.

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

pythonМодель базового риска
for baseline in (.02, .20, .40):
    rr = .5
    exposed = baseline * rr
    odds_ratio = (exposed/(1-exposed))/(baseline/(1-baseline))
    print("baseline, exposed, RD, OR:", baseline, exposed,
          exposed-baseline, odds_ratio)
    print("inverse absolute difference:", 1/(baseline-exposed))

Что делать с разным сроком наблюдения

Риск обязательно привязан ко времени: событие за короткий и за длинный период — разные величины. Если A наблюдалась дольше B, простое сравнение долей смешивает частоту события с возможностью его дождаться. Недостаточно написать одинаковые даты выгрузки: участники могли вступать в наблюдение в разные дни. Проверяйте возраст каждой когорты и полноту доступного окна.

При неполном наблюдении рассматривают методы времени до события. Отношение интенсивностей, hazard ratio, не равно RR и не равно OR. Оно относится к мгновенной интенсивности среди ещё не испытавших событие; из одного HR нельзя без дополнительных условий получить риск к произвольному сроку. В русском переводе термины часто звучат похоже, поэтому оставляйте обозначение, определение и горизонт рядом.

Если событие может повторяться, заранее решите, считаете ли вы людей хотя бы с одним исходом или общее количество эпизодов на время наблюдения. Возврат пациента, несколько покупок и повторные ошибки приложения создают разные единицы. Таблица 2×2 подходит для бинарного исхода на единицу, но не превращает сотню эпизодов одного участника в сотню независимых людей.

Перенос на A/B-тест: конверсия и понятный отчёт

В синтетическом эксперименте новый вариант дал 120 покупок среди 1000 пользователей, контроль — 100 среди 1000. Вероятности равны 12% и 10%, абсолютный прирост — 2 процентных пункта, RR = 1,2. OR ≈ 1,2273. Поэтому фраза «конверсия выросла на 22,7%» после логистического расчёта была бы неверной: относительный рост наблюдаемой конверсии составляет 20%.

Приблизительный интервал RR здесь 0,934–1,542, а разности — от −0,74 до 4,74 процентного пункта. Наблюдаемое улучшение не делает направление истинного эффекта определённым. Для решения нужны заранее выбранная метрика, практический порог, план тестирования и сведения о качестве рандомизации. По этому примеру нельзя честно написать, что новый вариант уже доказанно лучше.

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

Почему относительное изменение не симметрично

Если поменять группы местами, RR и OR заменятся обратными величинами, но словесные проценты нельзя просто перевернуть знаком. «Снижение вдвое» и обратный переход описывают разные относительные изменения, потому что исходная база другая. Поэтому таблица должна фиксировать, какая группа является сравнением, а подпись графика — сохранять то же направление. В продуктовых отчётах особенно легко перепутать контроль и тест при объединении выгрузок из разных инструментов.

Нейтральная точка отношения равна единице, а нейтральная точка разности — нулю. На графике интервалов отношений логарифмическая ось часто помогает показать взаимно обратные эффекты сопоставимо. Если используете такую ось, подпишите её: равные расстояния относятся к отношениям, а не к одинаковым прибавкам вероятности. Не размещайте RR и абсолютные процентные пункты на одной числовой шкале без разделения единиц.

Можно ли сравнить оценки из разных исследований

Сначала проверьте исход, срок и популяцию. В одной работе риск может относиться к первому событию за полный период, в другой — к текущему состоянию в момент обследования. Даже одинаковые буквы RR не гарантируют одинакового параметра. Затем уточните, является ли оценка грубой или скорректированной и какие переменные включены в модель. Различие коэффициентов может отражать разные вопросы, а не противоречие результатов.

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

Проверка допущений перед интерпретацией

Независимость в обычной таблице означает, что единицы не дублируют друг друга и не образуют скрытые кластеры. Если эксперимент назначается на уровне команды, а события считаются по сотрудникам, стандартные интервалы на уровне людей будут слишком уверенными. Анализ должен учитывать единицу назначения или кластерную зависимость. То же относится к пациентам внутри семей или подразделений, когда условия общие.

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

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

Частые ошибки и их последствия

  • Назвать OR относительным риском. При частом исходе эффект выглядит крупнее в относительных процентах, чем изменение вероятности.
  • Убрать из таблицы участников без события. Знаменатели перестают отражать исследуемые группы, сравнение рисков теряет смысл.
  • Посчитать популяционный RR по обычной case-control выборке. Результат зависит от искусственно заданной доли контроля.
  • Перепутать направление A/B. Оценка заменяется обратной, а текст о пользе и вреде может оказаться противоположным данным.
  • Сравнить разные сроки или разные определения исхода. Вы оцениваете одновременно процесс и способ его наблюдения.
  • Выдать скорректированный OR модели за общий прирост вероятности. Условный модельный параметр получает чужую интерпретацию.

Шаблон результата и что почитать

Начните с дизайна и события, затем покажите числители и знаменатели. Продолжите абсолютным эффектом и выбранной относительной мерой с интервалом. Завершите ограничением, способным изменить решение: например, неполным наблюдением, несопоставимостью групп или широкой неопределённостью. Такая последовательность помогает проверить вывод без необходимости восстанавливать таблицу из процентов.

Для основного учебного примера формулировка может быть такой: «За одинаковый срок условное событие зарегистрировано у 40/200 участников A и 80/200 участников B. Разность рисков A−B равна −20 п.п.; RR = 0,50, приближённый 95%-й интервал 0,36–0,69. Наблюдательное сравнение само по себе не устанавливает причинный эффект». Если нужен OR, добавьте его отдельной строкой и назовите отношением шансов.

Ланг и Сесик полезны на этапе подготовки отчёта: в обзоре разбираем, какие сведения нужны читателю рядом с эффектом. Таблица частот подробнее рассмотрена в статье о хи-квадрат, неопределённость — в материале о доверительных интервалах. Для незавершённых сроков продолжите анализом выживаемости. Выбирайте следующий материал по ограничению своих данных, а не по желанию получить ещё одно статистическое число.

Материал образовательный. Медицинские примеры синтетические и не обосновывают применение какого-либо лечения или диагностической процедуры.

Продолжить чтение
Вся библиотека