Se proporcionan datos simulados como ejemplo para cada tipo y formato de datos en las siguientes secciones:
CSV
Para cargar los datos de CSV simulados con CsvDataLoader
, haz lo siguiente:
Asocia los nombres de las columnas con los tipos de variables. Los tipos de variables requeridos son
time
,geo
,controls
,population
,kpi
,revenue_per_kpi
,media
ymedia_spend
. Para conocer la definición de cada variable, consulta Cómo recopilar y organizar tus datos.coord_to_columns = load.CoordToColumns( time='time', geo='geo', controls=['GQV', 'Discount', 'Competitor_Sales'], population='population', kpi='conversions', revenue_per_kpi='revenue_per_conversion', media=[ 'Channel0_impression', 'Channel1_impression', 'Channel2_impression', 'Channel3_impression', 'Channel4_impression', 'Channel5_impression', ], media_spend=[ 'Channel0_spend', 'Channel1_spend', 'Channel2_spend', 'Channel3_spend', 'Channel4_spend', 'Channel5_spend', ], )
Asocia las variables de medios y las inversiones en medios con los nombres de canal designados que deseas mostrar en el informe de dos páginas. En el siguiente ejemplo,
Channel0_impression
yChannel0_spend
están conectados al mismo canal,Channel0
.correct_media_to_channel = { 'Channel0_impression': 'Channel0', 'Channel1_impression': 'Channel1', 'Channel2_impression': 'Channel2', 'Channel3_impression': 'Channel3', 'Channel4_impression': 'Channel4', 'Channel5_impression': 'Channel5', } correct_media_spend_to_channel = { 'Channel0_spend': 'Channel0', 'Channel1_spend': 'Channel1', 'Channel2_spend': 'Channel2', 'Channel3_spend': 'Channel3', 'Channel4_spend': 'Channel4', 'Channel5_spend': 'Channel5', }
Carga los datos con
CsvDataLoader
:loader = load.CsvDataLoader( csv_path=f'/{PATH}/{FILENAME}.csv', kpi_type='non_revenue', coord_to_columns=coord_to_columns, media_to_channel=correct_media_to_channel, media_spend_to_channel=correct_media_spend_to_channel, ) data = loader.load()
Aquí ocurre lo siguiente:
kpi_type
es'revenue'
o'non_revenue'
.PATH
es la ruta de acceso a la ubicación del archivo de datos.FILENAME
es el nombre de tu archivo de datos.
Conjunto de datos Xarray
Para cargar el conjunto de datos Xarray simulado y serializado con XrDatasetDataLoader
, haz lo siguiente:
Carga los datos con
pickle
:import pickle with open(f'/{PATH}/{FILENAME}.pkl', 'r') as fh: dataset = pickle.load(fh)
Aquí ocurre lo siguiente:
PATH
es la ruta de acceso a la ubicación del archivo de datos.FILENAME
es el nombre de tu archivo de datos.
Pasa el conjunto de datos a
XrDatasetDataLoader
. Usa el argumentoname_mapping
para asociar las coordenadas y los arrays. Procede a la asociación si los nombres incluidos en el conjunto de datos de entrada no coinciden con los nombres requeridos. Los nombres de coordenadas requeridos songeo
,time
,control_variable
ymedia_channel
. Los nombres de variables de datos requeridos sonkpi
,revenue_per_kpi
,controls
,population
,media
ymedia_spend
.loader = load.XrDatasetDataLoader( dataset, kpi_type='non_revenue', name_mapping={ 'channel': 'media_channel', 'control': 'control_variable', 'conversions': 'kpi', 'revenue_per_conversion': 'revenue_per_kpi', 'control_value': 'controls', 'spend': 'media_spend', }, ) data = loader.load()
Aquí ocurre lo siguiente:
kpi_type
es'revenue'
o'non_revenue'
.
Otro formato de datos
Para cargar otro formato de datos simulados (como excel
) con DataFrameInputDataBuilder
, haz lo siguiente:
Lee los datos (como una hoja de cálculo de
excel
) en uno o másDataFrame
de Pandas.import pandas as pd df = pd.read_excel( 'https://github.com/google/meridian/raw/main/meridian/data/simulated_data/xlsx/geo_media.xlsx', engine='openpyxl', )
Usa
DataFrameInputDataBuilder
para asociar los nombres de las columnas con los tipos de variables requeridos en los datos de entrada de Meridian. Para conocer la definición de cada variable, consulta Cómo recopilar y organizar tus datos.from meridian.data import data_frame_input_data_builder as data_builder builder = ( data_builder.DataFrameInputDataBuilder(kpi_type='non_revenue') .with_kpi(df, kpi_col="conversions") .with_revenue_per_kpi(df, revenue_per_kpi_col="revenue_per_conversion") .with_population(df) .with_controls(df, control_cols=["GQV", "Discount", "Competitor_Sales"]) ) channels = ["Channel0", "Channel1", "Channel2", "Channel3", "Channel4", "Channel5"] builder = builder.with_media( df, media_cols=[f"{channel}_impression" for channel in channels], media_spend_cols=[f"{channel}_spend" for channel in channels], media_channels=channels, ) data = builder.build()
Aquí ocurre lo siguiente:
kpi_type
es'revenue'
o'non_revenue'
.
A continuación, puedes crear tu modelo.