Die Standard-ROI-Priors von Meridian sind mäßig informativ. Eine der hilfreichsten Methoden, um die Schätzungen Ihres Meridian-Modells zu verbessern, ist die Kalibrierung von ROI-Priors mit Tests zur Steigerung. Mit Tests zur Steigerung der Conversion wird eine experimentelle Grundwahrheit ermittelt, um die Meridian-Schätzungen zu kalibrieren. So wird sichergestellt, dass Ihre ROI-Messwerte die kausale Wirkung widerspiegeln.
Da Tests für alle Media-Channels logistisch komplex und teuer sind, hilft Meridian dabei, Channels zu identifizieren, bei denen das Modell eine hohe Unsicherheit, potenzielle Verzerrungen oder unrealistische Referenzschätzungen aufweist. So können Sie die Tests besser priorisieren. Dazu wird für jeden Channel in Ihrem MMM eine Empfehlung und ein Wert für die Channel-Kalibrierung auf oberster Ebene ausgegeben.
Anhand dieser Empfehlungen und Werte können Sie diese Channels identifizieren und bewerten, bei welchen Channels es am sinnvollsten wäre, den ROI-Prior durch einen Test zur inkrementellen Conversion zu kalibrieren, z. B. mit Meridian GeoX. Weitere Informationen zum Einrichten und Durchführen eines Meridian GeoX-Tests finden Sie unter Meridian GeoX.
Empfehlung zur Channel-Kalibrierung ausführen
Die Empfehlungen und Werte für die Meridian-Channel-Kalibrierung sind im Bericht zum Modellzustand verfügbar, der mit folgendem Befehl generiert werden kann:
from IPython import display
from meridian.analysis.review import reviewer
from meridian.model import model
mmm = model.Meridian(...)
health_summary = reviewer.ModelReviewer(mmm).run()
filename = 'health_card.html'
health_summary.output_model_health_card(filename=filename, filepath=meridian_root)
display.HTML(filename=f'{meridian_root}{filename}')
So schlägt Meridian Channels für die Kalibrierung vor
Meridian schlägt Channels für die Kalibrierung vor, indem ein zusammengesetzter Kalibrierungswert berechnet und Channels mit Werten unter 67.5 gekennzeichnet werden. Der zusammengesetzte Kalibrierungswert ist ein einheitliches Maß dafür, wie stark ein bestimmter Channel von der Kalibrierung profitieren würde. Dabei werden die Messwerte für unplausiblen ROI, ROI mit hoher Varianz und potenzielle Bias in einem einzigen skalaren Wert zusammengefasst.
Anhand dieses zusammengesetzten Werts können Sie zwischen ähnlich gekennzeichneten Channels unterscheiden und entscheiden, welche Channels priorisiert werden sollen:
- Höhere Werte (nahe 100): gelten als besser und würden weniger von einer Kalibrierung profitieren.
- Niedrigere Werte (nahe 0): gelten als weniger gut und würden stärker von einer Kalibrierung profitieren.
Der zusammengesetzte Gesamtwert für die Kalibrierung ist der gewichtete Durchschnitt von drei Komponentenwerten: dem Wert für unplausible ROI-Werte, dem Wert für ROI-Werte mit hoher Varianz und dem Wert für potenzielle Bias. Diese Werte basieren auf vier einzelnen Kriterien für Channel-Empfehlungen.
Kriterien für Channel-Empfehlungen
Meridian führt vier Prüfungen durch, wenn Media-Channels und Channels für Reichweite und Häufigkeit für die Kalibrierung empfohlen werden:
- Unplausibel hohe ROI-Schätzungen.
- Unplausibel niedrige ROI-Schätzungen.
- ROI-Schätzungen mit hoher Varianz.
- Hohes Potenzial für Bias.
Die Kriterien für unplausibel hohe, unplausibel niedrige sowie stark variierende ROI-Werte werden nach Ausgaben gewichtet. So wird berücksichtigt, dass Channels mit geringen Ausgaben oft eine höhere Varianz aufweisen, was wiederum zu extremen Punktschätzungen und weit gefassten Posterior-Verteilungen führen kann. Bei der Ausgabengewichtung wird die Kalibrierung für Channels mit höheren Ausgaben priorisiert, da sie für das Unternehmen wichtiger sind.
Die allgemeine Kalibrierungsempfehlung basiert auf dem zusammengesetzten Kalibrierungswert. Wenn Kriterien gekennzeichnet sind, werden sie als Faktor für Empfehlungen zur Channel-Kalibrierung bezeichnet. Die einzelnen Kriterien werden in diesem Abschnitt erläutert.
Unplausibel hoher ROI
Meridian prüft, ob ein unplausibel hoher ROI ein Faktor für die Kalibrierungsempfehlung ist. Dazu wird der ausgabengewichtete ROI berechnet und mit einem definierten oberen Schwellenwert ( \(T_{\text{high_roi}}\)) verglichen. Der Channel \(i\) ist ein Faktor, wenn sein ausgabengewichteter durchschnittlicher ROI den Schwellenwert überschreitet:
\[ \frac{\text{spend}_{i}}{\sum_{j}\text{spend}_{j}}\cdot ROI_{i} > T_{\text{high_roi}} \]
Dabei sind \(\text{spend}_{i}\) und \(ROI_{i}\) die Ausgaben bzw. der ROI des Channels\(i\). Die Summe im Nenner wird über alle kostenpflichtigen Media-Channels und Channels für Reichweite und Häufigkeit gebildet.
Standardmäßig \(T_{\text{high_roi}}=20\).
Unplausibel niedriger ROI
Ebenso prüft Meridian, ob ein unplausibel niedriger ROI ein Grund für die Kalibrierungsempfehlung ist. Dazu wird der mit den Kehrwerten der Ausgaben gewichtete ROI berechnet und mit einem definierten unteren Schwellenwert \(T_{\text{low_roi}}\)verglichen. Meridian verwendet in diesem Fall eine Gewichtung mit dem Kehrwert der Ausgaben, da die Ungleichung eine Untergrenze darstellt. Der Channel \(i\) ist ein Faktor, wenn sein nach dem Kehrwert der Ausgaben gewichteter durchschnittlicher ROI unter dem Schwellenwert liegt:
\[ \left(\frac{\text{spend}_{i}}{\sum_{j}\text{spend}_{j}}\right)^{-1} \cdot ROI_{i} < T_{\text{low_roi}} \]
Dabei sind \(\text{spend}_{i}\) und \(ROI_{i}\) die Ausgaben bzw. der ROI des Channels\(i\). Die Summe im Nenner wird über alle kostenpflichtigen Media-Channels und Channels für Reichweite und Häufigkeit gebildet.
Standardmäßig \(T_{\text{low_roi}}=0.5\).
ROI mit hoher Varianz
Mit diesem Kriterium werden Channels identifiziert, bei denen die Schätzung des Modells sehr unsicher ist. Meridian prüft auf hohe Varianz, indem die Breite des glaubwürdigen Posterior-ROI-Intervalls des Channels mit der Breite des glaubwürdigen Prior-ROI-Intervalls von Meridian verglichen wird. Letzteres ist standardmäßig LogNormal(0.2, 0.9). Dabei wird die ausgabenbezogene, normalisierte Breite des glaubwürdigen Intervalls des 80. Perzentils mit der Breite des glaubwürdigen Intervalls des 80. Perzentils des standardmäßigen Meridian-Priors (LogNormal(0.2, 0.9)) verglichen. Der Channel \(i\) wird gekennzeichnet, wenn diese relative Breite einen Schwellenwert \(T_{\text{high_variance}}\)überschreitet. Konkret gilt:
- \(\text{CI}^{(u)}\) ist die Obergrenze des glaubwürdigen Intervalls des 80. Perzentils des Posterior-ROI des Channels \(i\).
- \(\text{CI}^{(l)}\) ist die Untergrenze des glaubwürdigen Intervalls für das 80. Perzentil des Posterior-ROI des Channels \(i\).
- \(\tilde{x} \) ist der Medianwert des Posterior-ROI des Channels \(i\).
- \(\text{CI}_\text{default}^{(u)}=2.64\) ist die Obergrenze des 80. Perzentils des Glaubwürdigkeitsintervalls des Standard-ROI-Priors von Meridian.
- \(\text{CI}_\text{default}^{(l)}=0.11\) ist die Untergrenze des 80. Perzentils des Glaubwürdigkeitsintervalls des Standard-ROI-Priors von Meridian und
- \(\tilde{x}_\text{default}=1.22\) ist der Medianwert des Standard-ROI-Priors von Meridian.
Die ROI-Prüfung auf hohe Varianz ist dann
\[ \left(\frac{\text{spend}_{i}}{\sum_{j}\text{spend}_{j}}\right)\left(\frac{( \text{CI}^{(u)} - \text{CI}^{(l)} ) / \tilde{ x}}{(\text{CI}_\text{default}^{(u)} - \text{CI}_\text{default}^{(l)}) /\tilde{x}_\text{default} }\right) > T_\text{high_variance} \]
Dabei sind \(\text{spend}_{i}\) die Ausgaben des Channels \(i\) . Die Summe im Nenner wird über alle kostenpflichtigen Media-Channels und Channels für Reichweite und Häufigkeit gebildet.
Standardmäßig \(T_\text{high_variance}=1.0\).
Potenzielle Verzerrung (Kanäle ohne Störfaktoren)
Die Meridian-Posterior-ROI-Schätzungen können verzerrt sein, wenn in den Modellen wichtige Störvariablen fehlen. Wenn in einem Modell beispielsweise ein Störfaktor für einen Feiertagszeitraum fehlt, kann es fälschlicherweise davon ausgehen, dass natürliche Umsatzsteigerungen durch Channels verursacht wurden, deren Ausgaben im selben Zeitraum zufällig ebenfalls gestiegen sind. Die testbasierte Kalibrierung hilft, diese Verzerrung zu korrigieren, indem die ROI-Schätzungen des Modells auf tatsächlichen kausalen Daten basieren.
Meridian prüft auf potenzielle Verzerrungen, indem für jeden Channel für bezahlte Medien sowie für Reichweite und Häufigkeit die maximale absolute Korrelation mit einer beliebigen Kontrollvariable über alle geografischen Einheiten hinweg berechnet und mit einem Schwellenwert \(T_\text{bias}\)verglichen wird.
Für einen bestimmten kostenpflichtigen Media-Channel oder Channel mit Daten zu Reichweite und Häufigkeit \(i\)sei\(E_{g,t,i}\) die Ausführungsebene:
\[ E_{g,t,i} = \begin{cases} x^{[M]}_{g,t,i} & \text{for paid media channels} \\ r^{[RF]}_{g,t,i} \cdot f^{[RF]}_{g,t,i} & \text{for paid reach and frequency channels} \end{cases} \]
Dabei ist \(x^{[M]}_{g,t,i}\) die Ausführung des kostenpflichtigen Media-Channels \(i\) in der geografischen Einheit \(g\) zum Zeitpunkt \(t\) und \(r^{[RF]}_{g,t,i}\) bzw.\(f^{[RF]}_{g,t,i}\) die Reichweite und Häufigkeit des Channels \(i\) mit Daten zu Reichweite und Häufigkeit in der geografischen Einheit \(g\) zum Zeitpunkt \(t\).
Bei der Prüfung wird der Channel \(i\) gekennzeichnet, wenn seine maximale absolute Korrelation mit einer Kontrollvariablen \(j\) über alle geografischen Einheiten hinweg unter dem Grenzwert liegt:
\[ \max_{j, g} |\text{corr}_t (E_{g,t,i}, z^{[C]}_{g,t,j}) | < T_\text{bias} \]
Dabei ist \(\text{corr}_t(E_{g,t,i}, z^{[C]}_{g,t,j})\) die Korrelation im Zeitverlauf zwischen der Ausführung des Channels und der Kontrollvariable\(z^{[C]}_{g,t,j}\) in der geografischen Einheit \(g\).
Standardmäßig \(T_\text{bias}=0.1\).
Zusammengesetzter Wert für Meridian-Kanalempfehlungen
Der zusammengesetzte Wert für die Channel-Empfehlung ist ein gewichteter Durchschnitt aus einem Wert für einen unplausiblen ROI, einem Wert für einen ROI mit hoher Varianz und einem Wert für einen potenziellen Bias. Die drei einzelnen Komponentenergebnisse werden definiert, indem die binären Kennzeichnungen von Faktoren in kontinuierliche Ergebnisse von 0 bis 100 umgewandelt werden. Der Wert für den unplausiblen ROI wird mit 0.5 gewichtet, da er sowohl unplausibel niedrige als auch unplausibel hohe ROI-Werte abdeckt. Der Wert für den ROI mit hoher Varianz und der Wert für die potenzielle Verzerrung werden jeweils mit 0.25 gewichtet:
\[ \begin{align} \text{composite_calibration_score}\;=\;& 0.5 \cdot \text{implausible_roi_score} \\ +\;& 0.25 \cdot \text{high_variance_roi_score} \\ +\;& 0.25 \cdot \text{potential_bias_score} \end{align} \]
Wert für unplausiblen ROI
Der Wert für den unplausiblen ROI ist ein kombinierter Messwert, der die Prüfungen auf unplausibel niedrigen und unplausibel hohen ROI in einem einzigen Wert zusammenfasst. Meridian definiert den Score anhand des Abstands vom geometrischen Mittelpunkt der Schwellenwerte für niedrigen und hohen ROI. Je weiter vom Mittelpunkt entfernt, desto niedriger ist der Score. Der Score sinkt schnell, sobald die Schwellenwerte für einen hohen oder niedrigen ROI überschritten werden, und nähert sich null, wenn der ROI gegen null oder unendlich geht.
Weitere Informationen finden Sie im Anhang unter Unplausibler ROI-Wert.
ROI-Wert mit hoher Varianz
Der ROI-Wert für hohe Varianz ist eine einseitige Version des ROI-Werts für unplausible Werte, die auf der Breite des glaubwürdigen Posterior-Intervalls des ROI basiert. Der Wert wird auf 100 gesetzt, wenn das ausgabengewichtete relative Glaubwürdigkeitsintervall kleiner als 0.5 ist. Je größer das ausgabengewichtete relative Glaubwürdigkeitsintervall ist, desto niedriger ist der Wert.
Weitere Informationen finden Sie im Anhang unter ROI-Wert mit hoher Varianz.
Wert für potenzielle Bias
Der Wert für potenziellen Bias gibt die maximale Korrelation zwischen Channels und Kontrollvariablen an. Er wird gemäß einer Potenzbeziehung definiert, die auf der maximalen Korrelation (als absoluter Wert) und einem Exponenten basiert.
Weitere Informationen finden Sie im Anhang unter Wert für potenzielle Bias.
Zusammengesetzter Kalibrierungswert auf Modellebene
Der zusammengesetzte Kalibrierungswert auf Modellebene ist der Durchschnitt der Kalibrierungswerte der einzelnen Channels. Kalibrierte Channels haben im Durchschnitt einen Wert von 100, was darauf hinweist, dass sie kalibriert wurden.
Wenn Sie CalibrationBuilder nicht verwenden, aber Channels als kalibriert kennzeichnen möchten, um den zusammengesetzten Score auf Modellebene genau zu berechnen, können Sie die Klasse CalibratedDistribution direkt verwenden:
import numpy as np
import tensorflow_probability.substrates.jax as tfp_jax
from meridian.model.calibration import base
from meridian.model import prior_distribution
# Two media channels. The second channel is self-calibrated
distributions = tfp_jax.distributions.LogNormal(
np.array([0.2, 0.3], dtype=np.float64),
np.array([0.9, 0.7], dtype=np.float64),
)
roi_m_prior = base.CalibratedDistribution(
distributions,
is_calibrated=[False, True],
)
prior = prior_distribution.PriorDistribution(
roi_m=roi_m_prior,
)
# Pass prior to ModelSpec and continue with modeling
Mathematischer Anhang
In diesem Abschnitt werden die technischen Details der Werte für unplausible ROIs, der Werte für ROIs mit hoher Varianz und der Werte für potenzielle Bias beschrieben. Weitere Informationen zur unten verwendeten mathematischen Notation finden Sie in der Referenz zur mathematischen Notation.
Wert für unplausiblen ROI
Meridian verwendet eine normalisierte Bowl-Formel, die die Kriterien für niedrigen und hohen ROI kombiniert, um Kosteneffizienz und Nutzerverständnis zu priorisieren. Mit dieser Formel wird die normalisierte logarithmische Entfernung vom geometrischen Mittelpunkt der nicht markierten Region berechnet. Der Wert wird so berechnet:
- Der geometrische Mittelpunkt der unteren und oberen Grenzwerte wird ermittelt.
- Der Abstand vom ROI des Channels zu diesem Mittelpunkt wird relativ zu den Grenzwerten berechnet.
- Die resultierende Punktzahl wird durch eine Bowl-Form definiert, wobei ein Hyperparameter k die Steilheit der Kurve definiert.
Konkret ist \(z = \log \left(r / M \right)\) der logarithmische Abstand vom geometrischen Mittelpunkt der Schwellenwerte für niedrigen und hohen ROI \(M = \sqrt{T_{\text{low_roi}} \cdot T_{\text{high_roi}}} = \sqrt{10}\). Für jeden Ausgabenprozentsatz \(S_{\%}\)ist der Abstand von \(M\) zum oberen und unteren Grenzwert \(\pm D\) , wobei gilt:
\[ D = \log \left(\frac{1}{S_{\%}}\sqrt{\frac{T_{\text{high_roi}}}{T_{\text{low_roi}}}}\right) \]
Das Verhältnis \(z / D\) definiert einen normalisierten logarithmischen Abstand zu den Grenzwerten. Anschließend definieren wir den normalisierten Bowl-Score als
\[ S_\text{bowl} = 100 \cdot \exp \left( - k \left(\frac{z}{D}\right)^2\right) \]
Dabei ist \(k\) ein Hyperparameter, der die Steilheit der Kurve definiert. Wir wählen \(k = \log (2)\) so aus, dass \(S_\text{bowl} = 1/2\) entlang der Grenzwerte gilt.
ROI-Wert mit hoher Varianz
Der Wert für den ROI mit hoher Varianz ist eine einseitige Version der normalisierten Bowl-Kurve, die für den Wert für den unplausiblen ROI verwendet wird. Da der Referenzpunkt für die Varianz null ist, ist der standardmäßige logarithmische Ansatz, der in der normalisierten Bowl-Kurve verwendet wird, in der Nähe des Referenzpunkts nicht klar definiert.
Um dieses Problem zu beheben, verwendet Meridian eine normalisierte Half-Bowl-Formulierung, die auf der normalisierten Bowl-Formulierung aus der Prüfung auf unplausible ROI-Werte basiert. Diese Half-Bowl-Formulierung ist eine Funktion des relativen glaubwürdigen Intervalls des Posteriors: das ausgabengewichtete, normalisierte, glaubwürdige Intervall des 80. Perzentils des Posterior-ROIs im Verhältnis zur Breite des glaubwürdigen Intervalls des 80. Perzentils des Meridian-Standard-ROI-Priors (LogNormal(0.2, 0.9)). Als Glaubwürdigkeitsintervall wird das Intervall mit der höchsten Dichte verwendet.
Für das relative Glaubwürdigkeitsintervall wird ein idealer Referenzbereich definiert: Wenn die ausgabengewichtete relative Glaubwürdigkeitsintervallbreite kleiner als 0.5 ist, wird die Punktzahl auf 100 gesetzt. Wenn das relative Glaubwürdigkeitsintervall über den idealen Punkt hinaus steigt, sinkt die Punktzahl gemäß der Half-Bowl-Kurve. Konkret wird für jeden Wert von \(S_{\%} \cdot \text{RCI} < T_{\text{ideal}} = 0.5\), wobei RCI das relative Glaubwürdigkeitsintervall des Posterior-ROI ist, die Punktzahl auf 100 gesetzt:
\[ S_{\text{half_bowl}}(\text{RCI}, S_{\%}) = \begin{cases} 100, & S_{\%} \cdot \text{RCI} \le T_{\text{ideal}} \\ 100 \cdot \exp\left(-k \left(\frac{\ln(S_{\%} \cdot \text{RCI}/T_{\text{ideal}})}{\ln(T_{\text{high_variance}}/T_{\text{ideal}})}\right)^2\right), & S_{\%} \cdot \text{RCI} > T_{\text{ideal}} \end{cases} \]
Wie beim unplausiblen ROI-Wert wird \(k = \log(2)\) verwendet.
Wert für potenzielle Bias
Der Wert für die potenzielle Verzerrung ist eine Funktion der maximalen Korrelation zwischen Channels und Kontrollvariablen. Er wird gemäß einer Potenzbeziehung definiert, die auf der maximalen Korrelation (als absoluter Wert) und einem Exponenten basiert. Der Exponent wird explizit so ausgewählt, dass der potenzielle Bias-Wert beim Korrelationsschwellenwert von 0.1 genau 50 beträgt.
- Der Penalty-Wert steigt stark von einer maximalen Korrelation von 0.0 auf 0.1, wobei die Punktzahl 50 beträgt.
- Nach dem Überschreiten von 0.1 steigt der Wert allmählich an, bis er bei einer Korrelation von 100 den maximalen Penalty-Wert erreicht.
Konkret besteht eine Potenzbeziehung:
\[ C_\text{bias} = 100 \cdot \left(b_\text{max}\right) ^ p, \]
Dabei ist \(b_\text{max}\) die maximale absolute Korrelation für den angegebenen Channel zwischen seiner Ausführung und einer beliebigen Kontrollvariable über alle geografischen Einheiten hinweg:
\[ b_\text{max} = \max_{j, g} |\text{corr}_t (E_{g,t,i}, z^{[C]}_{g,t,j}) | \]
Dabei ist \(E_{g,t,i}\) entweder \(x^{[M]}_{g,t,i}\) für kostenpflichtige Media-Channels oder\(r^{[RF]}_{g,t,i} \cdot f^{[RF]}_{g,t,i}\) für kostenpflichtige Channels mit Daten zu Reichweite und Häufigkeit. Hierbei ist \(p\) ein Exponent. \(p=\log(0.5) / \log(T_\text{bias})\)wird so gewählt, dass der Wert für die potenzielle Verzerrung am Schwellenwert der entsprechenden Prüfung, \(T_\text{bias} = 0.1\), genau 50 beträgt.