Cette page explique comment obtenir des prédictions à partir de Vertex AI, en fonction des données sur le commerce exportées vers BigQuery. Nous fournissons plusieurs blocs de code SQL pour vous aider à transformer les données produit et d'événements utilisateur dans le secteur de la vente au détail dans un format utilisable par Vertex AI. Ces blocs de code sont suivis de procédures pour la console Vertex AI permettant de créer un ensemble de données, d'entraîner un modèle, puis de générer une prévision.
Avant de commencer
Avant de pouvoir générer des prévisions de ventes à l'aide de vos données de vente au détail, vous devez :
Importez vos données commerciales à l'aide de Vertex AI Search pour le commerce. Pour en savoir plus, consultez les pages suivantes :
Exportez vos données retail de Vertex AI Search pour le commerce vers BigQuery. Vous disposez ainsi d'une table de produits et d'une table d'événements utilisateur dans BigQuery, que vous pouvez utiliser dans les procédures suivantes. Pour en savoir plus, consultez Exporter vos données vers BigQuery.
Si vos données produit et d'événements utilisateur se trouvent déjà dans BigQuery, au format Vertex AI Search pour le commerce, vous pouvez les utiliser pour générer des prévisions de ventes à partir des données retail. Dans ce cas, vous n'avez pas besoin d'importer vos données commerciales ni de les exporter vers BigQuery. Pour en savoir plus sur le format, consultez Schéma de produit et À propos des événements utilisateur.
Assurez-vous de disposer du rôle IAM
roles/aiplatform.user
pour pouvoir effectuer les procédures à l'aide de la console Vertex AI.
Créer un tableau des ventes agrégées
Le code SQL de cette section transforme la table des événements utilisateur en table des ventes agrégée. Cela signifie que, pour chaque produit du tableau des événements utilisateur qui a été vendu au moins une fois, la quantité vendue est agrégée sur une période hebdomadaire. De plus, le code SQL effectue les opérations suivantes :
Pour tout produit du tableau des événements utilisateur, si des codes temporels sont manquants entre la première vente du produit dans le tableau et la dernière vente de n'importe quel produit du tableau, chacun des codes temporels manquants est complété par une nouvelle ligne avec zéro vente. Cela permet d'éliminer les lacunes dans l'historique des ventes.
S'il n'y a pas au moins un produit dans la table des événements utilisateur qui comporte au moins 20 codes temporels, un produit de la table est choisi au hasard et complété avec suffisamment de lignes (chacune avec zéro vente) pour atteindre 20 codes temporels. Cela permet de répondre à l'exigence de Vertex AI qui demande au moins 20 codes temporels lors de l'entraînement d'un modèle.
Pour créer une table des ventes agrégées :
Remplacez les variables dans l'exemple de code SQL suivant :
starting_day_of_week. Jour de début de la semaine. Valeurs valides :
MONDAY
,TUESDAY
,WEDNESDAY
,THURSDAY
,FRIDAY
,SATURDAY
,SUNDAY
.rdm_user_event_table. ID du projet, de l'ensemble de données et de la table d'événements utilisateur que vous avez exportée vers BigQuery. Il a le format suivant :
project_id.dataset_id.table_id
.rdm_product_table. ID du projet, de l'ensemble de données et de la table de produits que vous avez exportée vers BigQuery. Il a le format suivant :
project_id.dataset_id.table_id
.aggregated_sales_table. ID du projet, de l'ensemble de données et de la table dans BigQuery pour la nouvelle table des ventes agrégées. Utilisez le même ID de projet que pour les tables d'événements produit et utilisateur. Utilisez l'ID d'un ensemble de données existant. Spécifiez un ID de table, mais n'utilisez pas l'ID d'une table existante, sauf si vous souhaitez l'écraser. Il a le format suivant :
project_id.dataset_id.table_id
.
Copiez l'exemple de code SQL.
Ouvrez la page BigQuery dans la console Google Cloud .
Si ce n'est pas déjà fait, sélectionnez le projet contenant vos tables d'événements produit et utilisateur.
Dans le volet Éditeur, collez l'exemple de code SQL.
Cliquez sur
Exécuter et attendez la fin de l'exécution de la requête.
Votre nouvelle table des ventes agrégées est écrite à l'emplacement BigQuery que vous avez défini à l'aide de la variable aggregated_sales_table.
Traiter le tableau des produits
Le code SQL de cette section agit sur la table de produits que vous avez exportée vers BigQuery. Il supprime les champs répétés et structurés, et annule l'imbrication du champ price_info dans ses champs enfants. Cette étape est nécessaire, car Vertex AI n'accepte pas les listes ni les structures imbriquées. Cette requête crée la table de produits traités.
Pour traiter le tableau des produits :
Remplacez les variables dans l'exemple de code SQL suivant :
rdm_product_table. ID du projet, de l'ensemble de données et de la table de produits que vous avez exportée vers BigQuery. Il a le format suivant :
project_id.dataset_id.table_id
.processed_product_table. ID du projet, de l'ensemble de données et de la table dans BigQuery pour la nouvelle table de produits traités. Utilisez le même ID de projet que pour les tables d'événements produit et utilisateur. Utilisez l'ID d'un ensemble de données existant. Spécifiez un ID de table, mais n'utilisez pas l'ID d'une table existante, sauf si vous souhaitez l'écraser. Il a le format suivant :
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`
Copiez l'exemple de code SQL.
Ouvrez la page BigQuery dans la console Google Cloud .
Si ce n'est pas déjà fait, sélectionnez le projet contenant vos tables d'événements produit et utilisateur.
Dans le volet Éditeur, collez l'exemple de code SQL.
Cliquez sur
Exécuter et attendez la fin de l'exécution de la requête.
Votre nouvelle table de produits traités est écrite à l'emplacement BigQuery que vous avez défini à l'aide de la variable processed_product_table.
Créer un tableau de prédiction des événements
Le code SQL de cette section extrait chaque SKU qui a été vendu au moins une fois dans le tableau des événements utilisateur. Le code crée une table de prédiction des événements contenant tous les SKU extraits pour tous les codes temporels futurs. Les futurs codes temporels sont un tableau de codes temporels hebdomadaires continus, commençant à la dernière semaine du tableau des événements utilisateur + 1 semaine et se terminant à la dernière semaine du tableau des événements utilisateur + future_length semaines. Vous définissez la valeur future_length sur le nombre de semaines dans le futur pour lesquelles vous souhaitez que le modèle effectue des prédictions. Chaque ligne du tableau de prédiction des événements peut être identifiée de manière unique par un SKU et un code temporel.
Pour créer une table de prédiction d'événements :
Remplacez les variables dans l'exemple de code SQL suivant :
starting_day_of_week. Jour de début de la semaine. Valeurs valides :
MONDAY
,TUESDAY
,WEDNESDAY
,THURSDAY
,FRIDAY
,SATURDAY
,SUNDAY
.rdm_user_event_table. ID du projet, de l'ensemble de données et de la table pour la table des événements utilisateur que vous avez exportée vers BigQuery. Il a le format suivant :
project_id.dataset_id.table_id
.events_prediction_table ID du projet, de l'ensemble de données et de la table dans BigQuery pour la nouvelle table de prédiction des événements. Utilisez le même ID de projet que pour les tables d'événements produit et utilisateur. Utilisez l'ID d'un ensemble de données existant. Spécifiez un ID de table, mais n'utilisez pas l'ID d'une table existante, sauf si vous souhaitez l'écraser. Il a le format suivant :
project_id.dataset_id.table_id
.rdm_product_table. ID du projet, de l'ensemble de données et de la table de produits que vous avez exportée vers BigQuery. Il a le format suivant :
project_id.dataset_id.table_id
.future_length. Nombre de semaines dans le futur, après la dernière semaine du tableau des événements utilisateur, que le modèle prédira.
Copiez l'exemple de code SQL.
Ouvrez la page BigQuery dans la console Google Cloud .
Si ce n'est pas déjà fait, sélectionnez le projet contenant vos tables d'événements produit et utilisateur.
Dans le volet Éditeur, collez l'exemple de code SQL.
Cliquez sur
Exécuter et attendez la fin de l'exécution de la requête.
Votre nouvelle table de prédiction des événements est écrite à l'emplacement BigQuery que vous avez défini à l'aide de la variable events_prediction_table.
Créer une table d'entraînement Vertex AI
Le code SQL de cette section joint la table des ventes agrégées à la table des produits traités. Le résultat est une table d'entraînement Vertex AI, que Vertex AI utilise pour l'entraînement du modèle.
Pour créer une table d'entraînement Vertex AI :
Remplacez les variables dans l'exemple de code SQL suivant :
vertex_ai_training_table. ID du projet, de l'ensemble de données et de la table dans BigQuery pour la nouvelle table d'entraînement Vertex AI. Utilisez le même ID de projet que pour les tables d'événements produit et utilisateur. Utilisez l'ID d'un ensemble de données existant. Spécifiez un ID de table, mais n'utilisez pas l'ID d'une table existante, sauf si vous souhaitez l'écraser. Il a le format suivant :
project_id.dataset_id.table_id
.aggregated_sales_table. ID du projet, de l'ensemble de données et de la table dans BigQuery de la table des ventes agrégées que vous avez créée dans Créer une table des ventes agrégées.
processed_product_table. ID du projet, de l'ensemble de données et de la table dans BigQuery pour la table de produits traitée que vous avez créée dans Traiter la table de produits.
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
Copiez l'exemple de code SQL.
Ouvrez la page BigQuery dans la console Google Cloud .
Si ce n'est pas déjà fait, sélectionnez le projet contenant vos tables d'événements produit et utilisateur.
Dans le volet Éditeur, collez l'exemple de code SQL.
Cliquez sur
Exécuter et attendez la fin de l'exécution de la requête.
Votre nouvelle table d'entraînement Vertex AI est écrite à l'emplacement BigQuery que vous avez défini à l'aide de la variable vertex_ai_training_table.
Créer une table de prédiction Vertex AI
Le code SQL de cette section ajoute la table de prédiction des événements à la table des ventes agrégées, puis la joint à la table des produits traités. Le résultat est le tableau de prédiction Vertex AI, qui est utilisé pour créer une prévision.
Pour créer une table de prédiction Vertex AI :
Remplacez les variables dans l'exemple de code SQL suivant :
vertex_ai_prediction_table. ID du projet, de l'ensemble de données et de la table dans BigQuery pour la nouvelle table de prédiction Vertex AI. Utilisez le même ID de projet et d'ensemble de données que ceux utilisés pour les tables d'événements produit et utilisateur. N'utilisez pas l'ID d'une table existante, sauf si vous souhaitez l'écraser. Il a le format suivant :
project_id.dataset_id.table_id
.aggregated_sales_table. ID du projet, de l'ensemble de données et de la table dans BigQuery pour la table des ventes agrégées que vous avez créée dans Créer une table des ventes agrégées.
processed_product_table. ID du projet, de l'ensemble de données et de la table dans BigQuery pour la table de produits traitée que vous avez créée dans Traiter la table de produits.
events_prediction_table ID du projet, de l'ensemble de données et de la table dans BigQuery pour la table de prédiction des événements que vous avez créée dans Créer une table de prédiction des événements.
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
Copiez l'exemple de code SQL.
Ouvrez la page BigQuery dans la console Google Cloud .
Si ce n'est pas déjà fait, sélectionnez le projet contenant vos tables d'événements produit et utilisateur.
Dans le volet Éditeur, collez l'exemple de code SQL.
Cliquez sur
Exécuter et attendez la fin de l'exécution de la requête.
Votre nouvelle table de prédictions Vertex AI est écrite à l'emplacement BigQuery que vous avez défini à l'aide de la variable vertex_ai_prediction_table.
Créer un ensemble de données Vertex AI
Cette section explique comment créer un ensemble de données Vertex AI que vous pouvez utiliser pour entraîner un modèle de prévision. Pour en savoir plus, consultez Créer un ensemble de données pour entraîner des modèles de prévision dans la documentation Vertex AI.
Pour créer un ensemble de données Vertex AI :
Dans la section Vertex AI de la console Google Cloud , accédez à la page Ensemble de données.
Cliquez sur Créer pour ouvrir la page Créer un ensemble de données.
Dans le champ Nom de l'ensemble de données, saisissez le nom de votre nouvel ensemble de données.
Sélectionnez l'onglet Tabulaire.
Sélectionnez l'objectif Prévision.
Dans la liste Région, sélectionnez la région que vous avez utilisée lorsque vous avez créé un ensemble de données pour exporter vos données commerciales dans BigQuery. Si vous avez sélectionné us lorsque vous avez créé votre ensemble de données BigQuery, vous pouvez sélectionner n'importe quelle région aux États-Unis. De même, si vous avez sélectionné eu lorsque vous avez créé votre ensemble de données BigQuery, vous pouvez sélectionner n'importe quelle région de l'Union européenne. Pour en savoir plus, consultez Exporter vos données vers BigQuery.
Cliquez sur Créer pour créer un ensemble de données vide, puis accédez à l'onglet Source.
Sélectionnez Sélectionner une table ou une vue à partir de BigQuery.
Sous Sélectionner une table ou une vue dans BigQuery, saisissez les ID du projet, de l'ensemble de données et de la table d'entraînement Vertex AI que vous avez créés dans Créer une table d'entraînement Vertex AI. Il a le format suivant :
project_id.dataset_id.table_id
.Cliquez sur Continuer.
Votre source de données est associée à votre ensemble de données.
Dans l'onglet Analyser, sélectionnez sku dans la liste Colonne "Identifiant de la série" et last_day_of_week dans la liste Colonne "Code temporel".
Cliquez sur Entraîner un nouveau modèle pour accéder à la page Entraîner un nouveau modèle. Pour obtenir des instructions sur l'entraînement de votre modèle, consultez Entraîner un modèle de prévision.
Entraîner un modèle de prévision
Cette section explique comment entraîner un modèle de prévision à l'aide de l'ensemble de données que vous avez créé dans Créer un ensemble de données Vertex AI. Pour en savoir plus, consultez Entraîner un modèle de prévision dans la documentation Vertex AI.
Avant de commencer
Avant d'entraîner un modèle de prévision, vous devez créer un ensemble de données Vertex AI.
Entraîner un modèle
Sur la page Méthode d'entraînement, sélectionnez la méthode d'entraînement de modèle. Pour en savoir plus sur les méthodes d'entraînement, consultez Entraîner un modèle dans la documentation Vertex AI.
Cliquez sur Continuer.
Sur la page Informations sur le modèle, effectuez la configuration suivante :
Sélectionnez Entraîner un nouveau modèle si ce n'est pas déjà fait.
Attribuez un nom à votre nouveau modèle.
Sélectionnez quantity (INTEGER) dans la liste Colonne cible.
Sélectionnez Hebdomadaire dans la liste Précision des données.
Saisissez la fenêtre de contexte et l'horizon de prévision.
L'horizon de prévision détermine jusqu'à quand le modèle prévoit la valeur cible pour chaque ligne de données de prédiction. L'horizon de prévision est spécifié en unités de précision des données.
La fenêtre de contexte définit jusqu'où le modèle remonte dans le temps lors de l'entraînement (et des prévisions). En d'autres termes, pour chaque point de données d'entraînement, la fenêtre de contexte détermine jusqu'à quelle période le modèle recherche des modèles prédictifs. Si vous ne spécifiez pas de Fenêtre de contexte, celle-ci est définie par défaut sur la valeur attribuée à l'horizon de prévision. La fenêtre de contexte est spécifiée en unités de précision des données.
Pour en savoir plus, consultez Éléments à prendre en compte dans la définition de la fenêtre de contexte et de l'horizon des prévisions dans la documentation Vertex AI.
Cliquez sur Continuer.
Sur la page Options d'entraînement, configurez les éléments comme suit. Notez que lorsqu'une flèche du menu déroulant
est grise ou qu'il n'y a pas de flèche du menu déroulant, cela signifie que la valeur ne peut pas être modifiée.Sélectionnez une valeur Transformation pour les colonnes de la liste Nom de la colonne comme suit :
Si la valeur Type BigQuery est Float, Integer ou Numeric, définissez la valeur Transformation sur Numeric.
Si la valeur Type BigQuery est String ou Boolean, définissez la valeur Transformation sur Categorical.
Si la valeur Type BigQuery est Date, définissez la valeur Transformation sur Code temporel.
Sélectionnez une valeur Type de caractéristique pour les colonnes de la liste Nom de la colonne comme suit :
Pour add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity et search_quantity, définissez la valeur Type de caractéristique sur Covariable.
Parmi les colonnes restantes, définissez le Type de caractéristique sur Attribut pour celles qui peuvent être modifiées.
Sélectionnez une valeur Disponible pour les prévisions pour les colonnes de la liste Type de colonne comme suit :
Pour add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity et search_quantity, définissez la valeur Disponibilité pour les prévisions sur Non disponible.
Parmi les colonnes restantes, définissez la valeur Type de caractéristique sur Disponible pour celles qui peuvent être modifiées.
Cliquez sur Continuer.
Sur la page Options de calcul et tarifs, saisissez le nombre maximal d'heures pendant lesquelles votre modèle doit s'entraîner. Ce paramètre vous permet de définir un plafond pour les coûts d'entraînement. Le temps écoulé peut être supérieur à cette valeur, car la création d'un modèle implique d'autres opérations. Pour en savoir plus sur le temps nécessaire pour entraîner des modèles de haute qualité, consultez Entraîner un modèle dans la documentation Vertex AI.
Cliquez sur Démarrer l'entraînement.
L'entraînement de modèle peut prendre plusieurs heures, en fonction de la taille et de la complexité de vos données et du budget d'entraînement, le cas échéant. Vous pouvez fermer cet onglet et y revenir plus tard. Vous recevrez un e-mail une fois l'entraînement de votre modèle terminé. Si vous souhaitez surveiller la progression de l'entraînement du modèle, consultez Surveiller la progression de votre entraînement.
Suivre la progression de votre entraînement
Dans la section Vertex AI de la console Google Cloud , accédez à la page Entraînement.
S'il n'est pas déjà sélectionné, sélectionnez l'onglet Pipelines d'entraînement. Le modèle que vous entraînez doit figurer dans la liste. L'entraînement est terminé lorsque l'état passe de Training (Entraînement) à Finished (Terminé).
Créer une prévision
Cette page explique comment créer une prévision à l'aide du modèle de prévision que vous avez entraîné dans Entraîner un modèle de prévision.
Avant de commencer
Pour pouvoir créer une prévision, vous devez entraîner un modèle de prévision.
Envoyer une requête de prédiction par lot au modèle
Dans la console Google Cloud , dans la section Vertex AI, accédez à la page Prédictions par lot.
Cliquez sur Créer pour ouvrir la fenêtre Nouvelle prédiction par lots et procédez comme suit :
Saisissez un nom pour la prédiction par lots.
Dans la liste Nom du modèle, sélectionnez le modèle que vous avez entraîné dans Entraîner un modèle de prévision.
Dans la liste Version, sélectionnez la version du modèle.
Sous Sélectionner une source :
Sélectionnez Table BigQuery si ce n'est pas déjà fait.
Saisissez les ID de projet, d'ensemble de données et de table dans BigQuery pour la table de prédiction Vertex AI que vous avez créée dans Créer une table de prédiction Vertex AI. Il a le format suivant :
project_id.dataset_id.table_id
.
Sous Résultat de la prédiction par lot :
Dans la liste Format de sortie, sélectionnez Table BigQuery.
Saisissez les ID du projet et de l'ensemble de données dans BigQuery pour la table de sortie de prédiction par lot que vous créez. Utilisez le même ID de projet et le même ID d'ensemble de données que ceux que vous avez utilisés pour les tables d'événements produit et utilisateur. Le format est
project_id.dataset_id.
.
Cliquez sur Créer. La page Prédictions par lot s'affiche.
La prédiction est terminée lorsque l'état passe de En attente à Terminé. Vous recevez également un e-mail lorsque votre prédiction par lot est terminée. Le résultat de votre requête de prédiction par lot est renvoyé dans l'ensemble de données du projet BigQuery que vous avez spécifié. Le nom de votre nouveau tableau de sortie est "predictions_", suivi de l'horodatage du début de la tâche de prédiction. Pour en savoir plus sur la récupération et l'interprétation des résultats de vos prévisions, consultez Récupérer les résultats des prédictions par lot et Interpréter les résultats des prévisions dans la documentation Vertex AI.