En la página, se proporciona orientación para obtener predicciones de Vertex AI en función de los datos de venta minorista exportados a BigQuery. Proporcionamos varios bloques de código SQL para ayudarte a transformar los datos de eventos del usuario y productos minoristas en un formato que Vertex AI pueda usar. Estos bloques de código están seguidos de procedimientos para que la consola de Vertex AI cree un conjunto de datos, entrene un modelo y, luego, genere una previsión.
Antes de comenzar
Antes de generar previsiones de ventas con tus datos de comercio minorista, debes hacer lo siguiente:
Sube tus datos de venta minorista con Vertex AI Search for Commerce. Para obtener más información, consulta los siguientes vínculos:
Exporta tus datos de venta minorista de Vertex AI Search para el comercio a BigQuery. De esta manera, tendrás una tabla de productos y una tabla de eventos del usuario en BigQuery, que podrás usar en los siguientes procedimientos. Para obtener más información, consulta Exporta tus datos a BigQuery.
Como alternativa, si tus datos de productos y eventos de usuario ya están en BigQuery, en el formato de Vertex AI Search para comercio, puedes usar esos datos para generar previsiones de ventas a partir de los datos de venta minorista. En este caso, no es necesario que subas tus datos de venta minorista ni que los exportes a BigQuery. Para obtener más información sobre el formato, consulta Esquema de producto y Acerca de los eventos del usuario.
Asegúrate de que se te haya otorgado el rol de IAM
roles/aiplatform.user
para que puedas realizar los procedimientos con la consola de Vertex AI.
Crea una tabla de ventas agregada
El código SQL de esta sección transforma la tabla de eventos del usuario en una tabla de ventas agregadas. Esto significa que, para cada producto de la tabla de eventos del usuario que se vendió al menos una vez, la cantidad de ventas del producto se agrega durante un período semanal. Además, el código SQL hace lo siguiente:
Para cualquier producto de la tabla de eventos del usuario, si faltan marcas de tiempo entre la primera venta del producto en la tabla y la última venta de cualquier producto en la tabla, cada una de las marcas de tiempo faltantes se completa con una fila nueva con cero ventas. Esto es para eliminar las brechas en el historial de ventas.
Si no hay al menos un producto en la tabla de eventos del usuario que tenga al menos 20 marcas de tiempo, se elige un producto de la tabla de forma aleatoria y se completa con suficientes filas (cada una con cero ventas) para alcanzar las 20 marcas de tiempo. Esto se debe a que Vertex AI requiere al menos 20 marcas de tiempo cuando se entrena un modelo.
Para crear una tabla de ventas agregadas, sigue estos pasos:
Reemplaza las variables del siguiente código de ejemplo en SQL de la siguiente manera:
starting_day_of_week. Día en que comienza la semana. Valores válidos:
MONDAY
,TUESDAY
,WEDNESDAY
,THURSDAY
,FRIDAY
,SATURDAY
ySUNDAY
.rdm_user_event_table. Son los IDs del proyecto, el conjunto de datos y la tabla de eventos del usuario que exportaste a BigQuery. El formato es
project_id.dataset_id.table_id
.rdm_product_table. Son los IDs del proyecto, el conjunto de datos y la tabla del producto que exportaste a BigQuery. El formato es
project_id.dataset_id.table_id
.aggregated_sales_table. Son los IDs del proyecto, el conjunto de datos y la tabla en BigQuery para la nueva tabla de ventas agregadas. Usa el mismo ID del proyecto que las tablas de eventos de productos y usuarios. Usa el ID de un conjunto de datos existente. Especifica un ID de tabla, pero no uses el ID de una tabla existente, a menos que quieras reemplazarla. El formato es
project_id.dataset_id.table_id
.
Copia la muestra de código SQL.
Abre la página de BigQuery en la Google Cloud consola.
Si aún no está seleccionado, elige el proyecto que contiene las tablas de eventos del usuario y del producto.
En el panel Editor, pega el muestra de código en SQL.
Haz clic en
Ejecutar y espera a que finalice la ejecución de la consulta.
Tu nueva tabla de ventas agregadas se escribe en la ubicación de BigQuery que configuraste con la variable aggregated_sales_table.
Procesa la tabla de productos
El código SQL de esta sección actúa sobre la tabla de productos que exportaste a BigQuery, quitando los campos repetidos y de estructura, y anidando el campo price_info en sus campos secundarios. Esto es necesario porque Vertex AI no acepta listas ni estructuras anidadas. El resultado es la tabla de productos procesados.
Para procesar la tabla de productos, sigue estos pasos:
Reemplaza las variables del siguiente código de ejemplo en SQL de la siguiente manera:
rdm_product_table. Son los IDs del proyecto, el conjunto de datos y la tabla del producto que exportaste a BigQuery. El formato es
project_id.dataset_id.table_id
.processed_product_table. Son los IDs del proyecto, el conjunto de datos y la tabla en BigQuery para la nueva tabla de productos procesados. Usa el mismo ID del proyecto que las tablas de eventos de productos y usuarios. Usa el ID de un conjunto de datos existente. Especifica un ID de tabla, pero no uses el ID de una tabla existente, a menos que quieras reemplazarla. El formato es
project_id.dataset_id.table_id
.
CREATE OR REPLACE TABLE `PROCESSED_PRODUCT_TABLE` AS SELECT * EXCEPT (id, attributes, price_info, rating, expire_time, available_time, fulfillment_info, images, audience, color_info, promotions, publish_time, retrievable_fields, categories, brands, conditions, sizes, collection_member_ids, tags, materials, patterns), id as sku, price_info.price as price_info_price, price_info.currency_code as price_info_currency_code, price_info.cost as price_info_cost, FROM `RDM_PRODUCT_TABLE`
Copia la muestra de código SQL.
Abre la página de BigQuery en la Google Cloud consola.
Si aún no está seleccionado, elige el proyecto que contiene las tablas de eventos del usuario y del producto.
En el panel Editor, pega el muestra de código en SQL.
Haz clic en
Ejecutar y espera a que finalice la ejecución de la consulta.
Tu nueva tabla de productos procesados se escribe en la ubicación de BigQuery que estableciste con la variable processed_product_table.
Crea una tabla de predicción de eventos
El código SQL de esta sección extrae cada SKU que se vendió al menos una vez en la tabla de eventos del usuario. El código crea una tabla de predicciones de eventos que contiene todos los SKU extraídos en todas las marcas de tiempo futuras. Las marcas de tiempo futuras son un array de marcas de tiempo semanales continuas que comienzan en la semana final de la tabla de eventos del usuario más 1 semana y terminan en la semana final de la tabla de eventos del usuario más future_length semanas. Establece el valor de future_length en la cantidad de semanas en el futuro para las que deseas que el modelo realice la predicción. Cada fila de la tabla de predicción de eventos se puede identificar de forma única con un SKU y una marca de tiempo.
Para crear una tabla de predicción de eventos, sigue estos pasos:
Reemplaza las variables del siguiente código de ejemplo en SQL de la siguiente manera:
starting_day_of_week. Día en que comienza la semana. Valores válidos:
MONDAY
,TUESDAY
,WEDNESDAY
,THURSDAY
,FRIDAY
,SATURDAY
ySUNDAY
.rdm_user_event_table. Son los IDs del proyecto, el conjunto de datos y la tabla de eventos del usuario que exportaste a BigQuery. El formato es
project_id.dataset_id.table_id
.events_prediction_table. Son los IDs del proyecto, el conjunto de datos y la tabla en BigQuery para la nueva tabla de predicción de eventos. Usa el mismo ID del proyecto que las tablas de eventos de productos y usuarios. Usa el ID de un conjunto de datos existente. Especifica un ID de tabla, pero no uses el ID de una tabla existente, a menos que quieras reemplazarla. El formato es
project_id.dataset_id.table_id
.rdm_product_table. Son los IDs del proyecto, el conjunto de datos y la tabla del producto que exportaste a BigQuery. El formato es
project_id.dataset_id.table_id
.future_length. Es la cantidad de semanas en el futuro, después de la semana final de la tabla de eventos del usuario, para las que el modelo realizará predicciones.
Copia la muestra de código SQL.
Abre la página de BigQuery en la Google Cloud consola.
Si aún no está seleccionado, elige el proyecto que contiene las tablas de eventos del usuario y del producto.
En el panel Editor, pega el muestra de código en SQL.
Haz clic en
Ejecutar y espera a que finalice la ejecución de la consulta.
Tu nueva tabla de predicción de eventos se escribe en la ubicación de BigQuery que configuraste con la variable events_prediction_table.
Crea una tabla de entrenamiento de Vertex AI
El código SQL de esta sección une la tabla de ventas agregadas con la tabla de productos procesados. El resultado es una tabla de entrenamiento de Vertex AI, que Vertex AI usa para entrenamiento de modelos.
Sigue estos pasos para crear una tabla de entrenamiento de Vertex AI:
Reemplaza las variables del siguiente código de ejemplo en SQL de la siguiente manera:
vertex_ai_training_table. Son los IDs del proyecto, el conjunto de datos y la tabla en BigQuery para la nueva tabla de entrenamiento de Vertex AI. Usa el mismo ID del proyecto que las tablas de eventos del producto y del usuario. Usa el ID de un conjunto de datos existente. Especifica un ID de tabla, pero no uses el ID de una tabla existente, a menos que quieras reemplazarla. El formato es
project_id.dataset_id.table_id
.aggregated_sales_table. Son los IDs del proyecto, el conjunto de datos y la tabla en BigQuery de la tabla de ventas agregadas que creaste en Crea una tabla de ventas agregadas.
processed_product_table. Son los IDs del proyecto, el conjunto de datos y la tabla en BigQuery para la tabla de productos procesada que creaste en Procesa la tabla de productos.
CREATE OR REPLACE TABLE `VERTEX_AI_TRAINING_TABLE` AS SELECT t1.*, t2.* EXCEPT(sku) FROM `AGGREGATED_SALES_TABLE` AS t1 LEFT JOIN `PROCESSED_PRODUCT_TABLE` AS t2 ON t1.sku = t2.sku
Copia la muestra de código SQL.
Abre la página de BigQuery en la Google Cloud consola.
Si aún no está seleccionado, elige el proyecto que contiene las tablas de eventos del usuario y del producto.
En el panel Editor, pega el muestra de código en SQL.
Haz clic en
Ejecutar y espera a que finalice la ejecución de la consulta.
Tu nueva tabla de entrenamiento de Vertex AI se escribe en la ubicación de BigQuery que estableciste con la variable vertex_ai_training_table.
Crea una tabla de predicción de Vertex AI
El código SQL de esta sección agrega la tabla de predicción de eventos a la tabla de ventas agregadas y, luego, la une con la tabla de productos procesados. El resultado es la tabla de predicciones de Vertex AI, que se usa para crear un pronóstico.
Sigue estos pasos para crear una tabla de predicción de Vertex AI:
Reemplaza las variables del siguiente código de ejemplo en SQL de la siguiente manera:
vertex_ai_prediction_table. Son los IDs del proyecto, el conjunto de datos y la tabla en BigQuery para la nueva tabla de predicciones de Vertex AI. Usa el mismo ID del proyecto y el mismo ID del conjunto de datos que usaste para las tablas de eventos de productos y usuarios. No uses el ID de una tabla existente, a menos que quieras reemplazarla. El formato es
project_id.dataset_id.table_id
.aggregated_sales_table. Son los IDs del proyecto, el conjunto de datos y la tabla en BigQuery para la tabla de ventas agregadas que creaste en Crea una tabla de ventas agregadas.
processed_product_table. Son los IDs del proyecto, el conjunto de datos y la tabla en BigQuery para la tabla de productos procesada que creaste en Procesa la tabla de productos.
events_prediction_table. Son los IDs del proyecto, el conjunto de datos y la tabla en BigQuery para la tabla de predicción de eventos que creaste en Crea una tabla de predicción de eventos.
CREATE OR REPLACE TABLE `VERTEX_AI_PREDICTION_TABLE` AS WITH append_predict_to_history AS ( SELECT add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity, last_day_of_week, quantity, search_quantity, sku FROM `AGGREGATED_SALES_TABLE` UNION ALL SELECT NULL AS add_to_cart_quantity, NULL AS category_page_view_quantity, NULL AS detail_page_view_quantity, last_day_of_week, NULL AS quantity, NULL AS search_quantity, sku FROM `EVENTS_PREDICTION_TABLE` ) SELECT t1.*, t2.* EXCEPT(sku) FROM append_predict_to_history AS t1 LEFT JOIN `PROCESSED_PRODUCT_TABLE` AS t2 ON t1.sku = t2.sku
Copia la muestra de código SQL.
Abre la página de BigQuery en la Google Cloud consola.
Si aún no está seleccionado, elige el proyecto que contiene las tablas de eventos del usuario y del producto.
En el panel Editor, pega el muestra de código en SQL.
Haz clic en
Ejecutar y espera a que finalice la ejecución de la consulta.
Tu nueva tabla de predicciones de Vertex AI se escribe en la ubicación de BigQuery que estableciste con la variable vertex_ai_prediction_table.
Crea un conjunto de datos de Vertex AI
En esta sección, se muestra cómo crear un conjunto de datos de Vertex AI que puedes usar para entrenar un modelo de previsión. Para obtener más información, consulta Crea un conjunto de datos para entrenar modelos de previsión en la documentación de Vertex AI.
Para crear un conjunto de datos de Vertex AI, sigue estos pasos:
En la consola de Google Cloud , en la sección Vertex AI, ve a la página Conjunto de datos.
Haz clic en Crear para abrir la página Crear conjunto de datos.
En el campo Nombre del conjunto de datos, ingresa un nombre para tu nuevo conjunto de datos.
Selecciona la pestaña Tabular.
Selecciona el objetivo Previsión.
En la lista Región, selecciona la región que usaste cuando creaste un conjunto de datos para exportar tus datos de venta minorista a BigQuery. Si seleccionaste us cuando creaste tu conjunto de datos de BigQuery, puedes seleccionar cualquier región de Estados Unidos. Del mismo modo, si seleccionaste eu cuando creaste tu conjunto de datos de BigQuery, puedes seleccionar cualquier región de la Unión Europea. Para obtener más información, consulta Cómo exportar tus datos a BigQuery.
Haz clic en Crear para crear tu conjunto de datos vacío y avanza a la pestaña Fuente.
Selecciona Selecciona una tabla o una vista de BigQuery.
En Selecciona una tabla o vista de BigQuery, ingresa los IDs de proyecto, conjunto de datos y tabla para la tabla de entrenamiento de Vertex AI que creaste en Crea una tabla de entrenamiento de Vertex AI. El formato es
project_id.dataset_id.table_id
.Haz clic en Continuar.
Tu fuente de datos está asociada a tu conjunto de datos.
En la pestaña Analizar, selecciona sku en la lista Columna del identificador de serie y last_day_of_week en la lista Columna de marca de tiempo.
Haz clic en Entrenar modelo nuevo para avanzar a la página Entrenar modelo nuevo. Si deseas obtener instrucciones para entrenar tu modelo, consulta Entrena un modelo de previsión.
Entrena un modelo de previsión
En esta sección, se muestra cómo entrenar un modelo de previsión con el conjunto de datos que creaste en Crea un conjunto de datos de Vertex AI. Para obtener más información, consulta Cómo entrenar un modelo de previsión en la documentación de Vertex AI.
Antes de comenzar
Antes de entrenar un modelo de previsión, debes crear un conjunto de datos de Vertex AI.
Entrenar un modelo
En la página Método de entrenamiento, selecciona el método de entrenamiento de modelos. Para obtener información sobre los métodos de entrenamiento, consulta Entrena un modelo en la documentación de Vertex AI.
Haz clic en Continuar.
En la página Detalles del modelo, configura lo siguiente:
Selecciona Entrenar un modelo nuevo si aún no está seleccionado.
Ingresa un nombre para tu modelo nuevo.
Selecciona quantity (INTEGER) en la lista Columna objetivo.
Selecciona Semanal en la lista Nivel de detalle de los datos.
Ingresa la ventana de contexto y el horizonte de previsión.
El horizonte de previsión determina hasta qué punto del futuro el modelo predice el valor objetivo de cada fila de datos de predicción. El horizonte de previsión se especifica en unidades de nivel de detalle de datos.
La ventana de contexto establece la extensión del período que el modelo consulta durante el entrenamiento (y para las previsiones). En otras palabras, para cada dato de entrenamiento, la ventana de contexto determina la extensión del período en el que el modelo busca patrones predictivos. Si no especificas una ventana de contexto, se usa de forma predeterminada el valor establecido para el horizonte de previsión. La ventana de contexto se especifica en unidades de nivel de detalle de datos.
Para obtener más información, consulta Consideraciones para establecer la ventana de contexto y el horizonte de previsión en la documentación de Vertex AI.
Haz clic en Continuar.
En la página Opciones de entrenamiento, configura lo siguiente. Ten en cuenta que, cuando la flecha del menú desplegable
es gris o no aparece, ese valor no se puede cambiar.Selecciona un valor de Transformación para las columnas de la lista Nombre de columna de la siguiente manera:
Si el valor de Tipo de BigQuery es Float, Integer o Numeric, establece el valor de Transformación en Numeric.
Si el valor de Tipo de BigQuery es String o Boolean, establece el valor de Transformación en Categorical.
Si el valor de Tipo de BigQuery es Fecha, establece el valor de Transformación en Marca de tiempo.
Selecciona un valor de Tipo de función para las columnas de la lista Nombre de la columna de la siguiente manera:
Para add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity y search_quantity, establece el valor de Tipo de función en Covariable.
De las columnas restantes, para las que se pueden cambiar, establece el Tipo de atributo en Atributo.
Selecciona un valor de Available at forecast para las columnas de la lista Column type de la siguiente manera:
Para add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity y search_quantity, establece el valor de Disponibilidad en la previsión como No disponible.
De las columnas restantes, para las que se pueden cambiar, establece el valor de Tipo de atributo en Disponible.
Haz clic en Continuar.
En la página Procesamiento y precios, ingresa la cantidad máxima de horas por la que se entrenará tu modelo. Este parámetro de configuración te ayuda a limitar los costos de entrenamiento. El tiempo real transcurrido puede ser más largo que este valor, ya que hay otras operaciones involucradas en la creación de un modelo nuevo. Para obtener información sobre la cantidad de tiempo que se puede necesitar para entrenar modelos de alta calidad, consulta Entrena un modelo en la documentación de Vertex AI.
Haz clic en Comenzar entrenamiento.
El entrenamiento de modelos puede tardar muchas horas, según el tamaño y la complejidad de tus datos y tu presupuesto de entrenamiento, si especificaste uno. Puedes cerrar esta pestaña y volver a ella más tarde. Recibirás un correo electrónico cuando tu modelo haya finalizado el entrenamiento. Si deseas supervisar el progreso del entrenamiento del modelo, consulta Cómo supervisar el progreso del entrenamiento.
Supervisa el progreso de tu entrenamiento
En la consola de Google Cloud , en la sección Vertex AI, ve a la página Entrenamiento.
Si aún no está seleccionada, selecciona la pestaña Canalizaciones de entrenamiento. El modelo que estás entrenando debería estar en la lista. El entrenamiento finaliza cuando el estado cambia de Entrenando a Finalizado.
Crea una previsión
En esta página, se muestra cómo crear una previsión con el modelo de previsión que entrenaste en Cómo entrenar un modelo de previsión.
Antes de comenzar
Antes de crear una previsión, debes entrenar un modelo de previsión.
Realiza una solicitud de predicción por lotes a tu modelo
En la consola de Google Cloud , en la sección Vertex AI, ve a la página Predicciones por lotes.
Haz clic en Crear para abrir la ventana Nueva predicción por lotes y completa los siguientes pasos:
Ingresa un nombre para la predicción por lotes.
En la lista Nombre del modelo, selecciona el modelo que entrenaste en Entrena un modelo de previsión.
En la lista Versión, selecciona la versión del modelo.
En Seleccionar fuente, haz lo siguiente:
Selecciona Tabla de BigQuery si aún no está seleccionada.
Ingresa los IDs del proyecto, el conjunto de datos y la tabla en BigQuery para la tabla de predicción de Vertex AI que creaste en Crea una tabla de predicción de Vertex AI. El formato es
project_id.dataset_id.table_id
.
En Salida de la predicción por lotes, haz lo siguiente:
En la lista Formato de salida, selecciona Tabla de BigQuery.
Ingresa los IDs del proyecto y del conjunto de datos en BigQuery para la tabla de salida de la predicción por lotes que estás creando. Usa el mismo ID del proyecto y del conjunto de datos que usaste para las tablas de eventos de productos y usuarios. El formato es
project_id.dataset_id.
.
Haz clic en Crear. Aparecerá la página Predicciones por lotes.
La predicción finaliza cuando el estado cambia de Pendiente a Finalizado. También recibirás un correo electrónico cuando finalice la predicción por lotes. Los resultados de tu solicitud de predicción por lotes se muestran en el conjunto de datos del proyecto de BigQuery que especificaste. El nombre de tu nueva tabla de salida es "predictions_" con la marca de tiempo de inicio del trabajo de predicción al final. Para obtener más información sobre cómo recuperar e interpretar los resultados de tus previsiones, consulta Cómo recuperar los resultados de la predicción por lotes y Cómo interpretar los resultados de la previsión en la documentación de Vertex AI.