Чтобы оценить, как изменения в кампаниях и время показа рекламы влияют на эффективность, запросите ресурсы отчетов об экспериментах и росте в Google Ads API.
Google Ads API поддерживает два способа создания отчетов о стандартных A/B-экспериментах:
- Прямые отчеты об экспериментах. Запросите ресурс
experiment, чтобы получить показатели. Этот вариант позволяет получить показатели для контрольной и экспериментальной групп в одном ответе, а также данные статистического сравнения, такие как рост и p-значения. Отчеты об экспериментах – единственный способ получить данные об экспериментах внутри кампании. - Отчеты о кампаниях. Запросите ресурс
campaign, чтобы получить показатели, и используйте полеcampaign.experiment_type, чтобы различать исходные кампании и кампании-эксперименты. Этот вариант доступен только для экспериментов, в которых используются отдельные контрольные и экспериментальные кампании, например для экспериментов, управляемых системой.
В этом руководстве мы в основном рассматриваем отчеты о прямых экспериментах, которые поддерживают все типы экспериментов, для которых можно создавать отчеты. Информацию об исследованиях роста можно найти в руководстве по отчетам о росте или в разделах с кратким описанием на этой странице: Brand Lift, рост конверсий (в том числе A/B-тестирование и рост конверсий) и Search Lift.
Отчеты об экспериментах
Чтобы получить показатели эффективности и статистические сравнения контрольной и экспериментальной групп в одном ответе во всех поддерживаемых версиях Google Ads API (v23 и более поздних), отправьте запрос напрямую к ресурсу experiment.
Показатели и статистическая значимость
Для основных показателей, таких как клики, показы, стоимость, конверсии и ценность конверсий, ресурс experiment предоставляет как показатели экспериментальной группы (например, metrics.clicks), так и показатели контрольной группы (например, metrics.control_clicks) в одной строке.
Ресурс experiment также содержит поля, которые помогают оценить статистическую значимость различий между группами:
metrics.*_p_value– вероятность получить результаты, которые будут по крайней мере такими же экстремальными, как и измеренная разница, если эксперимент не оказывает фактического влияния на показатель. Чем ниже p-значение, тем выше статистическая значимость.metrics.*_point_estimate– расчетный процент роста (положительный или отрицательный) по заданному показателю для экспериментальной группы по сравнению с контрольной. Вместе с полемmetrics.*_margin_of_errorэто значение определяет доверительный интервал с заданным уровнем достоверности для расчетной разницы. Расчетное количество –(treatment / control) - 1, а точечная оценка – это центр доверительного интервала.metrics.*_margin_of_error– радиус доверительного интервала, центрированного по значениюmetrics.*_point_estimate. API рассчитывает эту погрешность для заданного уровня достоверности, который зависит от типа эксперимента.
Для ресурса experiment поддерживаются следующие поля основных показателей, включая значение экспериментальной группы, значение контрольной группы и перечисленные выше поля статистики:
clicksimpressionscost_microsconversionscost_per_conversionconversion_valueconversion_value_per_cost
Для конверсий статистические поля доступны через следующие поля absolute_change, а не в виде относительных значений:
metrics.conversions_absolute_change_p_value– p-значение для нулевой гипотезы о том, что эксперимент не влияет на абсолютное изменение конверсий. Значение может быть от 0 до 1.metrics.conversions_absolute_change_point_estimate– точечная оценка влияния эксперимента на абсолютное изменение конверсий.metrics.conversions_absolute_change_margin_of_error– погрешность при оценке влияния эксперимента на абсолютное изменение конверсий.
Чтобы составить корректные запросы к ресурсу experiment, воспользуйтесь конструктором запросов Google Рекламы.
Пример запроса
Следующий запрос на языке запросов Google Ads Query Language (GAQL) позволяет получить ключевые показатели эксперимента:
SELECT
experiment.experiment_id,
experiment.name,
experiment.type,
metrics.clicks,
metrics.control_clicks,
metrics.clicks_point_estimate,
metrics.clicks_margin_of_error,
metrics.clicks_p_value,
metrics.conversions,
metrics.control_conversions,
metrics.conversions_absolute_change_point_estimate,
metrics.conversions_absolute_change_margin_of_error,
metrics.conversions_absolute_change_p_value
FROM experiment
WHERE experiment.experiment_id = EXPERIMENT_ID
Замените следующее:
EXPERIMENT_ID– целочисленный идентификатор эксперимента (experiment.experiment_id).
Проанализируйте результаты
Чтобы определить, являются ли результаты эксперимента статистически значимыми, используйте поля "p-значение", "Точечная оценка" и "Погрешность". Например, если показатель metrics.conversions_absolute_change_p_value меньше выбранного порогового значения (например, 0.05 для уровня достоверности 95 %), а разница между показателями metrics.conversions_absolute_change_point_estimate и metrics.conversions_absolute_change_margin_of_error больше нуля, то экспериментальная группа значительно превосходит контрольную по количеству конверсий.
В примере кода ниже показано, как оценивать результаты на основе p-значения и оценок прироста.
Java
private void evaluateExperiment( GoogleAdsClient googleAdsClient, long customerId, GoogleAdsRow row) { Metrics metrics = row.getMetrics(); String experimentResourceName = row.getExperiment().getResourceName(); // 1. Evaluate conversion success as a primary success signal if available. // - Point Estimate: Represents the estimated average lift or difference in conversions. // - Margin of Error: Outlines the confidence interval bounds. Note that the margin_of_error // provided by the API is calculated for a preset confidence level which is set based on the // experiment type. // - Lower Bound: (Point Estimate - Margin of Error). If this value is above 0, // we have statistical significance that performance has improved. double convPValue = metrics.getConversionsAbsoluteChangePValue(); double convLift = metrics.getConversionsAbsoluteChangePointEstimate(); double convError = metrics.getConversionsAbsoluteChangeMarginOfError(); double convLowerBound = convLift - convError; if (convPValue <= P_VALUE_THRESHOLD) { if (convLowerBound > 0) { System.out.printf( "Significant Success: Conversions increased. Even at the lower bound, the lift is %.2f." + " Promoting changes.%n", convLowerBound); promoteExperiment(googleAdsClient, customerId, experimentResourceName); return; } else if ((convLift + convError) < 0) { System.out.printf( "Significant Decline: Even the upper bound (%.2f) is below zero. Ending experiment.%n", convLift + convError); endExperiment(googleAdsClient, customerId, experimentResourceName); return; } } // 2. Fall back to evaluating click metrics if conversions are inconclusive. double clickPValue = metrics.getClicksPValue(); double clickLift = metrics.getClicksPointEstimate(); double clickError = metrics.getClicksMarginOfError(); double clickLowerBound = clickLift - clickError; if (clickPValue <= P_VALUE_THRESHOLD && clickLowerBound > 0) { System.out.printf("Click volume is significantly up (+%.1f%%).%n", clickLift * 100); // Graduation is only supported for separate campaign experiments, not // intra-campaign experiments where there is no separate treatment campaign. ExperimentType experimentType = row.getExperiment().getType(); if (experimentType != ExperimentType.ADOPT_BROAD_MATCH_KEYWORDS && experimentType != ExperimentType.ADOPT_AI_MAX) { System.out.println("Graduating treatment campaign for further manual analysis."); graduateExperiment(googleAdsClient, customerId, experimentResourceName); } else { System.out.println( "Intra-campaign trial detected: graduation is not supported. Continuing to run the" + " experiment to gather more conversion data."); } } else { // 3. Print status if no action was taken. System.out.printf( "Inconclusive: No significant lift in Conversions (p=%.2f) or Clicks (p=%.2f). Current" + " estimated lift: %.2f +/- %.2f. Allowing the experiment to continue running.%n", convPValue, clickPValue, convLift, convError); } }
C#
private static void EvaluateExperiment(GoogleAdsClient client, long customerId, GoogleAdsRow row) { // This function evaluates performance metrics and immediately takes action // to update the experiment's status (promote, end, or graduate) if // statistical significance thresholds are met. var metrics = row.Metrics; string experimentResourceName = row.Experiment.ResourceName; bool hasConvMetrics = metrics.HasConversionsAbsoluteChangePValue && metrics.HasConversionsAbsoluteChangePointEstimate && metrics.HasConversionsAbsoluteChangeMarginOfError; bool hasClickMetrics = metrics.HasClicksPValue && metrics.HasClicksPointEstimate && metrics.HasClicksMarginOfError; // 1. Evaluate conversion success as a primary success signal if available. // - Point Estimate: Represents the estimated average lift or difference in conversions. // - Margin of Error: Outlines the confidence interval bounds. Note that the margin_of_error // provided by the API is calculated for a preset confidence level which is set based on // the experiment type. // - Lower Bound: (Point Estimate - Margin of Error). If this value is above 0, // we have statistical significance that performance has improved. if (hasConvMetrics) { double convPValue = metrics.ConversionsAbsoluteChangePValue; double convLift = metrics.ConversionsAbsoluteChangePointEstimate; double convError = metrics.ConversionsAbsoluteChangeMarginOfError; double convLowerBound = convLift - convError; if (convPValue <= P_VALUE_THRESHOLD) { if (convLowerBound > 0) { Console.WriteLine( $"Significant Success: Conversions increased. Even at the lower" + $" bound, the lift is {convLowerBound:F2}. Promoting changes."); PromoteExperiment(client, customerId, experimentResourceName); return; } else if ((convLift + convError) < 0) { Console.WriteLine( $"Significant Decline: Even the upper bound ({convLift + convError:F2}) " + $"is below zero. Ending experiment."); EndExperiment(client, customerId, experimentResourceName); return; } } } // 2. Evaluate click volume as a secondary signal. // This is helpful as an early indicator or for lower-volume accounts. if (hasClickMetrics) { double clickPValue = metrics.ClicksPValue; double clickLift = metrics.ClicksPointEstimate; double clickError = metrics.ClicksMarginOfError; double clickLowerBound = clickLift - clickError; if (clickPValue <= P_VALUE_THRESHOLD && clickLowerBound > 0) { // We have a directional winner: high confidence in more traffic, // but not enough data to confirm conversion impact yet. Console.WriteLine( $"Click volume is significantly up (+{clickLift * 100:F1}%)."); // Graduation is only supported for separate campaign experiments, not // intra-campaign experiments where there is no separate treatment campaign. if (row.Experiment.Type != ExperimentType.AdoptBroadMatchKeywords && row.Experiment.Type != ExperimentType.AdoptAiMax) { Console.WriteLine("Graduating treatment campaign for further manual analysis."); GraduateExperiment(client, customerId, experimentResourceName); } else { Console.WriteLine( "Intra-campaign trial detected: graduation is not supported. " + "Continuing to run the experiment to gather more conversion data."); } return; } } // 3. Print status if no action was taken. if (hasConvMetrics || hasClickMetrics) { string convStatus = hasConvMetrics ? $"Conversions (p={metrics.ConversionsAbsoluteChangePValue:F2}, " + $"lift={metrics.ConversionsAbsoluteChangePointEstimate:F2} +/- " + $"{metrics.ConversionsAbsoluteChangeMarginOfError:F2})" : "Conversions (not populated)"; string clickStatus = hasClickMetrics ? $"Clicks (p={metrics.ClicksPValue:F2}, " + $"lift={metrics.ClicksPointEstimate:F2} +/- " + $"{metrics.ClicksMarginOfError:F2})" : "Clicks (not populated)"; Console.WriteLine( $"Inconclusive: No significant action taken. {convStatus}, {clickStatus}. " + "Allowing the experiment to continue running."); } else { Console.WriteLine( "Conversion and click performance metrics are not yet populated. " + "Allowing the experiment to continue running."); } }
PHP
This example is not yet available in PHP; you can take a look at the other languages.
Python
def evaluate_experiment( client: GoogleAdsClient, customer_id: str, row: GoogleAdsRow ) -> None: """Evaluates the performance of the experiment and updates it accordingly (for example, promotes, ends, or graduates). Checks conversion and click metrics against statistical significance thresholds to determine the appropriate action to take on the experiment. Args: client: an initialized GoogleAdsClient instance. customer_id: a client customer ID. row: a GoogleAdsRow containing the experiment and metrics. """ # This function evaluates performance metrics and immediately takes action # to update the experiment's status (promote, end, or graduate) if # statistical significance thresholds are met. metrics = row.metrics experiment_resource_name = row.experiment.resource_name has_conv_metrics = ( "conversions_absolute_change_p_value" in metrics and "conversions_absolute_change_point_estimate" in metrics and "conversions_absolute_change_margin_of_error" in metrics ) has_click_metrics = ( "clicks_p_value" in metrics and "clicks_point_estimate" in metrics and "clicks_margin_of_error" in metrics ) # 1. Evaluate conversion success as a primary success signal if available. # - Point Estimate: Represents the estimated average lift or difference in conversions. # - Margin of Error: Outlines the confidence interval bounds. Note that the margin_of_error provided by the API is calculated for a preset confidence level which is set based on the experiment type. # - Lower Bound: (Point Estimate - Margin of Error). If this value is above 0, # we have statistical significance that performance has improved. if has_conv_metrics: conv_p_value = metrics.conversions_absolute_change_p_value conv_lift = metrics.conversions_absolute_change_point_estimate conv_error = metrics.conversions_absolute_change_margin_of_error conv_lower_bound = conv_lift - conv_error if conv_p_value <= P_VALUE_THRESHOLD: if conv_lower_bound > 0: print( "Significant Success: Conversions increased. Even at the lower" f" bound, the lift is {conv_lower_bound:.2f}. Promoting" " changes." ) promote_experiment( client, customer_id, experiment_resource_name ) return elif (conv_lift + conv_error) < 0: print( "Significant Decline: Even the upper bound" f" ({conv_lift + conv_error:.2f}) is below zero. Ending" " experiment." ) end_experiment(client, customer_id, experiment_resource_name) return # 2. Evaluate click volume as a secondary signal. # This is helpful as an early indicator or for lower-volume accounts. click_p_value = metrics.clicks_p_value click_lift = metrics.clicks_point_estimate click_error = metrics.clicks_margin_of_error click_lower_bound = click_lift - click_error if click_p_value <= P_VALUE_THRESHOLD and click_lower_bound > 0: # We have a directional winner: high confidence in more traffic, # but not enough data to confirm conversion impact yet. print(f"Click volume is significantly up (+{click_lift*100:.1f}%).") # Graduation is only supported for separate campaign experiments, not # intra-campaign experiments where there is no separate treatment campaign. experiment_type_name = row.experiment.type_.name if ( experiment_type_name != "ADOPT_BROAD_MATCH_KEYWORDS" and experiment_type_name != "ADOPT_AI_MAX" ): print( "Graduating treatment campaign for further manual analysis." ) graduate_experiment( client, customer_id, experiment_resource_name ) else: print( "Intra-campaign trial detected: graduation is not supported. " "Continuing to run the experiment to gather more conversion data." ) return # 3. Print status if no action was taken. if has_conv_metrics or has_click_metrics: conv_status = ( f"Conversions (p={metrics.conversions_absolute_change_p_value:.2f}, " f"lift={metrics.conversions_absolute_change_point_estimate:.2f} +/- " f"{metrics.conversions_absolute_change_margin_of_error:.2f})" if has_conv_metrics else "Conversions (not populated)" ) click_status = ( f"Clicks (p={metrics.clicks_p_value:.2f}, " f"lift={metrics.clicks_point_estimate:.2f} +/- " f"{metrics.clicks_margin_of_error:.2f})" if has_click_metrics else "Clicks (not populated)" ) print( f"Inconclusive: No significant action taken. {conv_status}, {click_status}." " Allowing the experiment to continue running." ) else: print( "Conversion and click performance metrics are not yet populated. " "Allowing the experiment to continue running." )
Ruby
def evaluate_experiment(client, customer_id, row) # This function evaluates performance metrics and immediately takes action # to update the experiment's status (promote, end, or graduate) if # statistical significance thresholds are met. metrics = row.metrics experiment_resource_name = row.experiment.resource_name has_conv_metrics = !metrics.nil? && metrics.has_conversions_absolute_change_p_value? && metrics.has_conversions_absolute_change_point_estimate? && metrics.has_conversions_absolute_change_margin_of_error? has_click_metrics = !metrics.nil? && metrics.has_clicks_p_value? && metrics.has_clicks_point_estimate? && metrics.has_clicks_margin_of_error? # 1. Evaluate conversion success as a primary success signal if available. # - Point Estimate: Represents the estimated average lift or difference in conversions. # - Margin of Error: Outlines the confidence interval bounds. Note that the margin_of_error # provided by the API is calculated for a preset confidence level which is set based on the experiment type. # - Lower Bound: (Point Estimate - Margin of Error). If this value is above 0, # we have statistical significance that performance has improved. if has_conv_metrics conv_p_value = metrics.conversions_absolute_change_p_value conv_lift = metrics.conversions_absolute_change_point_estimate conv_error = metrics.conversions_absolute_change_margin_of_error conv_lower_bound = conv_lift - conv_error if conv_p_value <= P_VALUE_THRESHOLD if conv_lower_bound > 0 puts sprintf( "Significant Success: Conversions increased. Even at the lower " \ "bound, the lift is %.2f. Promoting changes.", conv_lower_bound, ) promote_experiment(client, customer_id, experiment_resource_name) return elsif (conv_lift + conv_error) < 0 puts sprintf( "Significant Decline: Even the upper bound (%.2f) is below zero. " \ "Ending experiment.", conv_lift + conv_error, ) end_experiment(client, customer_id, experiment_resource_name) return end end end # 2. Evaluate click volume as a secondary signal. # This is helpful as an early indicator or for lower-volume accounts. if has_click_metrics click_p_value = metrics.clicks_p_value click_lift = metrics.clicks_point_estimate click_error = metrics.clicks_margin_of_error click_lower_bound = click_lift - click_error if click_p_value <= P_VALUE_THRESHOLD && click_lower_bound > 0 # We have a directional winner: high confidence in more traffic, # but not enough data to confirm conversion impact yet. puts sprintf("Click volume is significantly up (+%.1f%%).", click_lift * 100) # Graduation is only supported for separate campaign experiments, not # intra-campaign experiments where there is no separate treatment campaign. experiment_type = row.experiment.type if experiment_type != :ADOPT_BROAD_MATCH_KEYWORDS && experiment_type != :ADOPT_AI_MAX puts "Graduating treatment campaign for further manual analysis." graduate_experiment(client, customer_id, experiment_resource_name) else puts "Intra-campaign trial detected: graduation is not supported. " \ "Continuing to run the experiment to gather more conversion data." end return end end # 3. Print status if no action was taken. if has_conv_metrics || has_click_metrics conv_status = if has_conv_metrics sprintf( "Conversions (p=%.2f, lift=%.2f +/- %.2f)", metrics.conversions_absolute_change_p_value, metrics.conversions_absolute_change_point_estimate, metrics.conversions_absolute_change_margin_of_error, ) else "Conversions (not populated)" end click_status = if has_click_metrics sprintf( "Clicks (p=%.2f, lift=%.2f +/- %.2f)", metrics.clicks_p_value, metrics.clicks_point_estimate, metrics.clicks_margin_of_error, ) else "Clicks (not populated)" end puts "Inconclusive: No significant action taken. #{conv_status}, #{click_status}. " \ "Allowing the experiment to continue running." else puts "Conversion and click performance metrics are not yet populated. " \ "Allowing the experiment to continue running." end end
Perl
This example is not yet available in Perl; you can take a look at the other languages.
curl
Преимущества по сравнению с отчетами о кампаниях
У отчетов об экспериментах есть несколько преимуществ по сравнению с отдельными запросами отчетов о кампаниях:
- Централизованные показатели. Показатели контрольной и экспериментальной групп приводятся в одной строке.
- Данные о статистической достоверности. Рассчитанные p-значения, точечные оценки и пределы погрешности.
- Эффективность. Вам не нужно вручную объединять или сравнивать результаты из нескольких отчетов.
- Поддержка экспериментов внутри кампании. Вы можете сравнивать контрольную и экспериментальную группы в экспериментах внутри кампании, когда трафик разделяется в рамках одной кампании.
Отчеты о кампаниях
Во всех поддерживаемых версиях Google Ads API (v23 и более поздних) для экспериментов, в которых создаются отдельные экспериментальные кампании (например, SEARCH_CUSTOM), вы можете запрашивать ресурс campaign и использовать поле campaign.experiment_type, чтобы идентифицировать контрольные (BASE) и экспериментальные (EXPERIMENT) кампании. Этот подход полезен, когда вам нужно сегментировать показатели на более детальном уровне (например, по группе объявлений или ключевому слову) или просмотреть метаданные кампании, недоступные в ресурсе experiment. Однако в этом случае вам придется вручную сравнивать эффективность и выполнять статистические расчеты.
Для сравнения групп в экспериментах в рамках кампании нельзя использовать отчеты на уровне кампании, поскольку разделение трафика происходит внутри одной кампании. Запрос ресурса campaign для эксперимента в рамках кампании возвращает только агрегированные итоги.
Отчеты Brand Lift
В Google Ads API версии 25 и более поздних вы можете оценивать, как ваши рекламные кампании влияют на восприятие бренда, запрашивая доступные только для чтения (OUTPUT_ONLY) ресурсы LiftMeasurementFlight, LiftMeasurementConfig и ресурсы разбивки Brand Lift (LiftMeasurementAgeRange, LiftMeasurementCampaign, LiftMeasurementDevice, LiftMeasurementGender и LiftMeasurementVideo). В Google Ads API версии 27 и более поздних вы также можете выбрать поле lift_guidance (lift_guidance.outcome и lift_guidance.guidance_message) для статистической интерпретации на уровне строк.
Пороговые значения для ответов на опросы, диагностика пустых ответов (results: []), интерпретация результатов и примеры запросов GAQL приведены в разделе Отчеты Brand Lift руководства по отчетам о росте.
Отчеты о росте конверсий
В Google Ads API версии 25 и более поздних версиях отчеты Conversion Lift позволяют оценить дополнительное влияние рекламы на конверсии, ценность конверсий, цену за дополнительную конверсию (iCPA) и дополнительную рентабельность инвестиций в рекламу (iROAS). Для этого сравниваются данные по группе, видевшей рекламу, и контрольной группе, не видевшей рекламу, на основе ежедневных сводных оценок (segments.conversion_lift_start_date и segments.conversion_lift_end_date) в ресурсе LiftMeasurementConfig. В Google Ads API версии 26 и более поздних вы также можете находить связанные конфигурации и кампании с помощью полей campaign.lift_measurement_config и lift_measurement_config.campaigns, а в Google Ads API версии 27 и более поздних – выбирать lift_measurement_config.lift_guidance для интерпретации статистики на уровне строк.
В руководстве по отчетам о Conversion Lift вы найдете информацию о том, как создавать исследования и группы объявлений, выбирать диапазоны дат для сводных данных, настраивать области действия конверсий (SELECTED и ALL), разбивать данные по параметрам и устанавливать пороговые значения для отчетов. Также в руководстве приведены примеры запросов GAQL. Подробнее об отчетах о Conversion Lift…
Отчеты об A/B-тестировании и росте конверсий
В Google Ads API версии 25 и более поздних версиях исследования Conversion Lift с A/B-тестированием сочетают двухвариантную experiment (обнаруживается с помощью ресурса ExperimentArm и поля experiment.lift_measurement_config) с измерением контрольной группы в ресурсе LiftMeasurementConfig.
Добавьте сегмент segments.experiment_arm и показатели байесовской оценки победителя (metrics.*_winner_score), чтобы оценить причинно-следственный рост для каждой группы и вероятность победы в прямом сравнении.
Информацию о том, как находить группы эксперимента, выполнять запросы по отдельным группам и по их комбинациям, интерпретировать оценку победителя и выполнять пакетные запросы по нескольким исследованиям, вы найдете в разделе Отчеты об A/B-тестировании и Conversion Lift руководства по отчетам о росте.
Отчеты об эффективности на основе поисковых запросов
В Google Ads API версии 26 и более поздних версиях в отчетах об эффективности на основе поисковых запросов отражается дополнительный рост количества поисковых запросов в Google Поиске и на YouTube, вызванный вашими рекламными кампаниями. Запросите ресурс SearchLiftKeywordBundle, чтобы получить настроенные пакеты ключевых слов, и ресурс LiftMeasurementConfig (с lift_measurement_config.lift_guidance в Google Ads API версии 27 и более поздних), чтобы получить относительные и нормализованные показатели дополнительных поисковых запросов.
Правила сегментирования, определения показателей и примеры запросов GAQL для Search Lift приведены в разделе Отчеты о Search Lift руководства по отчетам о росте.
Рекомендации
Приведенные ниже рекомендации относятся к стандартным A/B-экспериментам (например, экспериментам в кампаниях и внутри кампаний). В исследованиях измерения роста (Brand Lift, Conversion Lift и Search Lift) используются специальные конфигурации и сообщаются 90 % односторонние доверительные границы (*_p90_lower_bound и *_p90_upper_bound, которые вместе образуют 80 % двусторонний доверительный интервал с p_value <= 0.10), а не 95 % доверительный порог. Пороговые значения и интерпретация результатов приведены в руководстве по отчетам о росте.
- Выберите подходящий уровень достоверности. Если задать более низкое пороговое значение p-value, вы быстрее получите ориентировочные данные, особенно при небольших бюджетах или объемах конверсий. Уровень достоверности 95 % (
p_value <= 0.05) – это академический стандарт, который обеспечивает более высокую точность за более длительный период времени. - Проводите эксперименты достаточно долго. Эксперимент должен длиться не менее четырех недель, чтобы учесть еженедельные циклы эффективности, задержки конверсий и периоды обучения.
- Дайте время на адаптацию. Если в кампаниях используется автоматическое назначение ставок или вы тестируете новые функции, не учитывайте данные за первые 1–2 недели. Это позволит моделям назначения ставок и уровням трафика адаптироваться к разделению.
- Разделяйте трафик поровну. Обычно это позволяет быстрее всего получить статистически значимые результаты.
- Запланируйте эксперимент заранее. Установите дату начала эксперимента через 3–7 дней, чтобы у вас было время на проверку и одобрение объявлений.