Scenari di ottimizzazione del budget

Questo documento descrive scenari di budget fissi e flessibili e fornisce esempi per aiutarti a capire come personalizzare l'ottimizzazione del budget.

Budget fisso: massimizza il ROI o il KPI incrementale

In questo scenario per un determinato budget, puoi trovare l'allocazione ottimale tra strategie e canali di marketing per massimizzare il ritorno sull'investimento (ROI). Se kpi_type è impostato su non relativo alle entrate e revenue_per_kpi è sconosciuto, il budget fisso individua l'allocazione ottimale per massimizzare il KPI incrementale.

Questo scenario rappresenta le impostazioni predefinite ed è eseguito se chiami il metodo metodo optimize() della classe BudgetOptimizer senza ulteriori argomenti. C'è anche la possibilità di modificare lo scenario di budget fisso la finestra temporale per l'ottimizzazione, inserendo budget e allocazioni della spesa pubblicitaria preottimizzate e indicano i limiti inferiore e superiore per la spesa pubblicitaria.

Esempio di codice

Il seguente esempio di codice mostra uno scenario di budget fisso personalizzato:

budget_optimizer = optimizer.BudgetOptimizer(meridian)
optimization_results = budget_optimizer.optimize(
      selected_times=('2023-01-16', '2024-01-15'),
      budget=70000000,
      pct_of_spend=[0.2, 0.2, 0.2, 0.1, 0.2, 0.1],
      spend_constraint_lower=[0.3, 0.2, 0.3, 0.3, 0.3, 0.2],
      spend_constraint_upper=[0.3, 0.2, 0.3, 0.3, 0.3, 0.2],
)

Parametri chiave

  • selected_times: tupla contenente le dimensioni dell'ora di inizio e di fine per il parametro su cui eseguire l'ottimizzazione. Le dimensioni temporali devono essere allineate Dimensioni ora del meridiano. Per impostazione predefinita, vengono utilizzati tutti i periodi di tempo.

    Esempio

    Per modificare l'intervallo di date:

    budget_optimizer = optimizer.BudgetOptimizer(meridian)
    opt = budget_optimizer.optimize(selected_times=('2023-01-16','2024-01-15')) # date range from week 100 to 200
    
  • budget: numero che indica il budget totale per lo scenario di budget fisso. Il valore predefinito è il budget storico.

    Esempio

    Per modificare il budget in 70000000:

    budget_optimizer = optimizer.BudgetOptimizer(meridian)
    opt = budget_optimizer.optimize(budget=70000000) # change the budget to 150000
    
  • pct_of_spend: elenco numerico delle dimensioni n_media contenente la percentuale allocazione per la spesa pubblicitaria. L'ordine deve corrispondere a InputData.media con valori compresi tra 0 e 1, sommando i valori per 1. Per impostazione predefinita, l'allocazione storica è in uso. Il budget e l'allocazione vengono utilizzati congiuntamente per determinare spesa a livello di media non ottimizzata, utilizzata per calcolare metriche di rendimento non ottimizzate (ad esempio, ROI) e costruisci il di spesa fattibile a livello di media con i vincoli di spesa.

    Esempio

    Per specificare l'allocazione:

    budget_optimizer = optimizer.BudgetOptimizer(meridian)
    opt = budget_optimizer.optimize(pct_of_spend=[0.2, 0.2, 0.2, 0.1, 0.2, 0.1]) # non-optimized allocation is 20% to channel0, 20% to channel1 etc
    
  • spend_constraint_lower: elenco numerico della lunghezza n_media da usare in modo diverso i vincoli di spesa per i diversi canali o un singolo valore float come lo stesso vincolo di spesa per tutti i canali media. Indica il limite inferiore di a livello di media. Il limite inferiore della spesa a livello di media è ((1 - spend_constraint_lower) * budget * allocation). Il valore inserito deve essere tra 0 e 1. Il valore predefinito è 0,3 (ovvero il 70% della spesa pubblicitaria) per budget fisso e 1 (ovvero lo 0% della spesa pubblicitaria) per un budget flessibile.

    Esempio

    Per modificare il vincolo di spesa più bassa:

    budget_optimizer = optimizer.BudgetOptimizer(meridian)
    opt = budget_optimizer.optimize(spend_constraint_lower=[0.3, 0.2, 0.3, 0.3, 0.3, 0.2]) # change the lower bound to 70%, 80%, 70%, 70%, 70% and 80% of media spends
    
  • spend_constraint_upper: elenco numerico della lunghezza n_media da usare in modo diverso i vincoli di spesa per i diversi canali o un singolo valore float come lo stesso vincolo di spesa per tutti i canali media. Indica il limite superiore di a livello di media. Il limite superiore della spesa a livello di media è (1 + spend_constraint_upper) * budget * allocation). Il valore predefinito è 0,3 (ovvero il 130% della spesa pubblicitaria) per un budget fisso e 1 (ovvero il 200% di spesa pubblicitaria) per un budget flessibile.

    Esempio

    Per modificare il vincolo di spesa superiore:

    budget_optimizer = optimizer.BudgetOptimizer(meridian)
    opt = budget_optimizer.optimize(spend_constraint_lower=[0.3, 0.2, 0.3, 0.3, 0.3, 0.2]) # change the upper bound to 130%, 120%, 130%, 130%, 130% and 120% of media spends
    

Budget flessibile: scegli come target un ROI minimo

In questo scenario per un budget flessibile, devi inserire un target ROI minimo specifico. Questa opzione ti consente di scoprire qual è il budget massimo che puoi spendere senza a qualsiasi limite di budget finché il ROI complessivo raggiunge il valore X del livello complessivo di marketing. Meridian fornisce un budget massimo consigliato, oltre a un allocazione del budget tra i canali media, per raggiungere il ROI target. In particolare, il vincolo di ROI target viene applicato al livello del ROI totale del marketing. e non a livello di canale.

Esempio di codice

L'esempio di codice che segue mostra uno scenario di budget flessibile personalizzato con un ROI minimo target:

budget_optimizer = optimizer.BudgetOptimizer(meridian)
optimization_results = budget_optimizer.optimize(
      selected_times=('2023-01-16','2024-01-15'),
      fixed_budget=False,
      spend_constraint_lower=0.5,
      spend_constraint_upper=0.5,
      target_mroi=1,
)

Parametri chiave

  • fixed_budget: valore booleano che indica se si tratta di un'ottimizzazione del budget fisso o un'ottimizzazione flessibile del budget. Il valore predefinito è True, che indica una il budget giornaliero. Se False, devi specificare anche target_roi o target_mroi.

  • target_roi: numero in virgola mobile che indica il vincolo di ROI target. Utilizzato solo per scenari di budget flessibili. Il budget è vincolato al momento in cui il ROI del la spesa pubblicitaria totale raggiunge il target_roi.

    Esempio

    Per passare allo scenario di budget flessibile e impostare il ROI target su 1:

    budget_optimizer = optimizer.BudgetOptimizer(meridian)
    opt = budget_optimizer.optimize(fixed_budget=False, target_roi=1)
    
  • selected_times: tupla contenente le dimensioni dell'ora di inizio e di fine per il parametro su cui eseguire l'ottimizzazione. Le dimensioni temporali devono essere allineate Dimensioni ora del meridiano. Per impostazione predefinita, vengono utilizzati tutti i periodi di tempo.

  • pct_of_spend: elenco numerico delle dimensioni n_media contenente la percentuale allocazione per la spesa pubblicitaria. L'ordine deve corrispondere a InputData.media con valori compresi tra 0 e 1, sommando i valori per 1. Per impostazione predefinita, l'allocazione storica è in uso. Il budget e l'allocazione vengono utilizzati congiuntamente per determinare spesa a livello di media non ottimizzata, utilizzata per calcolare metriche di rendimento non ottimizzate (ad esempio, ROI) e costruisci il intervallo fattibile di spesa a livello di media con i vincoli di spesa.

  • spend_constraint_lower: elenco numerico della lunghezza n_media da usare in modo diverso i vincoli di spesa per i diversi canali o un singolo valore float come lo stesso vincolo di spesa per tutti i canali media. Indica il limite inferiore di a livello di media. Il limite inferiore della spesa a livello di media è ((1 - spend_constraint_lower) * budget * allocation). Il valore inserito deve essere tra 0 e 1. Il valore predefinito è 0,3 (ovvero il 70% della spesa pubblicitaria) per budget fisso e 1 (ovvero lo 0% della spesa pubblicitaria) per un budget flessibile.

  • spend_constraint_upper: elenco numerico della lunghezza n_media da usare in modo diverso i vincoli di spesa per i diversi canali o un singolo valore float come lo stesso vincolo di spesa per tutti i canali media. Indica il limite superiore di a livello di media. Il limite superiore della spesa a livello di media è (1 + spend_constraint_upper) * budget * allocation). Il valore predefinito è 0,3 (ovvero il 130% della spesa pubblicitaria) per un budget fisso e 1 (ovvero il 200% di spesa pubblicitaria) per un budget flessibile.

Budget flessibile: ROI marginale target

In questo scenario per un budget flessibile, devi inserire un ROI target marginale per di spesa incrementale. Questa opzione indica il budget massimo che puoi spendere senza alcun limite di budget finché il ROI marginale di ciascun canale media non raggiunge la ROI marginale target. È ancora possibile che il ROI marginale di alcuni canali non sarà uguale al ROI marginale target a causa dell'intervallo fattibile di media di Google Cloud. Tuttavia, il ROI marginale si ridurrà in modo efficace verso il target ROI marginale. In particolare, il ROI marginale target viene applicato a livello di canale e non a livello complessivo di marketing.

Esempio di codice

I seguenti esempi di codice mostrano uno scenario di budget flessibile personalizzato con un ROI marginale target:

budget_optimizer = optimizer.BudgetOptimizer(meridian)
optimization_results = budget_optimizer.optimize(
      selected_times=('2023-01-16','2024-01-15'),
      fixed_budget=False,
      spend_constraint_lower=0.5,
      spend_constraint_upper=0.5,
      target_mroi=1,
)

Parametri chiave

  • fixed_budget: valore booleano che indica se si tratta di un'ottimizzazione del budget fisso o un'ottimizzazione flessibile del budget. Il valore predefinito è True, che indica una budget. Se False, devi specificare target_roi o target_mroi.

  • target_mroi: numero in virgola mobile che indica il vincolo di ROI marginale target. Solo utilizzati per scenari di budget flessibili. Il budget è limitato a quando ROI marginale della spesa pubblicitaria totale raggiunge target_mroi.

    Esempio

    Per passare allo scenario di budget flessibile e impostare il ROI marginale target su 1:

    budget_optimizer = optimizer.BudgetOptimizer(meridian)
    opt = budget_optimizer.optimize(fixed_budget=False, target_mroi=1)
    
  • selected_times: tupla contenente le dimensioni dell'ora di inizio e di fine per il parametro su cui eseguire l'ottimizzazione. Le dimensioni temporali devono essere allineate Dimensioni ora del meridiano. Per impostazione predefinita, vengono utilizzati tutti i periodi di tempo.

  • pct_of_spend: elenco numerico delle dimensioni n_media contenente la percentuale allocazione per la spesa pubblicitaria. L'ordine deve corrispondere a InputData.media con valori compresi tra 0 e 1, sommando i valori per 1. Per impostazione predefinita, l'allocazione storica è in uso. Il budget e l'allocazione vengono utilizzati congiuntamente per determinare spesa a livello di media non ottimizzata, utilizzata per calcolare metriche di rendimento non ottimizzate (ad esempio, ROI) e costruisci il intervallo fattibile di spesa a livello di media con i vincoli di spesa.

  • spend_constraint_lower: elenco numerico della lunghezza n_media da usare in modo diverso i vincoli di spesa per i diversi canali o un singolo valore float come lo stesso vincolo di spesa per tutti i canali media. Indica il limite inferiore di a livello di media. Il limite inferiore della spesa a livello di media è ((1 - spend_constraint_lower) * budget * allocation). Il valore inserito deve essere tra 0 e 1. Il valore predefinito è 0,3 (ovvero il 70% della spesa pubblicitaria) per budget fisso e 1 (ovvero lo 0% della spesa pubblicitaria) per un budget flessibile.

  • spend_constraint_upper: elenco numerico della lunghezza n_media da usare in modo diverso i vincoli di spesa per i diversi canali o un singolo valore float come lo stesso vincolo di spesa per tutti i canali media. Indica il limite superiore di a livello di media. Il limite superiore della spesa a livello di media è (1 + spend_constraint_upper) * budget * allocation). Il valore predefinito è 0,3 (ovvero il 130% della spesa pubblicitaria) per un budget fisso e 1 (ovvero il 200% di spesa pubblicitaria) per un budget flessibile.