Baseline prüfen

Die Baseline ist das erwartete Ergebnis im kontrafaktischen Szenario, wo alle Testvariablen auf ihre Baseline-Werte festgelegt sind. Für kostenpflichtige und organische Media sind die Baseline-Werte null. Bei nicht mediabezogenen Testvariablen kann der Baseline-Wert auf den beobachteten Mindestwert der Variablen (Standard), den Höchstwert oder einen vom Nutzer angegebenen Gleitkommawert festgelegt werden. Auf Grundlage der geschätzten Baseline lässt sich nachvollziehen, was passiert wäre, wenn keine Variablen für kostenpflichtige oder organische Media oder keine nicht mediabezogenen Testvariablen verwendet worden wären. Die Schätzung der Baseline ist wichtig und unerlässlich im Hinblick auf die kausale Inferenz der Testvariablen.

Negativität der Baseline prüfen

Das Ergebnis (entweder Umsatz oder KPI, siehe Glossar) darf nicht negativ sein. Eine negative Baseline weist auf einen statistischen Fehler bei der kausalen Inferenz der Effekte der Testvariablen hin. Wie bei allen statistischen Modellen ist bei Meridian ein gewisser statistischer Fehler zu erwarten. Eine extrem negative Baseline weist jedoch auf einen äußerst großen Fehler hin.

Ein Modellergebnis mit einer extrem negativen Baseline zeigt, dass das Modell angepasst werden muss. Es ist ein klares Signal, dass die Modelleinstellungen, die zum Anpassen des Modells verwendeten Daten oder die Prior-Wahrscheinlichkeiten angepasst werden sollten (siehe Abschnitt Negative oder niedrige Baseline anpassen). Dazu ist eine sorgfältigere und iterative Modellentwicklung erforderlich, die letztendlich zu einem genaueren, zuverlässigeren und aufschlussreicheren Modell führt.

Meridian ist ein statistisches und probabilistisches Modell. Wenn Sie es verwenden, empfiehlt es sich, die Negativität der Baseline mit probabilistischen Methoden zu prüfen. Berücksichtigen Sie insbesondere, wie hoch die Posterior-Wahrscheinlichkeit ist, dass die aggregierte Baseline für das gesamte Zeitfenster negativ ist. Ist sie zu hoch, kann das Modellergebnis einen großen statistischen Fehler aufweisen. Die Posterior-Wahrscheinlichkeit lässt sich folgendermaßen berechnen:

from meridian.analysis import analyzer
from meridian.model import model
import numpy as np

mmm = model.Meridian(...)
mmm.sample_posterior(...)
a = analyzer.Analyzer(mmm)
posterior_baseline_draws = a._calculate_baseline_expected_outcome()
posterior_negative_baseline_prob = np.mean(posterior_baseline_draws < 0)

Alternativ können Sie die Punktschätzung der Baseline für das gesamte Zeitfenster analysieren (siehe Abschnitt Diagramme zu Channel-Beiträgen). Berücksichtigen Sie dabei aber, dass Meridian ein statistisches und probabilistisches Modell ist und eine Punktschätzung mit einer erheblichen Unsicherheit verbunden sein kann. Ein negativer Punktschätzwert für die Baseline deutet nicht unbedingt auf einen Modellbias hin. Er weist auf einen Fehler hin, der auf einen Bias oder eine Varianz zurückzuführen sein kann (siehe Aufschlüsselung der mittleren quadratischen Abweichung in Bias und Varianz). Das gilt insbesondere, wenn die Daten nur wenige Informationen liefern (siehe Abschnitt Erforderliche Datenmenge).

Wir raten davon ab, eine Baseline-Zeitreihe (siehe Abbildung in Abschnitt Diagramme zur Anpassung des Modells) überzubewerten, die gelegentlich negative Werte aufweist. Ein vereinzelter, insbesondere ein kleiner negativer Ausschlag weist auf einen geringfügigen Fehler hin, der jedem statistischen Modell innewohnt.

Negative Baseline gegenüber Prozentsatz des Beitrags

Es gibt einen feinen Unterschied zwischen „Gesamtbeitrag größer als 100 % des beobachteten Ergebnisses“ (tritt auf, wenn das inkrementelle Ergebnis höher ist als das beobachtete Ergebnis) und „negative Baseline“ (tritt auf, wenn das inkrementelle Ergebnis höher ist als das erwartete Ergebnis). Die Posterior-Verteilung des erwarteten Gesamtergebnisses ist in der Regel sehr nahe am beobachteten Gesamtergebnis, während die Prior-Verteilung des erwarteten Ergebnisses normalerweise eine große Varianz aufweist und nicht um das beobachtete Ergebnis herum konzentriert ist. Daher ist es nicht sinnvoll, die Prior-Wahrscheinlichkeit einer negativen Baseline zu bewerten. Stattdessen sollten Sie bewerten, wie hoch die Wahrscheinlichkeit ist, dass der Beitrag 100 % des beobachteten Ergebnisses übersteigt.

Beachten Sie auch, dass das erwartete Gesamtergebnis vom beobachteten Gesamtergebnis abweichen kann, wenn in Ihrem Modell revenue_per_kpi-Werte mit hoher Varianz verwendet werden. Normalerweise liegt der erwartete KPI insgesamt sehr nah am beobachteten Gesamt-KPI. Eine hohe Varianz bei revenue_per_kpi kann jedoch zu einer Abweichung zwischen dem erwarteten Gesamtergebnis und dem beobachteten Gesamtergebnis führen.

Negative oder niedrige Baseline anpassen

Berechnen Sie zuerst, wie hoch die Prior-Wahrscheinlichkeit ist, dass der Gesamtbeitrag der Testvariablen höher als 100 % des Gesamtergebnisses ist:

from meridian.model import model
from meridian.analyzer import analyzer
import numpy as np

mmm = model.Meridian(...)
mmm.sample_prior(1000)
a = analyzer.Analyzer(mmm)
outcome = mmm.kpi
if mmm.revenue_per_kpi is not None:
  outcome *= mmm.revenue_per_kpi
total_outcome = np.sum(outcome)
prior_contribution = a.incremental_outcome(use_posterior=False) / total_outcome
total_prior_contribution = np.sum(prior_contribution, -1)
np.mean(total_prior_contribution > 1, (0, 1))

Ermitteln Sie im nächsten Schritt, wie hoch die Prior-Wahrscheinlichkeit ist, dass der Beitrag jeder einzelnen Testvariablen größer als 100 % ist:

np.mean(prior_contribution > 1, (0, 1))

Wenn diese Prior-Wahrscheinlichkeiten zu hoch sind, insbesondere wenn die Daten nur wenige Informationen liefern (siehe Abschnitt Wenn der Posterior gleich dem Prior ist), kann ein Problem mit negativen Baselines auftreten. Passen Sie die Prior-Wahrscheinlichkeit gegebenenfalls an und bewerten Sie die benutzerdefinierten Prior-Wahrscheinlichkeiten dann anhand der oben beschriebenen Prüfungen noch einmal:

  • Eine negative Baseline bedeutet, dass den Effekten der Testvariablen zu viel Einfluss auf das Gesamtergebnis zugeschrieben wird. Um dem entgegenzuwirken, sollten Sie benutzerdefinierte Prior-Verteilungen für die Effekte der Testvariablen festlegen (siehe Arten der Testvariablen-Priors auswählen) und so die Prior-Wahrscheinlichkeit reduzieren, dass der Gesamtbeitrag der Testvariablen mehr als 100 % des beobachteten Gesamtergebnisses ausmacht. Insbesondere kann ein benutzerdefinierter contribution-Prior--Typ sinnvoll sein.
  • Ein Channel mit großen Ausgaben und einem hohen ROI (Return on Investment) könnte darauf hindeuten, dass auf diesen Channel mehr als 100 % des Ergebnisses entfallen, was zu einer negativen Baseline führt. Wenn Ihr Ergebnis beispielsweise der Umsatz ist und die Ausgaben für einen Channel 20 % der Gesamteinnahmen entsprechen, würde ein ROI von 5,0 darauf hinweisen, dass über diesen Channel 100 % des Umsatzes erzielt werden. Das heißt, der Beitrag des Channels wäre 100 %. Der tatsächliche ROI ist aber wahrscheinlich viel niedriger als 5,0. Wenn Sie einen Prior-ROI festlegen, der dies widerspiegelt, können Sie eine negative Baseline vermeiden. Als Faustregel gilt: Der ROI-Prior im 90. Perzentil für einen Channel sollte nicht dazu führen, dass der Beitrag des Channels größer als 100 % wird.
  • Wenn kostenpflichtigen Media ein zu großer Beitrag zugerechnet wird, können Sie den ROI-Prior bezogen auf den Gesamtbeitrag von Media festlegen. Dann ist die Prior-Wahrscheinlichkeit gering, dass dieser Gesamtbeitrag größer als 100 % ist. Weitere Informationen finden Sie im Abschnitt Benutzerdefinierter Prior für den Gesamtbeitrag kostenpflichtiger Media.

Neben der Prior-Wahrscheinlichkeit gibt es noch einige andere mögliche Faktoren, die Sie untersuchen sollten:

  • Das Modell enthält nicht genügend hochwertige Kontrollvariablen, das heißt solche, die sich sowohl auf die Media-Ausführung als auch auf die Antwort auswirken. Sie können aussagekräftigere Kontrollvariablen oder gegebenenfalls auch Kontrollvariablen für die Skalierung der Grundgesamtheit hinzufügen, wie etwa das Suchvolumen. In Meridian werden Kontrollvariablen nicht standardmäßig auf die Grundgesamtheit skaliert. Wenn Sie die Skalierung selbst vornehmen möchten, verwenden Sie control_population_scaling_id in ModelSpec.
  • Das Modell erfasst die zeitabhängigen Einflüsse nicht ausreichend. In diesem Fall haben Sie die Möglichkeit, die Anzahl der knots zu erhöhen oder geeignetere Knotenpositionen auszuwählen.

Baseline im Hinblick auf Trend und Saisonalität prüfen

Prüfen Sie, ob die Baseline-Zeitreihe (siehe Abbildung in Abschnitt Diagramme zur Anpassung des Modells) dem erwarteten Trend und der erwarteten Saisonalität der Basisnachfrage entspricht. Wenn die Baseline den Trend oder die Saisonalität in den erwarteten Zeiträumen nicht erfasst, empfiehlt es sich, mehr Knoten in der Nähe dieser Zeiträume auszuwählen. Dazu legen Sie knots auf eine Liste fest, die Knotenpositionen angibt. Berücksichtigen Sie außerdem eventuell Kontrollvariablen, die den Trend oder die Saisonalität in der Basisnachfrage erfassen könnten (siehe den Abschnitt Kontrollvariablen).