meridian.analysis.optimizer.BudgetOptimizer

Esegue ed esporta scenari di ottimizzazione del budget nel modello.

Trova l'allocazione del budget ottimale che massimizza il risultato in base a vari scenari in cui il budget, i dati e i vincoli possono essere personalizzati. I risultati possono essere visualizzati come grafici e come pagina di output di riepilogo HTML.

Metodi

optimize

Visualizza codice sorgente

Trova l'allocazione ottimale del budget che massimizza il risultato.

Il risultato è in genere costituito dalle entrate, ma quando il KPI non è costituito dalle entrate e i dati "entrate per KPI" non sono disponibili, Meridian definisce il risultato come il KPI stesso.

Args
use_posterior Booleano. Se True, il budget viene ottimizzato in base alla distribuzione a posteriori del modello. In caso contrario, viene utilizzata la distribuzione precedente.
selected_times Tupla contenente le coordinate della dimensione della data e dell'ora di inizio e di fine per la durata su cui eseguire l'ottimizzazione. I valori di tempo selezionati devono essere in linea con le coordinate della dimensione del tempo di Meridian nel modello di base. Per impostazione predefinita, vengono utilizzati tutti i periodi di tempo. Il componente dell'ora di inizio o di fine può essere None per rappresentare rispettivamente la prima o l'ultima coordinata temporale.
fixed_budget Valore booleano che indica se si tratta di un'ottimizzazione del budget fisso o flessibile. Il valore predefinito è True. Se False, deve essere specificato target_roi o target_mroi.
budget Numero che indica il budget totale per lo scenario con budget fisso. Il valore predefinito è il budget storico.
pct_of_spend Elenco numerico di dimensioni n_total_channels contenente l'allocazione percentuale della spesa per tutti i canali media e RF. L'ordine deve corrispondere a InputData.media con valori compresi tra 0 e 1, la cui somma deve essere uguale a 1. Per impostazione predefinita, viene utilizzata l'allocazione storica. Il budget e l'allocazione vengono utilizzati insieme per determinare la spesa non ottimizzata a livello di media, che viene utilizzata per calcolare le metriche sul rendimento non ottimizzate (ad es. il ROI) e creare l'intervallo di spesa possibile a livello di media con i vincoli di spesa.
spend_constraint_lower Elenco numerico di dimensioni n_total_channels o float (stessa limitazione per tutti i canali) che indica il limite inferiore della spesa a livello di media. Il limite inferiore della spesa a livello di media è (1 - spend_constraint_lower) * budget * allocation). Il valore deve essere compreso tra 0 e 1. Il valore predefinito è 0.3 per il budget fisso e 1 per quello flessibile.
spend_constraint_upper Elenco numerico di dimensioni n_total_channels o float (stesso vincolo per tutti i canali) che indica il limite superiore della spesa a livello di media. Il limite superiore della spesa a livello di media è (1 + spend_constraint_upper) * budget * allocation). Il valore predefinito è 0.3 per il budget fisso e 1 per quello flessibile.
target_roi Numero in virgola mobile che indica il vincolo ROI target. Utilizzato solo per scenari con budget flessibili. Il budget è limitato al momento in cui il ROI della spesa totale raggiunge target_roi.
target_mroi Numero in virgola mobile che indica il vincolo del ROI marginale target. Utilizzato solo per scenari di budget flessibili. Il budget è limitato al momento in cui il ROI marginale della spesa totale raggiunge target_mroi.
gtol Numero in virgola mobile che indica l'errore relativo accettabile per il budget utilizzato nella configurazione della griglia. Il budget verrà arrotondato per 10*n, dove n è il numero intero più piccolo tale che (budget - rounded_budget) sia inferiore o uguale a (budget * gtol). gtol deve essere inferiore a 1.
use_optimal_frequency Se True, utilizza optimal_frequency calcolato dal modello Meridian addestrato per l'ottimizzazione. Se False, utilizza la frequenza storica.
confidence_level La soglia per il calcolo degli intervalli di confidenza.
batch_size Numero massimo di estrazioni per catena in ogni batch. Il calcolo viene eseguito in batch per evitare l'esaurimento della memoria. Se si verifica un errore di memoria, prova a ridurre batch_size. In genere, il calcolo sarà più rapido con valori batch_size più elevati.

Resi
Un oggetto OptimizationResults contenente set di dati di allocazione del budget ottimizzati, insieme ad alcuni dei valori intermedi utilizzati per dedurli.