Impostare prior del ROI personalizzati utilizzando gli esperimenti precedenti

Meridian richiede il passaggio delle distribuzioni per la calibrazione del ROI. Sebbene l'impostazione le distribuzioni a priori personalizzate basate sui risultati degli esperimenti precedenti sono un approccio valido, ci sono molti aspetti da considerare prima di procedere. Ad esempio:

  • La tempistica dell'esperimento rispetto alla finestra temporale del Marketing Mix Modeling: Se l'esperimento è stato condotto prima o dopo la finestra temporale di MMM, i risultati potrebbero non essere direttamente applicabili.

  • La durata dell'esperimento:un esperimento di breve durata potrebbe non riuscire a cogliere in modo efficace gli effetti a lungo termine dell'efficacia del marketing.

  • La complessità dell'esperimento: se l'esperimento prevedeva una miscela dei canali, i risultati potrebbero non fornire informazioni chiare sul rendimento dei singoli canali.

  • Differenze nelle stime:le stime utilizzate negli esperimenti possono differire da a quelle usate nell'MMM. Ad esempio, il valore controfattuale dell'MMM è pari a zero, mentre alcuni esperimenti potrebbero avere un valore controfattuale, come una spesa ridotta.

  • Differenze nella popolazione: la popolazione target dell'esperimento potrebbe non coincidere con la popolazione considerata nel Marketing Mix Modeling.

Ti consigliamo di impostare le distribuzioni a priori personalizzate in base alla tua convinzione nei l'efficacia di un canale. Una convinzione precedente può essere basata su molti fattori, inclusi esperimenti o altre analisi affidabili. Usa la forza in questo precedente per informare la deviazione standard della distribuzione a priori:

  • Se credi fermamente nell'efficacia di un canale, puoi applicare un fattore di aggiustamento alla deviazione standard della riflettono la tua sicurezza. Ad esempio, supponiamo che tu abbia condotto diversi esperimenti per un determinato canale e tutti gli esperimenti hanno dato un risultato simile Stime in punti ROI o disponi di dati storici di precedenti analisi MMM che supportano l'efficacia di questo canale. In questo caso, potresti impostare deviazione standard più piccola per la distribuzione a priori, in modo che la distribuzione non varierà ampiamente. Questa distribuzione più ristretta indica una forte fiducia nel risultati sperimentali.

  • Al contrario, l'esperimento potrebbe non essere necessariamente considerando alcune delle sfumature elencate in precedenza. In questo caso, potresti scegliere applicare un fattore di aggiustamento alla deviazione standard della distribuzione precedente. Ad esempio, potresti impostare una deviazione standard più grande per la distribuzione a seconda del tuo livello di scetticismo.

Ti consigliamo di utilizzare l'argomento roi_calibration_period in ModelSpec. Per ulteriori informazioni, vedi Imposta il periodo di calibrazione del ROI.

Quando imposti la distribuzione a priori, la distribuzione di LogNormal è un comportamento comune uno da utilizzare. Il seguente codice di esempio può essere utilizzato per trasformare medio ed errore standard al LogNormal precedente distribuzione:

import numpy as np

def estimate_lognormal_dist(mean, std):
  """Reparameterization of lognormal distribution in terms of its mean and std."""
  mu_log = np.log(mean) - 0.5 * np.log((std/mean)**2 + 1)
  std_log = np.sqrt(np.log((std/mean)**2 + 1))
  return [mu_log, std_log]

Tuttavia, se i risultati degli esperimenti precedenti sono vicini allo zero, devi valuta se le tue convinzioni precedenti sono rappresentate con precisione da un distribuzione non negativa, come la distribuzione LogNormal. Me consigliamo vivamente di tracciare la distribuzione precedente per verificare che corrisponda le tue conoscenze precedenti prima di procedere con l'analisi. Le seguenti il codice campione mostra come ridefinire i parametri LogNormal parametri, definire la distribuzione e ricavare campioni.

import tensorflow as tf
import tensorflow_probability as tfp

# Get reparameterized LogNormal distribution parameters
mu_log, std_log = estimate_lognormal_dist(mean, std)
mu_log = tf.convert_to_tensor(mu_log, dtype=tf.float32)
std_log = tf.convert_to_tensor(std_log, dtype=tf.float32)
# Define the LogNormal distribution
lognormal_dist = tfp.distributions.LogNormal(mu_log, std_log)
# Draw 10,000 samples
lognormal_samples = lognormal_dist.sample(10000).numpy()