Skip to main content
Version: 3.19.1

uam

Python

import pandas as pd
from ChannelAttributionPro import uam

token = "yourtoken"

df_aggr = pd.read_csv("https://app.channelattribution.io/data/data_mmm_2.csv", sep=",")

D_variables = pd.DataFrame({
"variable": [
"direct_searches",
"facebook_impressions",
"facebook_clicks",
"google_impressions",
"google_clicks",
],
"channel": [
"direct",
"facebook_ads",
"facebook_ads",
"google_ads",
"google_ads",
],
"measure": [
"direct_searches",
"impressions",
"clicks",
"impressions",
"clicks",
],
})

target = "conversions"

Aggregated-data attribution without customer journey paths:

res = uam(
df_aggr=df_aggr,
D_variables=D_variables,
target=target,
df_paths=None,
baseline_model="reward", # "reward", "copula", or "linear"
max_p=12,
nsim=1000,
seed=1234567,
verbose=1,
password=token,
)

attribution = res["attribution"]
print(attribution.head())

With already aggregated customer journey paths:

df_paths = pd.read_csv("https://app.channelattribution.io/data/data_uam_paths_t.csv", sep=";")

res = uam(
df_aggr=df_aggr,
D_variables=D_variables,
target=target,
df_paths=df_paths,
baseline_model="reward", # "reward", "copula", or "linear"
var_path="path",
var_conv="total_conversions",
var_null="total_null",
order=1,
sep=">",
verbose=1,
password=token,
)

attribution = res["attribution"]
print(attribution.head())

With event-level customer journey paths:

df_paths = pd.read_csv("https://app.channelattribution.io/data/data_uam_paths.csv", sep=";")

res = uam(
df_aggr=df_aggr,
D_variables=D_variables,
target=target,
df_paths=df_paths,
baseline_model="reward",
channel_conv="((CONV))",
order=1,
sep=">",
verbose=1,
password=token,
)

attribution = res["attribution"]
print(attribution.head())

With diagnostics:

diag = uam(
df_aggr=df_aggr,
D_variables=D_variables,
target=target,
df_paths=df_paths,
baseline_model="reward",
return_diagnostics=True,
password=token,
)

print(diag["baseline_model"])
print(diag["parameters_mta_markov_blend_summary"])