Modellspezifikation

Das Standardmodell von Meridian ist ein hierarchisches Modell auf geografischer Ebene mit nicht linearen parametrischen Transformationen der Media-Variablen. Mit Zufallskoeffizienten wird die Heterogenität in verschiedenen Regionen berücksichtigt.

Wir empfehlen die Verwendung von Daten auf geografischer Ebene, da sie zuverlässigere Schätzungen ermöglichen. Ein nationales Modell, im Grunde ein Einzelregionenmodell, ist für Fälle verfügbar, in denen keine Daten auf geografischer Ebene vorliegen.

Das Meridian-Modell erweitert bestehende bayessche Modelle (Jin et al., 2017 und Sun et al., 2017). So kommen z. B. Daten zu Reichweite und Häufigkeit (Zhang et al., 2023) hinzu. Außerdem werden zeitabhängige Intercepts zur Modellierung von Trend und Saisonalität einbezogen (Ng et al., 2021) und nicht mediabezogene Behandlungsvariablen sowie Variablen für organische Media hinzugefügt.

Das Modell wird so dargestellt:

$$ \begin{align*} y_{g,t} = \mu_t + \tau_g &+ \sum\limits_{i=1}^{N_{C}} \gamma^{[C]}_{g,i} z_{g,t,i} \\ &+ \sum\limits_{i=1}^{N_N} \gamma^{[N]}_{g,i} x^{[N]}_{g,t,i} \\ &+ \sum\limits_{i=1}^{N_M} \beta^{[M]}_{g,i} HillAdstock \left( \left\{ x^{[M]}_{g,t-s,i} \right\}^L_{s=0}\ ;\ \alpha^{[M]}_i, ec^{[M]}_i, \ slope^{[M]}_i \right) \\ &+ \sum\limits_{i=1}^{N_{OM}} \beta^{[OM]}_{g,i} HillAdstock \left( \left\{ x^{[OM]}_{g,t-s,i} \right\}^L_{s=0}\ ;\ \alpha^{[OM]}_i, ec^{[OM]}_{i}, \ slope^{[OM]}_{i} \right) \\ &+ \sum\limits_{i=1}^{N_{RF}} \beta^{[RF]}_{g,i} Adstock \left( \left\{ r^{[RF]}_{g,t-s,i} \cdot Hill \left( f^{[RF]}_{g,t-s,i};\ ec^{[RF]}_{i},\ slope^{[RF]}_{i} \right) \right\}^L_{s=0}\ ;\ \alpha^{[RF]}_{i} \right) \\ &+ \sum\limits_{i=1}^{N_{ORF}} \beta^{[ORF]}_{g,i} Adstock \left( \left\{ r^{[ORF]}_{g,t-s,i} \cdot Hill \left( f^{[ORF]}_{g,t-s,i};\ ec^{[ORF]}_{i},\ slope^{[ORF]}_{i} \right) \right\}^L_{s=0}\ ;\ \alpha^{[ORF]}_{i} \right) \\ &+ \epsilon_{g,t} \end{align*} $$

Grundlegende Details

Die grundlegenden Details sind:

  • Indexvariablen, wie in Eingabedaten definiert:

    • \(g=1,\ldots,G\) indexiert die geografischen Einheiten
    • \(t=1,\ldots,T\) indexiert die Zeiteinheiten
    • \(i=1,\ldots,N_C\) indexiert die Kontrollvariablen
    • \(i=1,\ldots,N_N\) indexiert die nicht mediabezogenen Testvariablen
    • \(i=1,\ldots,N_M\) indexiert die kostenpflichtigen Media-Channels ohne Daten zu Reichweite und Häufigkeit.
    • \(i=1,\ldots, N_{OM}\) indexiert die organischen Media-Channels ohne Daten zu Reichweite und Häufigkeit.
    • \(i=1,\ldots,N_{RF}\) indexiert die kostenpflichtigen Media-Channels mit Daten zu Reichweite und Häufigkeit.
    • \(i=1,\ldots, N_{ORF}\) indexiert die organischen Media-Channels mit Daten zu Reichweite und Häufigkeit.
  • \(\tau_b = 0\) für die Identifizierbarkeit für eine geografische Einheit \(b\). Mit dem Argument baseline_group kann jede geografische Einheit als Baseline festgelegt werden.

  • \(\{q_{t-s}\}^L_{s=0}\) steht für den Vektor\((q_t, q_{t-1}, \ldots, q_{t-L})\). Mit dieser Schreibweise werden Eingabewerte der Adstock-Funktion angegeben.

  • Der Ganzzahlwert \(L\) ist die maximale Verzögerungsdauer der Media, wie beispielsweise die maximale Dauer der Media-Effekte. Dieser Parameter kann mit dem Argument max_lag festgelegt werden.

  • Beachten Sie Folgendes zu den Funktionen \(\text{Hill}()\) und \(\text{Adstock}()\). Weitere Informationen finden Sie unter Media-Sättigung und ‑Verzögerung.

    $$ \text{Adstock} \left( \left\{ q_{t-s} \right\}^L_{s=0},\ \alpha \right) = \dfrac{\sum\limits^{L}_{s=0}\ \alpha^s q_{t-s} }{\sum\limits^L_{s=0}\ \alpha^s} $$

    Dabei gilt:

    • \(q>0,\ 0 \leq \alpha \leq 1\)
    • \(\alpha \) ist die geometrische Abklingrate.
    $$ \text{Hill} \left( q, ec, \text{slope} \right) = \left( 1 + \left( \dfrac{q}{ec} \right)^{- \text{slope} } \right)^{-1} $$

    Dabei gilt:

    • \(q>0,\ ec>0,\ \text{slope} > 0\)
    • \(ec, \text{slope}\) sind Parameter für Form und Steigung der Hillschen Gleichung.
  • Die \(\text{HillAdstock}()\) -Funktion hängt vom Argument hill_before_adstock ab.

    • Ist der Standardwert hill_before_adstock = False, dann\(\text{HillAdstock}(q;\ \alpha, ec, \text{slope}) = \text{Hill}(\text{Adstock}(q;\ \alpha);\ ec, \text{slope})\)
    • Bei hill_before_adstock = True, dann\(\text{HillAdstock}(q;\ \alpha, ec, \text{slope}) = \text{Adstock}(\text{Hill}(q;\ ec, \text{slope}); \alpha)\)

\( \mu_t \) Parameter

Die \(\mu_t\) Parameter sind zeitabhängige Intercepts, die Trend- und Saisoneffekte im Modell abbilden:

  • \(\mu_t\) werden durch eine Reihe von knot-Parametern\(b_1,b_2,\dots,b_K\) an den entsprechenden Zeitpunkten\(s_1,s_2,\dots,s_K\)bestimmt.

  • Die Zeitpunkte $s_1,\dots,s_K$ liegen zwischen \(1\) und \(T\) und werden durch das Argument knots angegeben.

    • Sie können eine Liste der Knotenpositionen oder nur die Anzahl der Knoten angeben.

    • Wird die Anzahl der Knoten angegeben, werden sie gleichmäßig verteilt und zwei der Knoten befinden sich an den Endpunkten ($s_1=1$ und $s_K=T$).

    • Bei mehreren geografischen Einheiten (\(G>1\)) wird standardmäßig an jedem Zeitpunkt ($s_1=1,s_2=2,\dots,s_K=T$, wobei $K=T$) ein Knoten platziert.

    • Ist \(G=1\) (z. B. ein Modell auf Landesebene), ist standardmäßig ein einzelner Knoten festgelegt, der im Grunde ein gemeinsamer Intercept für alle Zeiträume ist.

  • Die \(\mu_t\) -Werte sind ein gewichteter Durchschnitt der beiden nächstgelegenen benachbarten Knoten, wobei der näher gelegene Knoten stärker gewichtet wird. Angenommen, es gibt Knoten an den Zeitpunkten 9 und 18. Die Schätzung für $\mu_{16}$ wird sowohl vom Knoten an Zeitpunkt 9 als auch vom Knoten bei 18 beeinflusst, wobei der bei 18 stärker gewichtet wird. Nachfolgend sehen Sie, wie die Gewichtung genau berechnet wird. Definieren Sie für jeden Zeitpunkt \(t\)Folgendes:

    • $\ell(t)$ und $u(t)$ sind die Knotenindexe der nächsten benachbarten Knoten. Normalerweise gilt: $\ell(t) < u(t)$. Beachten Sie jedoch, dass $\ell(t) = u(t)$ ist, wenn $t$ genau eine der Knotenpositionen ist oder wenn sich $t$ vor dem ersten oder nach dem letzten Knoten befindet (was der Fall sein kann, wenn benutzerdefinierte Knotenpositionen festgelegt sind oder nur ein Knoten verwendet wird).

      • \(\ell(t) = \max \{\{1\} \cup \{k: s_k \leq t\}\}\)

        • Hinweis: $\ell(t) = 1$, wenn $t < s_1$
      • \(u(t) = \min \{\{K\} \cup \{k: s_k > t\}\}\)

        • Hinweis: $u(t) = K$, wenn $t > s_K$
    • \(w(t) = 1\) wenn \(\ell(t) = u(t)\) ; sonst \(w(t) = \dfrac{s_{u(t)}-t}{s_{u(t)}-s_{\ell(t)}}\).

    • \(\mu_t = w(t)b_{\ell(t)} + (1-w(t))b_{u(t)}\)

  • Die Knotenwerte \(b_1,b_2,\dots,b_K\) haben eine vom Nutzer angegebene Prior-Verteilung.

Diese Methodik basiert auf dem bayesschen Modell mit zeitabhängigen Koeffizienten mit Anwendungen im Marketing Mix Modeling. Es gibt jedoch einige wichtige Unterschiede, darunter eine andere Gewichtungsfunktion und unterschiedlicher Priors sowie das Fehlen von Autoregression.

Weitere Informationen zum Festlegen von Knoten finden Sie unter Funktionsweise des Arguments knots.

Weitere Parameterverteilungen

Weitere Parameterverteilungen:

  • Hier parametrisiert Meridian die Normalverteilung anhand ihres Mittelwerts und ihrer Standardabweichung.

    • \(\gamma_{g,i}^{[C]} \sim \text{Normal}(\gamma_i^{[C]},\xi_i^{[C]})\)
    • \(\gamma_{g,i}^{[N]} \sim \text{Normal}(\gamma_i^{[N]},\xi_i^{[N]})\)
  • Die Verteilung von \(\beta\) hängt vom Argument media_effects_dist ab:

    • \(log(\beta_{g,i}^{[M]})\sim \text{Normal}( \beta_i^{[M]},\eta_i^{[M]})\)
    • \(log(\beta_{g,i}^{[OM]})\sim \text{Normal}( \beta_{i}^{[OM]},\eta_{i}^{[OM]})\)
    • \(log(\beta_{g,i}^{[RF]})\sim \text{Normal}( \beta_{i}^{[RF]},\eta_{i}^{[RF]})\)
    • \(log(\beta_{g,i}^{[ORF]})\sim \text{Normal}( \beta_{i}^{[ORF]},\eta_{i}^{[ORF]})\)

      wenn media_effects_dist = LOG_NORMAL

    • \(\beta_{g,i}^{[M]} \sim \text{Normal}( \beta_i^{[M]},\eta_i^{[M]})\)

    • \(\beta_{g,i}^{[OM]} \sim \text{Normal}( \beta_{i}^{[OM]},\eta_{i}^{[OM]})\)

    • \(\beta_{g,i}^{[RF]} \sim \text{Normal}( \beta_{i}^{[RF]},\eta_{i}^{[RF]})\)

    • \(\beta_{g,i}^{[ORF]} \sim \text{Normal}( \beta_{i}^{[ORF]},\eta_{i}^{[ORF]})\)

      wenn media_effects_dist = NORMAL

  • \(\epsilon_{g,t}\sim \text{Normal}(0,\sigma_g)\):

    • Die Residuen sind unabhängig voneinander, von allen Media- und Kontrollvariablen sowie von allen Modellparametern.

    • Ist unique_sigma_for_each_geo = False (Standardeinstellung), dann\(\sigma_1=\sigma_2=\cdots=\sigma_G=\sigma\).

  • Die übrigen Parameter haben alle benutzerdefinierte Prior-Verteilungen:

    \( \{\gamma_i^{[C]}\}, \{\gamma_i^{[N]}\}, \{\xi_i^{[C]}\}, \{\xi_i^{[N]}\}, \)

    \( \{\beta_i^{[M]}\}, \{ \beta_{i}^{[OM]} \}, \{ \beta_{i}^{[RF]} \}, \{ \beta_{i}^{[ORF]} \}, \)

    \( \{\eta_i^{[M]}\}, \{ \eta_{i}^{[OM]} \}, \{\eta_{i}^{[RF]}\}, \{ \eta_{i}^{[ORF]} \}, \)

    \( \{\alpha_i^{[M]}\}, \{ \alpha_{i}^{[OM]} \}, \{\alpha_{i}^{[RF]}\}, \{ \alpha_{i}^{[ORF]} \}, \)

    \( \{ec_i^{[M]}\}, \{ ec_{i}^{[OM]} \}, \{ec_{i}^{[RF]}\}, \{ ec_{i}^{[ORF]} \}, \)

    \( \{slope_i^{[M]}\}, \{ slope_{i}^{[OM]} \}, \{slope_{i}^{[RF]}\}, \{ slope_{i}^{[ORF]} \}, \)

    \( \{\tau_g\}, \{\sigma_g\}. \)

Sie können einige Aspekte der Modellspezifikation ändern und dabei auf die in den folgenden Abschnitten behandelten Modellierungsoptionen zurückgreifen: Media-Sättigung und ‑Verzögerung, Reichweite und Häufigkeit, Bezahlte Suche und ROI-Priors für die Abstimmung. Sie können auch die Standard-Prior-Verteilungen anpassen.