En esta página, se proporciona orientación para obtener predicciones de Vertex AI, según los datos de venta minorista exportados a BigQuery Proporcionamos varios bloques de código SQL para ayudarte a transformar el producto de venta minorista y el usuario de los datos de eventos en un formato que pueda usar Vertex AI. Estos bloques de código son seguido de procedimientos para que la consola de Vertex AI cree un conjunto de datos, entrenar un modelo y generar una previsión.
Antes de comenzar
Antes de generar previsiones de ventas con los datos de las ventas minoristas, debes hacer lo siguiente:
Haz que tus datos de venta minorista se suban con Vertex AI Search for Retail. Para obtener más información, consulta los siguientes vínculos:
Exporta tus datos de venta minorista de Vertex AI Search para la venta minorista a BigQuery. Esto te deja con una tabla de productos y una tabla de eventos de usuarios en BigQuery, que puedes usar en los siguientes procedimientos. Para obtener más información, consulta Exportar tus datos a BigQuery
Como alternativa, si tus datos de productos y eventos de usuario ya están en BigQuery, en Vertex AI Search para el formato de venta minorista, puedes usar esos datos para generar previsiones de ventas a partir de datos de venta minorista. En este caso, no deberás subir tus datos de venta minorista y exportarlos a BigQuery. Para más información sobre el consulta Esquema de productos y Acerca del usuario eventos.
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 agregada. Esto significa que, por cada producto de la tabla de eventos de usuario que se vendido al menos una vez, la cantidad de ventas del producto se agrega en un 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 reabastece con una fila nueva sin ventas. Esto se hace para eliminar las brechas en el historial de ventas.
Si no hay al menos un producto en la tabla de eventos de usuario que tenga al menos 20 marcas de tiempo, se elige un producto de la tabla de forma aleatoria y se reabastece con suficientes filas (cada una con cero ventas) para alcanzar 20 marcas de tiempo. Esto se hace para cumplir con el requisito de Vertex AI de tener al menos 20 marcas de tiempo cuando se entrena un modelo.
Para crear una tabla de ventas agregada, sigue estos pasos:
Reemplaza las variables en el siguiente código de ejemplo de SQL de la siguiente manera:
starting_day_of_week. El día en que comienza la semana. Valores válidos:
MONDAY
,TUESDAY
,WEDNESDAY
,THURSDAY
,FRIDAY
,SATURDAY
ySUNDAY
.rdm_user_event_table. Los IDs de proyecto, conjunto de datos y tabla de la tabla de eventos del usuario que exportaste a BigQuery El formato es
project_id.dataset_id.table_id
rdm_product_table. Los IDs del proyecto, el conjunto de datos y la tabla de productos que exportaste a BigQuery El formato es
project_id.dataset_id.table_id
aggregated_sales_table. Los IDs de proyecto, conjunto de datos y tabla en BigQuery para la nueva tabla de ventas agregadas Usa la misma ID del proyecto como las tablas de productos y eventos de usuario. Usa el ID de una cuenta existente de tu conjunto de datos. 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 BigQuery en la consola de Google Cloud.
Si aún no está seleccionado, elige el proyecto que contiene tu producto. y las tablas de eventos de usuarios.
En el panel Editor, pega la muestra de código SQL.
Haz clic en
Ejecutar y espera que la consulta termine de ejecutarse.
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 en la tabla de productos que exportaste a BigQuery, quita los campos repetidos y de estructura, y anida el campo price_info en sus campos secundarios. Esto es necesario porque Vertex AI no acepta listas ni estructuras anidadas. El resultado es el de productos procesados.
Para procesar la tabla de productos, sigue estos pasos:
Reemplaza las variables en el siguiente código de ejemplo de SQL de la siguiente manera:
rdm_product_table. Los IDs del proyecto, del conjunto de datos y de la tabla del producto que exportaste a BigQuery. El formato es
project_id.dataset_id.table_id
processed_product_table. Los IDs del proyecto, del conjunto de datos y de la tabla en BigQuery para la nueva tabla de productos procesados. Usa el mismo ID de proyecto que las tablas de eventos de productos y usuarios. Usa el ID de un conjunto de datos existente. Especificar un ID de tabla, pero no usar el ID de una tabla existente a menos que quieras reemplazarlos. 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 BigQuery en la consola de Google Cloud.
Si aún no está seleccionado, selecciona el proyecto que contiene las tablas de eventos del producto y del usuario.
En el panel Editor, pega la muestra de código SQL.
Haz clic en
Ejecutar y espera a que la consulta termine de ejecutarse.
Tu nueva tabla de productos procesados se escribe en la ubicación de BigQuery que configuraste con la variable processed_product_table.
Crea una tabla de predicción de eventos
El código SQL en esta sección extrae cada SKU que se vendió al menos una vez en la tabla de eventos de usuario. El código crea una tabla de predicción de eventos que contiene todos los SKUs extraídos en todas las marcas de tiempo en el futuro. El futuro Las marcas de tiempo son un array de marcas de tiempo semanales continuas, que comienzan con la meta semana en la tabla de eventos de usuario + 1 semana y finaliza en la última semana del usuario tabla de eventos + future_length semanas. Estableces el valor de future_length en la cantidad de semanas en el futuro que quieres que el modelo prediga. 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 en el siguiente código de ejemplo de SQL de la siguiente manera:
starting_day_of_week. El día en que comienza la semana. Valores válidos:
MONDAY
,TUESDAY
,WEDNESDAY
,THURSDAY
,FRIDAY
,SATURDAY
ySUNDAY
.rdm_user_event_table. 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. Los IDs del proyecto, el conjunto de datos y la tabla en BigQuery para la nueva tabla de predicción de eventos Usa la misma ID del proyecto como las tablas de productos y eventos de usuario. Usa el ID de un conjunto de datos existente. Especificar un ID de tabla, pero no usar el ID de una tabla existente a menos que quieras reemplazarlos. El formato es
project_id.dataset_id.table_id
.rdm_product_table. Los IDs del proyecto, el conjunto de datos y la tabla de productos 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 en la tabla de eventos del usuario, que el modelo predecirá.
Copia la muestra de código SQL.
Abre la página BigQuery en la consola de Google Cloud.
Si aún no está seleccionado, selecciona el proyecto que contiene las tablas de eventos del usuario y de tu producto.
En el panel Editor, pega la muestra de código SQL.
Haz clic en
Ejecutar y espera a que la consulta termine de ejecutarse.
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 en esta sección une la tabla de ventas agregadas con los valores procesados en la tabla de productos. El resultado es una tabla de entrenamiento de Vertex AI, que Vertex AI usa para el entrenamiento de modelos.
Sigue estos pasos para crear una tabla de entrenamiento de Vertex AI:
Reemplaza las variables en el siguiente código de ejemplo de SQL de la siguiente manera:
vertex_ai_training_table. Los IDs del proyecto, del conjunto de datos y de la tabla en BigQuery para la nueva tabla de entrenamiento de Vertex AI. Usa el mismo ID del proyecto que las tablas de productos y eventos de usuarios. Usa el ID de un conjunto de datos existente. Especificar un ID de tabla, pero no usar el ID de una a menos que quieras reemplazarla. El formato es
project_id.dataset_id.table_id
.aggregated_sales_table. Los IDs de proyecto, conjunto de datos y tabla de BigQuery de la tabla de ventas agregadas que creaste en Cómo crear una tabla de ventas agregadas
processed_product_table. Los IDs de proyecto, conjunto de datos y tabla de BigQuery para la tabla de productos procesados que creaste en Cómo procesar 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 BigQuery en la consola de Google Cloud.
Si aún no está seleccionado, selecciona el proyecto que contiene las tablas de eventos del usuario y de tu producto.
En el panel Editor, pega la muestra de código SQL.
Haz clic en
Ejecutar y espera que la consulta termine de ejecutarse.
Tu nueva tabla de entrenamiento de Vertex AI se escribe en la ubicación de BigQuery que configuraste 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 una previsión.
Para crear una tabla de predicciones de Vertex AI, sigue estos pasos:
Reemplaza las variables en el siguiente código de ejemplo de SQL de la siguiente manera:
vertex_ai_prediction_table. Los IDs del proyecto, del conjunto de datos y de la tabla en BigQuery para la nueva tabla de predicción de Vertex AI. Usa el mismo ID de proyecto y el mismo ID de 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. Los IDs del proyecto, del conjunto de datos y de la tabla en BigQuery para la tabla de ventas agregadas, que creaste en Crea una tabla de ventas agregadas.
processed_product_table. Los IDs del proyecto, del conjunto de datos y de la tabla en BigQuery para la tabla de productos procesados que creaste en Procesa la tabla de productos.
events_prediction_table. Los IDs de proyecto, conjunto de datos y tabla en BigQuery para la tabla de predicción de eventos, que creaste en Cómo crear 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 BigQuery en la consola de Google Cloud.
Si aún no está seleccionado, selecciona el proyecto que contiene las tablas de eventos del usuario y del producto.
En el panel Editor, pega la muestra de código SQL.
Haz clic en
Ejecutar y espera a que la consulta termine de ejecutarse.
Tu nueva tabla de predicciones de Vertex AI se escribe en la ubicación de BigQuery que configuraste 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 para entrenar un modelo de previsión. Para obtener más información, consulta Cómo crear un conjunto de datos para entrenar modelos de previsión en la documentación de Vertex AI.
Sigue estos pasos para crear un conjunto de datos de Vertex AI:
En la consola de Google Cloud, en la sección Vertex AI, ve al 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 conjunto de datos nuevo.
Selecciona la pestaña Tabular.
Selecciona el objetivo Previsión.
En la lista Región, selecciona la región que usaste cuando creaste una 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 cualquiera 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 avanzar a Origen. .
Elige Seleccionar una tabla o vista de BigQuery.
En Selecciona una tabla o vista de BigQuery, ingresa el IDs de proyectos, conjuntos de datos y tablas de la tabla de entrenamiento de Vertex AI que creaste en Crea un entrenamiento de Vertex AI de la tabla. El formato es
project_id.dataset_id.table_id
.Haga 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 de identificador de serie y last_day_of_week en la lista Columna de marca de tiempo.
Haz clic en Entrenar un modelo nuevo para avanzar a la página Entrenar un modelo nuevo. Para obtener instrucciones para entrenar tu modelo, consulta Cómo entrenar 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 pronóstico en la documentación de Vertex AI.
Antes de comenzar
Antes de entrenar un modelo de previsión, debes crear un Vertex AI conjunto de datos.
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 Cómo entrenar un modelo en la documentación de Vertex AI.
Haga 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 Semanalmente 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 El horizonte de previsión se especifica en unidades de Nivel de detalle de los datos.
La ventana de contexto establece qué tan lejos se ve el modelo durante el entrenamiento. (y para 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. Se especifica la Ventana de contexto en unidades de nivel de detalle de los datos.
Si deseas obtener más información, consulta Consideraciones para configurar la ventana de contexto y el horizonte de previsión la documentación de Vertex AI.
Haga clic en Continuar.
Configura la página Opciones de entrenamiento de la siguiente manera. Ten en cuenta que cuando la flecha desplegable de
está en gris o no hay una flecha desplegable, no se puede cambiar ese valor.Selecciona un valor de Transformation para las columnas en Column name. enumera de la siguiente manera:
Si el valor de BigQuery type es Float, Integer o Numeric, establece el valor de Transformation en Numeric.
Si el valor de Tipo de BigQuery es Cadena o Booleano, establece el valor de Transformación en Categoría.
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 componente 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 Feature type en Covariate.
En el caso de las columnas restantes, para las que se pueden cambiar, establece Tipo de componente como Atributo.
Selecciona un valor Disponible en la previsión para las columnas de la lista Tipo de 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 Disponibilidad en la previsión en No disponible.
De las columnas restantes, para las que se pueden cambiar, establece el valor de Feature type en Available.
Haga clic en Continuar.
En la página Procesamiento y precio, ingresa la cantidad máxima de horas por la que se entrenará tu modelo. Este parámetro de configuración te ayuda a limitar el entrenamiento de los costos. 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 puede ser necesaria para entrenar modelos de alta calidad, consulta Cómo entrenar 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 Supervisa el progreso de tu entrenamiento.
Supervisa el progreso de tu capacitación
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 Canales de entrenamiento. El el modelo que estás entrenando debería estar en la lista. El entrenamiento finaliza cuando cambia de Entrenamiento 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 al 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 Cómo entrenar 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 predicciones de Vertex AI que creaste en Crea una tabla de predicciones de Vertex AI. El formato es
project_id.dataset_id.table_id
En Resultado 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 el 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 el ID del conjunto de datos que usaste para las tablas de productos y eventos del usuario. 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 se complete la predicción por lotes. El resultado de tu solicitud de predicción por lotes se devuelve en conjunto de datos en el proyecto de BigQuery que especificaste. El nombre de tu nueva tabla de resultados es “predictions_” con la marca de tiempo de cuándo se inició el 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 las previsiones en la documentación de Vertex AI.