Ответ
Да, масштабирование (или другие преобразования данных) часто применяется в A/B-тестах, особенно когда исходные метрики имеют нестандартное распределение. Цель — привести данные к виду, который лучше соответствует предпосылкам используемого статистического теста (например, нормальности для t-теста).
Типичные сценарии и методы:
-
Логарифмирование: Применяется для метрик с правосторонней асимметрией (положительный skew), таких как доход на пользователя, длительность сессии или количество кликов.
import numpy as np import scipy.stats as stats # Исходные данные с выбросами (например, Revenue Per User) revenue_group_a = np.array([5, 12, 8, 150, 10]) # Выброс 150 revenue_group_b = np.array([7, 9, 15, 11, 8]) # Логарифмическое преобразование для уменьшения влияния выбросов log_revenue_a = np.log1p(revenue_group_a) # log1p = log(1+x), безопасно для нулей log_revenue_b = np.log1p(revenue_group_b) # Проведение t-теста на преобразованных данных t_stat, p_value = stats.ttest_ind(log_revenue_a, log_revenue_b) print(f"p-value после логарифмирования: {p_value:.4f}") - Квадратный корень или преобразование Бокса-Кокса: Альтернативные методы для стабилизации дисперсии.
Важное замечание: Интерпретация результатов после преобразования меняется. Вы говорите не о разнице в средних доходах, а о разнице в средних логарифмов доходов. Отчёт бизнесу должен это учитывать.