transformación_media#

Módulo para aplicar transformaciones de medios a datos de medios.

Ejemplos#

Cree una transformación de medios para canales de medios en línea y fuera de línea:

from pymc_marketing.mmm import (
    GeometricAdstock,
    HillSaturation,
    MediaTransformation,
    MichaelisMentenSaturation,
)

# Shared media transformation for all offline media channels
offline_media_transform = MediaTransformation(
    adstock=GeometricAdstock(l_max=15),
    saturation=HillSaturation(),
    adstock_first=True,
)
# Shared media transformation for all online media channels
online_media_transform = MediaTransformation(
        adstock=GeometricAdstock(l_max=10),
        saturation=MichaelisMentenSaturation(),
        adstock_first=False,
    ),
)

Cree una configuración de medios combinada para canales de medios en línea y fuera de línea:

from pymc_marketing.mmm import (
    MediaConfig,
    MediaConfigList,
)

media_configs: MediaConfigList(
    [
        MediaConfig(
            name="offline",
            columns=["TV", "Radio"],
            media_transformation=offline_media_transform,
        ),
        MediaConfig(
            name="online",
            columns=["Facebook", "Instagram", "YouTube", "TikTok"],
            media_transformation=online_media_transform,
        ),
    ]
)

Aplica la transformación de medios a los datos de medios en el modelo PyMC:

import pymc as pm
import pandas as pd

df: pd.DataFrame = ...


media_columns = media_configs.media_values

coords = {
    "date": df["week"],
    "media": media_columns,
}
with pm.Model(coords=coords) as model:
    media_data = pm.Data(
        "media_data", df.loc[:, media_columns].to_numpy(), dims=("date", "media")
    )
    transformed_media_data = media_configs(
        media_data, core_dim="date", media_dim="media"
    )

Clases

MediaConfig(nombre, columnas, transformación_de_medios)

Configuración para una transformación de medios a ciertos canales de medios.

MediaConfigList(media_configs)

Contenedor para una lista de configuraciones de medios que se aplicarán a los datos de medios.

MediaTransformation(adstock, saturación, ...)

Envoltura para aplicar la transformación de adstock y saturación a los datos de medios.