Genera previsiones de ventas a partir de datos de venta minorista

En la 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 los datos de eventos de usuarios y productos de venta minorista en un formato que Vertex AI pueda usar. A estos bloques de código les siguen 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

Para poder generar previsiones de ventas con tus datos de venta minorista, debes hacer lo siguiente:

  • Sube tus datos de venta minorista con Vertex AI Search para la venta minorista. 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 Cómo 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 necesitas subir tus datos de venta minorista ni exportarlos a BigQuery. Para obtener más información sobre el formato, consulta Esquema de productos 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 agregada. 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 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 del usuario que tenga al menos 20 marcas de tiempo, se elige un producto de la tabla al azar y se reabastece con suficientes filas (cada una con cero ventas) para alcanzar las 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:

  1. Reemplaza las variables en el siguiente código de ejemplo de SQL de la siguiente manera:

    • starting_day_of_week. Es el día en que comienza la semana. Valores válidos: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY y SUNDAY.

    • 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 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.

  2. Copia la muestra de código SQL.

  3. Abre la página BigQuery en la consola de Google Cloud.

    Ir a la página de BigQuery

  4. Si aún no está seleccionado, selecciona el proyecto que contiene las tablas de eventos del usuario y de tu producto.

  5. En el panel Editor, pega la muestra de código SQL.

  6. Haz clic en Ejecutar y espera a 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 la tabla de productos procesados.

Para procesar la tabla de productos, sigue estos pasos:

  1. Reemplaza las variables en el siguiente código de ejemplo de SQL de la siguiente manera:

    • 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.

    • processed_product_table. 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`
  2. Copia la muestra de código SQL.

  3. Abre la página BigQuery en la consola de Google Cloud.

    Ir a la página de BigQuery

  4. Si aún no está seleccionado, selecciona el proyecto que contiene las tablas de eventos del usuario y de tu producto.

  5. En el panel Editor, pega la muestra de código SQL.

  6. 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 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 predicción de eventos que contiene todos los SKUs extraídos en todas las marcas de tiempo en el futuro. 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 + 1 semana y terminan en la semana final de la tabla de eventos del usuario + future_length semanas. Estableces el valor de future_length en la cantidad de semanas en el futuro que deseas 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 predicciones de eventos, sigue estos pasos:

  1. Reemplaza las variables en el siguiente código de ejemplo de SQL de la siguiente manera:

    • starting_day_of_week. Es el día en que comienza la semana. Valores válidos: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY y SUNDAY.

    • 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 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 desees reemplazarla. 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á.

  2. Copia la muestra de código SQL.

  3. Abre la página BigQuery en la consola de Google Cloud.

    Ir a la página de BigQuery

  4. Si aún no está seleccionado, selecciona el proyecto que contiene las tablas de eventos del usuario y de tu producto.

  5. En el panel Editor, pega la muestra de código SQL.

  6. 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 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 el entrenamiento de modelos.

Para crear una tabla de entrenamiento de Vertex AI, sigue estos pasos:

  1. Reemplaza las variables en el siguiente código de ejemplo de SQL de la siguiente manera:

    • vertex_ai_training_table. 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 desees 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
  2. Copia la muestra de código SQL.

  3. Abre la página BigQuery en la consola de Google Cloud.

    Ir a la página de BigQuery

  4. Si aún no está seleccionado, selecciona el proyecto que contiene las tablas de eventos del usuario y de tu producto.

  5. En el panel Editor, pega la muestra de código SQL.

  6. Haz clic en Ejecutar y espera a 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 predicciones 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:

  1. Reemplaza las variables en el siguiente código de ejemplo de SQL de la siguiente manera:

    • vertex_ai_prediction_table. 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 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 de proyecto, conjunto de datos y tabla en BigQuery para 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

    • 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
  2. Copia la muestra de código SQL.

  3. Abre la página BigQuery en la consola de Google Cloud.

    Ir a la página de BigQuery

  4. Si aún no está seleccionado, selecciona el proyecto que contiene las tablas de eventos del usuario y de tu producto.

  5. En el panel Editor, pega la muestra de código SQL.

  6. 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 usar 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.

Para crear un conjunto de datos de Vertex AI, sigue estos pasos:

  1. En la sección Vertex AI de la consola de Google Cloud, ve a la página Conjunto de datos.

    Ir a la página Conjuntos de datos

  2. Haz clic en Crear para abrir la página Crear conjunto de datos.

  3. En el campo Nombre del conjunto de datos, ingresa un nombre para tu nuevo conjunto de datos.

  4. Selecciona la pestaña Tabular.

  5. Selecciona el objetivo Previsión.

  6. 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.

  7. Haz clic en Crear para crear tu conjunto de datos vacío y avanza a la pestaña Fuente.

  8. Selecciona Selecciona una tabla o una vista de BigQuery.

  9. En Seleccionar una tabla o vista de BigQuery, ingresa los IDs de proyecto, conjunto de datos y tabla de 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.

  10. Haga clic en Continuar.

    Tu fuente de datos está asociada a tu conjunto de datos.

  11. 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.

  12. Haz clic en Entrenar modelo nuevo para avanzar a la página Entrenar 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 conjunto de datos de Vertex AI.

Entrenar un modelo

  1. 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.

  2. En la página Detalles del modelo, configura lo siguiente:

    1. Selecciona Entrenar un modelo nuevo si aún no está seleccionado.

    2. Ingresa un nombre para tu modelo nuevo.

    3. Selecciona quantity (INTEGER) en la lista Columna objetivo.

    4. Selecciona Semanal en la lista Nivel de detalle de los datos.

    5. 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.

    6. Haga clic en Continuar.

  3. En la página Opciones de entrenamiento, configura lo siguiente: Ten en cuenta que cuando una flecha desplegable de está en gris o no hay una flecha desplegable, no se puede cambiar ese valor.

    1. Selecciona un valor de Transformación para las columnas de la lista Nombre de la columna 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.

    2. 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 el Tipo de componente en Atributo.

    3. 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.

    4. Haga clic en Continuar.

  4. En la página Procesamiento y precio, ingresa la cantidad máxima de horas por la que se entrenará tu modelo. Esta 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 puede ser necesaria para entrenar modelos de alta calidad, consulta Cómo entrenar un modelo en la documentación de Vertex AI.

  5. 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 entrenamiento

  1. En la consola de Google Cloud, en la sección Vertex AI, ve a la página Entrenamiento.

    Ir a la página de entrenamiento

  2. Si aún no está seleccionada, selecciona la pestaña Canales de entrenamiento. El modelo que entrenas 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

  1. En la consola de Google Cloud, en la sección Vertex AI, ve a la página Predicciones por lotes.

    Ir a la página Batch predictions

  2. Haz clic en Crear para abrir la ventana Nueva predicción por lotes y completa los siguientes pasos:

    1. Ingresa un nombre para la predicción por lotes.

    2. En la lista Nombre del modelo, selecciona el modelo que entrenaste en Cómo entrenar un modelo de previsión.

    3. En la lista Versión, selecciona la versión del modelo.

    4. En Seleccionar fuente, haz lo siguiente:

      1. Selecciona Tabla de BigQuery si aún no está seleccionada.

      2. 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.

    5. En Resultado de la predicción por lotes, haz lo siguiente:

      1. En la lista Formato de salida, selecciona Tabla de BigQuery.

      2. 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 mismo ID de conjunto de datos que usaste para las tablas de eventos de productos y usuarios. El formato es project_id.dataset_id..

    6. Haz clic en Crear. Aparecerá la página Predicciones por lotes.

      La predicción finaliza cuando el estado cambia de Pendiente a Finalizada. 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 muestra en el conjunto de datos del 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.