Skip to main content
Version: 3.19

mmm_attribution

R

library(ChannelAttributionPro)

token <- "yourtoken"

Data <- read.csv("https://app.channelattribution.io/data/data_mmm_2.csv", sep = ",")

D_variables <- data.frame(
variable = c(
"direct_searches",
"facebook_impressions",
"facebook_clicks",
"google_impressions",
"google_clicks"
),
channel = c(
"direct",
"facebook_ads",
"facebook_ads",
"google_ads",
"google_ads"
),
measure = c(
"direct_searches",
"impressions",
"clicks",
"impressions",
"clicks"
),
stringsAsFactors = FALSE
)

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(head(res))

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(head(attribution))
print(diag$input_saturation_alpha_by_measure)
print(diag$model)