Skip to main content
Version: 3.19

mmm_attribution

Python

import pandas as pd
from ChannelAttributionPro import mmm_attribution

token = "yourtoken"

Data = 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"

res = mmm_attribution(
Data=Data,
D_variables=D_variables,
target=target,
model="reward",
model_score_target="delta",
max_p=12,
seed=1234567,
verbose=1,
password=token,
)

print(res.head())

Using a different internal model:

res_copula = mmm_attribution(
Data=Data,
D_variables=D_variables,
target=target,
model="copula",
model_score_target="level",
max_p=12,
nsim=1000,
seed=1234567,
password=token,
)

res_linear = mmm_attribution(
Data=Data,
D_variables=D_variables,
target=target,
model="linear",
model_score_target="level",
max_p=12,
password=token,
)

To inspect diagnostics:

diag = mmm_attribution(
Data=Data,
D_variables=D_variables,
target=target,
model="reward",
model_score_target="delta",
max_p=12,
return_diagnostics=True,
password=token,
)

attribution = diag["attribution"]
print(attribution.head())
print(diag["input_saturation_alpha_by_measure"])
print(diag["model"])