Unified Schema für MMM

Das Unified Schema ist ein mehrschichtiges Datenschema, das mit Protokollzwischenspeichern definiert wird. Es wurde entwickelt, um das Kernmodell und seine Ausgaben für jedes MMM-Framework (z. B. Google Meridian, Robyn von Meta) darzustellen. Dieses Schema entkoppelt das Modelltraining von praktischen Anwendungen, die die Ausgaben des Modells nutzen. Die Darstellung von Modelleingaben, Statistiken zur Anpassung des Modells, Marketinganalysen und Optimierungen (z. B. Budget, Reichweite/Häufigkeit) wird modellunabhängig standardisiert.

Unified Schema – Übersicht

Wichtigste Funktionen

In der folgenden Liste haben wir die wichtigsten Funktionen und Vorteile des Unified Schemas für Marketing-Mix-Modelle (MMM) zusammengestellt:

  • Framework-unabhängige Standardisierung: Es wird eine gemeinsame, einheitliche Struktur für die Darstellung von MMM-Ein- und ‑Ausgaben festgelegt, unabhängig vom zugrunde liegenden Framework (z. B. Meridian von Google, Robyn von Meta). So lassen sich die Ergebnisse verschiedener Modelle einheitlich interpretieren und vergleichen.
  • Entkopplung: Trennt die Anforderungen an das Trainings-Framework und die Modellrepräsentation voneinander. Downstream-Systeme (z. B. Visualisierungstools) können mit der standardisierten Schemaausgabe interagieren, ohne von den internen Implementierungsdetails der Modellierungsbibliothek abhängig zu sein.
  • Ermöglicht Downstream-Tools: Eine Vielzahl von Downstream-Anwendungen kann eingebunden werden. Beispiele:
    • Berichterstellung
    • Visualisierungsdashboards (z. B. Meridian-Szenarioplaner)
    • Datenverarbeitungspipelines
  • Interoperabilität und Zusammenarbeit: Protokollzwischenspeicher werden als Serialisierungsformat verwendet. Dies ermöglicht einen sprach- und plattformunabhängigen sowie erweiterbaren Datenaustausch, sodass Teams, die verschiedene Programmiersprachen (Python, Java, R usw.) verwenden, mit Modellausgaben arbeiten können.
  • Erweiterbarkeit und Skalierbarkeit: Die modulare und mehreren Schichten bestehende Struktur des Unified Schemas ermöglicht es, neue Funktionen, Messwerte und Analysen hinzuzufügen, wenn sich die MMM-Methoden weiterentwickeln. Dazu sind nur minimale Änderungen am Kernschema erforderlich.
  • Persistenz, Freigabe und Versionsverwaltung: Das auf Protokollzwischenspeichern basierende Schema ermöglicht es, trainierte Modelle, Eingaben und abgeleitete Analysen auf Laufwerken zu serialisieren, zwischen Teams zu teilen und in die Versionsverwaltung einzubinden.
  • Communitygestützte Weiterentwicklung: Ein Unified Schema mit Open-Source-Lizenz ermöglicht Beiträge der gesamten MMM-Community. Diese kooperative Umgebungen kann die Entwicklung des Schemas beschleunigen, verschiedene Sichtweisen einbeziehen und dafür sorgen, dass es mit den neuesten Erkenntnissen in der sich schnell entwickelnden MMM-Branche Schritt hält.

Übersicht

Unified Schema – Übersicht

Das Unified Schema ist grob in vier Komponenten unterteilt: den Modellkern selbst und drei Erweiterungsgruppen: Modellanpassung, Marketinganalyse und Marketingoptimierung. Die letzten drei werden aus den ersten abgeleitet. Modellerweiterungen sind optionale Datenstrukturen, die an den Modellkernel angehängt werden. Während dieser den Status eines trainierten Marketing-Mix-Modells als ruhende Daten repräsentiert, ist eine Modellerweiterung eine abgeleitete Analyse des Kernmodells.

// mmm.proto

// A schema that contains derived metrics and modeled analysis by a trained
// marketing mix model.
message Mmm {
  // A MMM kernel contains the core information about the model used to generate
  // this output.
  model.MmmKernel mmm_kernel = 1;

  // Model fit result.
  fit.ModelFit model_fit = 2;

  // A list of marketing analysis generated by the MMM kernel.
  marketing.analysis.MarketingAnalysisList marketing_analysis_list = 3;

  // Marketing optimization on different perspectives using the MMM kernel.
  marketing.optimization.MarketingOptimization marketing_optimization = 4;
}

Modellkern: mmm_kernel

MmmKernel ist ein allgemeiner Modell-Wrapper. Dazu gehören:

  • marketing_data: Daten, die zum Trainieren des Modells, für Marketinganalysen und zur Optimierung der Budgetzuweisung verwendet werden.
  • model: Ein Feld vom Typ „Any“, das eine serialisierte Form für die Modellimplementierung zusammenfasst. Wenn Sie „Any“ verwenden, kann die Modellimplementierung als Blackbox dargestellt werden.

Marketingdaten

Die Marketinginformationen in MarketingDataPoint umfassen KPI-Daten, Details zum Media-Channel und andere nicht mediabezogene Faktoren.

Der KPI kann umsatzbezogen oder nicht umsatzbezogen sein. Für den nicht umsatzbezogenen Typ kann der Nutzer neben dem KPI-Wert auch die Conversion-Rate vom KPI zum Umsatz angeben. Dies wird als revenue_per_kpi bezeichnet.

Die Details zum Media-Channel enthalten Felder für geografische Informationen, Zeitinformationen, KPI, Kontrollvariablen, Media-Variablen, nicht mediabezogene Variablen und Variablen für Reichweite und Häufigkeit.

Wenn für einen kostenpflichtigen Media-Channel eine MediaVariable und die Aufschlüsselung der Media-Ausgaben nach geografischer Einheit und Zeitraum nicht verfügbar ist (d. h. die Media-Ausgaben werden über alle geografischen Einheiten und Zeiträume hinweg aggregiert), sollte eine separate MarketingDataPoint-Meldung mit media_spend vorhanden sein, wobei geo_info nicht festgelegt ist und date_interval die Koordinaten der gesamten Zeitdimension umfasst.

Nicht mediabezogene Faktoren umfassen die Variablen oder Faktoren, die nicht direkt mit Media in Verbindung stehen, aber dennoch Einfluss auf die Zielreaktion haben. Beispiele: Werbeaktionen, saisonale Faktoren und makroökonomische Faktoren. Was einbezogen werden muss, hängt vom Modell ab. Das optionale Metadatenfeld für Marketingdaten enthält Zeit-, geografische und KPI-Informationen, die für die Serialisierung und Deserialisierung hilfreich sind.

Erweiterung für die Modellanpassung: model_fit

Die Erweiterung für die Modellanpassung zeigt die Vorhersage im Vergleich zur Grundwahrheit im Zeitverlauf sowie die Leistungsmesswerte. Außerdem enthält sie Statistiken zur Güte der Anpassung (Bestimmtheitsmaß, MAPE, wMAPE, RMSE). Die Struktur für die Modellanpassung umfasst allgemeine Konzepte, die für alle MMMs gelten sollten. Dazu werden verschiedene modellunabhängige Vorhersagepunkte erfasst und mit den tatsächlich beobachteten Werten verglichen. Anschließend werden Messwerte aus den aggregierten Werten abgeleitet.

Erweiterung für Marketinganalysen: marketing_analysis_list

Die Erweiterung für Marketinganalysen enthält Informationen zu Eingabedaten und dazu, wie sich Media-Ausgaben und nicht mediabezogene Faktoren auf die Ergebnisse auswirken.

Media- und nicht mediabezogene Analysen

Eine MediaAnalysis liefert Informationen zu den Auswirkungen eines Media-Channels auf KPIs (sowohl umsatzbezogene als auch nicht umsatzbezogene). Bei nicht bezahlten Media sind die Reaktionskurve und die ausgabenbezogenen Impact-Messwerte aufgrund fehlender Ausgabendaten nicht verfügbar. Eine NonMediaAnalysis ähnelt der Media-Analyse, ist aber nicht mit einem Ausgabenwert verknüpft. Daher enthält sie keine Reaktionskurve und die Felder, die aus Ausgabewerten abgeleitet werden, werden nicht im Ergebnis festgelegt.

Ergebnis

Das Ergebnis ist das Geschäftsergebnis, z. B. der Gesamtumsatz oder die Anzahl der Conversions. Sie stellt die geschätzten Auswirkungen von Media-Channels oder nicht bezahlten Media-Faktoren anhand verschiedener Messwerte dar. Es ist der primäre Messwert, anhand dessen der kausale Effekt von Testvariablen gemessen wird.

Das Ergebnis kann auf eine der folgenden Arten definiert werden:

  • KPI: Ein spezifischer, quantifizierbarer Messwert, mit dem der Fortschritt im Hinblick auf ein bestimmtes Ergebnis gemessen wird. Sie ist die Reaktionsvariable des Modells. Es gibt zwei Arten von KPIs: (a) einen, der in Form von Umsatz (z. B. Geldwert) angegeben ist, und (b) einen in Form eines generischen, benutzerdefinierten, nicht umsatzbezogenen KPI (z. B. Klickrate).
  • ROI, Grenz-ROI, Kosten pro Beitrag: Media-Channels können umsatzbasiert oder nicht umsatzbasiert sein. Das bedeutet, dass alle proto-Felder (ROI, Grenz-ROI, Kosten pro Beitrag) ausgefüllt werden können. Nicht mediabezogene Channels haben keine Ausgaben. Daher sollten ausgabenbezogene Felder (ROI, Grenz-ROI) nicht ausgefüllt werden.
  • Beitrag und Effektivität: Die Bedeutung kann je nach Kontext leicht variieren. Für umsatzbezogene KPIs in Media werden monetäre Umsatzwerte in Berechnungen verwendet, während für nicht umsatzbezogene KPIs generische, benutzerdefinierte KPI-Werte verwendet werden.

Erweiterungsgruppe für Marketingoptimierung: marketing_optimization

Die Marketingoptimierung kann unter vielen verschiedenen Aspekten erfolgen. In dieser Erweiterungsgruppe sind alle Erweiterungen enthalten, die mit der Optimierung zusammenhängen.

BudgetAllocation-Erweiterung

Die hier definierten Strukturen umfassen modellunabhängige Konzepte für eine optimale Budgetzuweisung über mehrere Marketing-Channels hinweg, basierend auf bestimmten Nutzereingaben für Einschränkungen, Optimierungsziele usw.

BudgetOptimizationResult wird für Marketingausgaben über alle geeigneten Channels hinweg für bestimmte Zeiträume berechnet. Dazu sind Nutzereingaben mit einem Optimierungsziel und Budgetbeschränkungen für jeden Channel erforderlich. Es gibt zwei Arten der Optimierung: festes und flexibles Budget. Bei einer Optimierung mit festem Budget soll der Wert eines Zielmesswerts maximiert werden, indem die Budgetzuweisung für die Channels optimiert wird, ohne den Gesamtbetrag des Budgets zu ändern. Bei einer Optimierung mit flexiblem Budget wird dagegen versucht, den Wert eines Zielmesswerts zu maximieren, indem die Budgetzuweisung für Channels mit einem flexiblen Gesamtbudget optimiert wird. Dabei werden einige vordefinierte Einschränkungen berücksichtigt.

Das optimierte Ergebnis wird pro Channel angegeben. Jedes Channel-Ergebnis enthält das tatsächliche Ergebnis des Channels, das modelloptimierte Ergebnis des Channels und die Budgetbeschränkungen für den Channel, die im Optimierungsprozess verwendet wurden.

Zusätzlich zu den Optimierungsergebnissen enthält BudgetOptimization eine Liste von IncrementalOutcomeGrids mit unterschiedlichen Arten von inkrementellen Ergebnissen oder unterschiedlich starkem Detaillierungsgrad des Rasters. Jedes IncrementalOutcomeGrid steht für ein Raster, in dem das inkrementelle Ergebnis der Marketingausgaben nach Channel aufgeschlüsselt ist. Dieses Raster ist beispielsweise nützlich, um den Trend der inkrementellen Auswirkungen im Zeitverlauf darzustellen oder eine Onlinebudgetoptimierung auf Grundlage eines Algorithmus zur Raster-Suchoptimierung vorzunehmen. Bei der Erstellung dieses Rasters wird davon ausgegangen, dass sich Channels nicht gegenseitig beeinflussen. Das bedeutet, dass sich die Ausgaben für einen Channel nicht auf andere Channels auswirken.

OptimalFrequency-Erweiterung

Die optimale durchschnittliche Häufigkeit ist optional und setzt voraus, dass Daten zu Reichweite und Häufigkeit im Modell vorhanden sind. Sie gibt die optimale Häufigkeit für Anzeigenimpressionen pro einzelnem Nutzer im Channel an, um in Hinblick auf ein Ziel zu maximieren. Die Verfügbarkeit dieser Erweiterung hängt von den Daten und der MMM-Funktion ab.

Installation

Installieren Sie das Unified Schema-Paket, indem Sie das Meridian-GitHub-Repository klonen und dann das Extra [schema] bei der Installation von Meridian einfügen. Dieses Paket enthält die relevanten proto-Definitionen.

$ git clone https://github.com/google/meridian.git;
$ cd meridian;
$ pip install .[schema];

Übersetzungsschicht

Je nach MMM-Framework und modellspezifischen Algorithmen variiert die Übersetzungsschicht oder die Prozessoren, die eine entsprechende MMM-proto-Meldung erstellen. Beispiel für die Prozessoren von Google Meridian