![]() |
Führt Budgetoptimierungsszenarien für Ihr Modell aus und gibt die Ergebnisse aus.
meridian.analysis.optimizer.BudgetOptimizer(
meridian: meridian.model.model.Meridian
)
Ermittelt die optimale Budgetzuweisung, um die Ergebnisse auf Grundlage verschiedener Szenarien zu maximieren. Budget, Daten und Beschränkungen können dabei angepasst werden. Die Ergebnisse können als Grafiken und als HTML-Zusammenfassungsseite angezeigt werden.
Methoden
optimize
optimize(
use_posterior: bool = True,
selected_times: (tuple[str | None, str | None] | None) = None,
fixed_budget: bool = True,
budget: (float | None) = None,
pct_of_spend: (Sequence[float] | None) = None,
spend_constraint_lower: (_SpendConstraint | None) = None,
spend_constraint_upper: (_SpendConstraint | None) = None,
target_roi: (float | None) = None,
target_mroi: (float | None) = None,
gtol: float = 0.0001,
use_optimal_frequency: bool = True,
use_kpi: bool = False,
confidence_level: float = c.DEFAULT_CONFIDENCE_LEVEL,
batch_size: int = c.DEFAULT_BATCH_SIZE
) -> meridian.analysis.optimizer.OptimizationResults
Ermittelt die optimale Budgetzuweisung, um das Ergebnis zu maximieren.
Das Ergebnis ist in der Regel der Umsatz. Wenn der KPI jedoch nicht der Umsatz ist und keine Daten zum Umsatz pro KPI verfügbar sind, wird das Ergebnis in Meridian als der KPI selbst definiert.
Argumente | |
---|---|
use_posterior
|
Boolescher Wert. Bei True wird das Budget anhand der Posterior-Verteilung des Modells optimiert. Andernfalls wird die Prior-Verteilung verwendet.
|
selected_times
|
Tupel mit den Dimensionskoordinaten für Start- und Endzeit für die Dauer der Optimierung. Die ausgewählten Zeitwerte müssen mit den Koordinaten der Zeitdimension von Meridian im zugrunde liegenden Modell übereinstimmen. Standardmäßig werden alle Zeiträume verwendet. Sowohl die Start- als auch die Endekomponente kann None sein, um die erste bzw. letzte Zeitkoordinate anzugeben.
|
fixed_budget
|
Boolescher Wert, der angibt, ob es eine Optimierung mit festem oder flexiblem Budget ist. Die Standardeinstellung ist True . Bei False muss entweder target_roi oder target_mroi angegeben werden.
|
budget
|
Die Gesamtausgaben für das Szenario mit festem Budget. Standardmäßig wird das bisherige Budget festgelegt. |
pct_of_spend
|
Numerische Liste mit n_total_channels Elementen, die die prozentuale Aufteilung der Ausgaben für alle Media-Channels und Channels für Reichweite und Häufigkeit enthält. Die Reihenfolge muss InputData.media entsprechen. Die Werte müssen zwischen 0 und 1 liegen, wobei ihre Summe 1 ergibt. Standardmäßig wird die bisherige Zuweisung verwendet. Budget und Zuweisung werden gemeinsam verwendet, um die nicht optimierten Ausgaben auf Media-Ebene zu ermitteln. Damit werden die nicht optimierten Leistungsmesswerte (z. B. ROI) berechnet und der realistische Bereich der Ausgaben auf Media-Ebene mit den Ausgabenbeschränkungen festgelegt.
|
spend_constraint_lower
|
Numerische Liste mit n_total_channels Elementen oder eine Gleitkommazahl (dieselbe Beschränkung für alle Channels), die die Untergrenze der Ausgaben auf Media-Ebene angibt. Die Untergrenze für Ausgaben auf Media-Ebene wird so berechnet: (1 -
spend_constraint_lower) * budget * allocation) . Der Wert muss zwischen 0 und 1 liegen. Der Standardwert ist 0.3 für ein festes Budget und 1 für ein flexibles Budget.
|
spend_constraint_upper
|
Numerische Liste mit n_total_channels Elementen oder eine Gleitkommazahl (dieselbe Beschränkung für alle Channels), die die Obergrenze der Ausgaben auf Media-Ebene angibt. Die Obergrenze für Ausgaben auf Media-Ebene wird so berechnet: (1 +
spend_constraint_upper) * budget * allocation) . Der Standardwert ist 0.3 für ein festes Budget und 1 für ein flexibles Budget.
|
target_roi
|
Gleitkommazahl für die Beschränkung für den Ziel-ROI. Wird nur für Szenarien mit flexiblem Budget verwendet. Das Budget ist auf den Wert beschränkt, bei dem der ROI der Gesamtausgaben target_roi erreicht.
|
target_mroi
|
Gleitkommazahl für die Beschränkung für den Ziel-Grenz-ROI. Wird nur für Szenarien mit flexiblem Budget verwendet. Das Budget ist auf den Wert beschränkt, bei dem der Grenz-ROI der Gesamtausgaben target_mroi erreicht.
|
gtol
|
Gleitkommazahl, die den maximal zulässigen relativen Fehler für das Budget angibt, das in der Rasterkonfiguration verwendet wird. Das Budget wird in Schritten von 10*n gerundet. Dabei ist n die kleinste Ganzzahl, bei der (budget - rounded_budget) kleiner oder gleich (budget * gtol) ist. gtol muss kleiner als 1 sein.
|
use_optimal_frequency
|
Bei True wird optimal_frequency verwendet, die vom trainierten Meridian-Modell für die Optimierung berechnet wurde. Bei False wird die bisherige Häufigkeit verwendet.
|
use_kpi
|
Wenn True , wird die Optimierung anhand des KPI ausgeführt. Der Standardwert ist „Umsatz“.
|
confidence_level
|
Der Grenzwert für die Berechnung der Konfidenzintervalle. |
batch_size
|
Maximale Anzahl der Ziehungen pro Kette in jedem Batch. Die Berechnung wird in Batches ausgeführt, um eine Überlastung des Arbeitsspeichers zu vermeiden. Wenn ein Speicherfehler auftritt, versuchen Sie, batch_size zu verringern. Die Berechnung ist in der Regel bei größeren batch_size -Werten schneller.
|
Ausgabe | |
---|---|
Ein OptimizationResults -Objekt mit Datensätzen zur optimierten Budgetzuweisung sowie einigen der Zwischenwerte, die zur Ableitung verwendet wurden.
|