A página fornece orientações para obter previsões da Vertex AI com base nos dados de retalho exportados para o BigQuery. Disponibilizamos vários blocos de código SQL para ajudar a transformar os dados de produtos de retalho e de eventos de utilizadores num formato que o Vertex AI pode usar. Estes blocos de código são seguidos de procedimentos para a consola do Vertex AI para criar um conjunto de dados, preparar um modelo e, em seguida, gerar uma previsão.
Antes de começar
Antes de poder gerar previsões de vendas com os seus dados de retalho, tem de:
Carregue os seus dados de retalho através do Vertex AI Search para comércio. Para mais informações, consulte:
Exporte os seus dados de retalho do Vertex AI Search for commerce para o BigQuery. Isto deixa-lhe uma tabela de produtos e uma tabela de eventos de utilizadores no BigQuery, que pode usar nos procedimentos seguintes. Para mais informações, consulte o artigo Exporte os seus dados para o BigQuery.
Em alternativa, se os dados de eventos de produtos e utilizadores já estiverem no BigQuery, no formato do Vertex AI Search for commerce, pode usar esses dados para gerar previsões de vendas a partir de dados de retalho. Neste caso, não precisa de carregar os seus dados de retalho e exportá-los para o BigQuery. Para mais informações sobre o formato, consulte Esquema de produtos e Acerca dos eventos de utilizadores.
Certifique-se de que lhe foi concedida a
roles/aiplatform.user
função do IAM, para poder realizar os procedimentos através da consola do Vertex AI.
Crie uma tabela de vendas agregadas
O código SQL nesta secção transforma a tabela de eventos do utilizador numa tabela de vendas agregada. Isto significa que, para cada produto na tabela de eventos do utilizador que foi vendido, pelo menos, uma vez, a quantidade de vendas do produto é agregada durante um período semanal. Além disso, o código SQL faz o seguinte:
Para qualquer produto na tabela de eventos do utilizador, se faltarem datas/horas entre a primeira venda do produto na tabela e a última venda de qualquer produto na tabela, cada uma das datas/horas em falta é preenchida com uma nova linha com zero vendas. Isto destina-se a eliminar lacunas no histórico de vendas.
Se não existir, pelo menos, um produto na tabela de eventos do utilizador com, pelo menos, 20 indicações de tempo, é escolhido um produto da tabela aleatoriamente e são preenchidas as linhas em falta (cada uma com zero vendas) para atingir 20 indicações de tempo. Isto destina-se a cumprir o requisito da Vertex AI de ter, pelo menos, 20 indicações de tempo ao preparar um modelo.
Para criar uma tabela de vendas agregadas:
Substitua as variáveis no seguinte código de exemplo SQL da seguinte forma:
starting_day_of_week. O dia em que a semana começa. Valores válidos:
MONDAY
,TUESDAY
,WEDNESDAY
,THURSDAY
,FRIDAY
,SATURDAY
,SUNDAY
.rdm_user_event_table. Os IDs do projeto, do conjunto de dados e da tabela de eventos do utilizador que exportou para o BigQuery. O formato é
project_id.dataset_id.table_id
.rdm_product_table. Os IDs do projeto, do conjunto de dados e da tabela de produtos que exportou para o BigQuery. O formato é
project_id.dataset_id.table_id
.aggregated_sales_table. Os IDs do projeto, do conjunto de dados e da tabela no BigQuery para a nova tabela de vendas agregadas. Use o mesmo ID do projeto que as tabelas de eventos de produtos e utilizadores. Use o ID de um conjunto de dados existente. Especifique um ID da tabela, mas não use o ID de uma tabela existente, a menos que queira substituí-la. O formato é
project_id.dataset_id.table_id
.
Copie o exemplo de código SQL.
Abra a página do BigQuery na Google Cloud consola.
Se ainda não estiver selecionado, selecione o projeto que contém as tabelas de produtos e de eventos de utilizadores.
No painel Editor, cole o exemplo de código SQL.
Clique em
Executar e aguarde pela conclusão da execução da consulta.
A nova tabela de vendas agregadas é escrita na localização do BigQuery que definiu através da variável aggregated_sales_table.
Processe a tabela de produtos
O código SQL nesta secção atua na tabela de produtos que exportou para o BigQuery, removendo os campos repetidos e estruturados, e desagrupando o campo price_info nos respetivos campos secundários. Isto é necessário porque o Vertex AI não aceita listas nem estruturas aninhadas. O resultado é a tabela de produtos processada.
Para processar a tabela de produtos:
Substitua as variáveis no seguinte código de exemplo SQL da seguinte forma:
rdm_product_table. Os IDs do projeto, do conjunto de dados e da tabela do produto que exportou para o BigQuery. O formato é
project_id.dataset_id.table_id
.processed_product_table. Os IDs do projeto, do conjunto de dados e da tabela no BigQuery para a nova tabela de produtos processados. Use o mesmo ID do projeto que as tabelas de eventos de produtos e utilizadores. Use o ID de um conjunto de dados existente. Especifique um ID da tabela, mas não use o ID de uma tabela existente, a menos que queira substituí-la. O formato é
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`
Copie o exemplo de código SQL.
Abra a página do BigQuery na Google Cloud consola.
Se ainda não estiver selecionado, selecione o projeto que contém as tabelas de produtos e de eventos de utilizadores.
No painel Editor, cole o exemplo de código SQL.
Clique em
Executar e aguarde pela conclusão da execução da consulta.
A nova tabela de produtos processados é escrita na localização no BigQuery que definiu através da variável processed_product_table.
Crie uma tabela de previsão de eventos
O código SQL nesta secção extrai cada SKU que foi vendido, pelo menos, uma vez na tabela de eventos do utilizador. O código cria uma tabela de previsão de eventos que contém todos os SKUs extraídos em todas as datas/horas no futuro. As datas/horas futuras são uma matriz de datas/horas semanais contínuas, a partir da semana final na tabela de eventos do utilizador + 1 semana e terminando na semana final na tabela de eventos do utilizador + future_length semanas. Define o valor future_length para o número de semanas no futuro para o qual quer que o modelo faça a previsão. Cada linha na tabela de previsão de eventos pode ser identificada exclusivamente por um SKU e uma data/hora.
Para criar uma tabela de previsão de eventos:
Substitua as variáveis no seguinte código de exemplo SQL da seguinte forma:
starting_day_of_week. O dia em que a semana começa. Valores válidos:
MONDAY
,TUESDAY
,WEDNESDAY
,THURSDAY
,FRIDAY
,SATURDAY
,SUNDAY
.rdm_user_event_table. Os IDs do projeto, do conjunto de dados e da tabela de eventos do utilizador que exportou para o BigQuery. O formato é
project_id.dataset_id.table_id
.events_prediction_table. Os IDs do projeto, do conjunto de dados e da tabela no BigQuery para a nova tabela de previsão de eventos. Use o mesmo ID do projeto que as tabelas de eventos de produtos e utilizadores. Use o ID de um conjunto de dados existente. Especifique um ID da tabela, mas não use o ID de uma tabela existente, a menos que queira substituí-la. O formato é
project_id.dataset_id.table_id
.rdm_product_table. Os IDs do projeto, do conjunto de dados e da tabela do produto que exportou para o BigQuery. O formato é
project_id.dataset_id.table_id
.future_length. O número de semanas no futuro, após a semana final na tabela de eventos do utilizador, que o modelo vai prever.
Copie o exemplo de código SQL.
Abra a página do BigQuery na Google Cloud consola.
Se ainda não estiver selecionado, selecione o projeto que contém as tabelas de produtos e de eventos de utilizadores.
No painel Editor, cole o exemplo de código SQL.
Clique em
Executar e aguarde pela conclusão da execução da consulta.
A nova tabela de previsão de eventos é escrita na localização do BigQuery que definiu através da variável events_prediction_table.
Crie uma tabela de preparação do Vertex AI
O código SQL nesta secção junta a tabela de vendas agregadas à tabela de produtos processada. O resultado é uma tabela de preparação do Vertex AI, que o Vertex AI usa para a preparação de modelos.
Para criar uma tabela de preparação do Vertex AI:
Substitua as variáveis no seguinte código de exemplo SQL da seguinte forma:
vertex_ai_training_table. Os IDs do projeto, do conjunto de dados e da tabela no BigQuery para a nova tabela de preparação do Vertex AI. Use o mesmo ID do projeto que as tabelas de eventos de produtos e utilizadores. Use o ID de um conjunto de dados existente. Especifique um ID da tabela, mas não use o ID de uma tabela existente, a menos que queira substituí-la. O formato é
project_id.dataset_id.table_id
.aggregated_sales_table. Os IDs do projeto, do conjunto de dados e da tabela no BigQuery da tabela de vendas agregadas, que criou em Crie uma tabela de vendas agregadas.
processed_product_table. Os IDs do projeto, do conjunto de dados e da tabela no BigQuery para a tabela de produtos processada, que criou em Processar a tabela de produtos.
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
Copie o exemplo de código SQL.
Abra a página do BigQuery na Google Cloud consola.
Se ainda não estiver selecionado, selecione o projeto que contém as tabelas de produtos e de eventos de utilizadores.
No painel Editor, cole o exemplo de código SQL.
Clique em
Executar e aguarde pela conclusão da execução da consulta.
A nova tabela de preparação do Vertex AI é escrita na localização no BigQuery que definiu através da variável vertex_ai_training_table.
Crie uma tabela de previsão do Vertex AI
O código SQL nesta secção anexa a tabela de previsão de eventos à tabela de vendas agregadas e, em seguida, junta-a à tabela de produtos processados. O resultado é a tabela de previsão do Vertex AI, que é usada para criar uma previsão.
Para criar uma tabela de previsão da Vertex AI:
Substitua as variáveis no seguinte código de exemplo SQL da seguinte forma:
vertex_ai_prediction_table. Os IDs do projeto, do conjunto de dados e da tabela no BigQuery para a nova tabela de previsão do Vertex AI. Use o mesmo ID do projeto e ID do conjunto de dados que usou para as tabelas de eventos de produtos e utilizadores. Não use o ID de uma tabela existente, a menos que queira substituí-lo. O formato é
project_id.dataset_id.table_id
.aggregated_sales_table. Os IDs do projeto, do conjunto de dados e da tabela no BigQuery para a tabela de vendas agregadas, que criou em Crie uma tabela de vendas agregadas.
processed_product_table. Os IDs do projeto, do conjunto de dados e da tabela no BigQuery para a tabela de produtos processada, que criou em Processar a tabela de produtos.
events_prediction_table. Os IDs do projeto, do conjunto de dados e da tabela no BigQuery para a tabela de previsão de eventos que criou em Crie uma tabela de previsão 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
Copie o exemplo de código SQL.
Abra a página do BigQuery na Google Cloud consola.
Se ainda não estiver selecionado, selecione o projeto que contém as tabelas de produtos e de eventos de utilizadores.
No painel Editor, cole o exemplo de código SQL.
Clique em
Executar e aguarde pela conclusão da execução da consulta.
A nova tabela de previsão da Vertex AI é escrita na localização do BigQuery que definiu através da variável vertex_ai_prediction_table.
Crie um conjunto de dados do Vertex AI
Esta secção mostra como criar um conjunto de dados do Vertex AI que pode usar para preparar um modelo de previsão. Para mais informações, consulte o artigo Crie um conjunto de dados para preparar modelos de previsão na documentação do Vertex AI.
Para criar um conjunto de dados do Vertex AI:
Na Google Cloud consola, na secção Vertex AI, aceda à página Conjunto de dados.
Clique em Criar para abrir a página Criar conjunto de dados.
No campo Nome do conjunto de dados, introduza um nome para o novo conjunto de dados.
Selecione o separador Tabelar.
Selecione o objetivo Previsão.
Na lista Região, selecione a região que usou quando criou um conjunto de dados para exportar os dados de retalho para o BigQuery. Se selecionou us quando criou o conjunto de dados do BigQuery, pode selecionar qualquer região nos Estados Unidos. Da mesma forma, se selecionou eu quando criou o conjunto de dados do BigQuery, pode selecionar qualquer região na União Europeia. Para mais informações, consulte o artigo Exporte os seus dados para o BigQuery.
Clique em Criar para criar o conjunto de dados vazio e avançar para o separador Origem.
Selecione Selecionar uma tabela ou uma vista do BigQuery.
Em Selecione uma tabela ou uma vista do BigQuery, introduza os IDs do projeto, do conjunto de dados e da tabela para a tabela de preparação do Vertex AI que criou em Crie uma tabela de preparação do Vertex AI. O formato é
project_id.dataset_id.table_id
.Clique em Continuar.
A origem de dados está associada ao conjunto de dados.
No separador Analisar, selecione sku na lista Coluna do identificador da série e last_day_of_week na lista Coluna de data/hora.
Clique em Formar novo modelo para avançar para a página Formar novo modelo. Para ver instruções sobre como preparar o modelo, aceda a Prepare um modelo de previsão.
Prepare um modelo de previsão
Esta secção mostra como preparar um modelo de previsão com o conjunto de dados que criou em Crie um conjunto de dados do Vertex AI. Para mais informações, consulte o artigo Prepare um modelo de previsão na documentação do Vertex AI.
Antes de começar
Antes de poder preparar um modelo de previsão, tem de criar um conjunto de dados do Vertex AI.
Prepare um modelo
Na página Método de preparação, selecione o método de preparação do modelo. Para ver informações sobre os métodos de preparação, consulte o artigo Prepare um modelo na documentação do Vertex AI.
Clique em Continuar.
Na página Detalhes do modelo, configure da seguinte forma:
Selecione Formar novo modelo, se ainda não estiver selecionado.
Introduza um nome para o novo modelo.
Selecione quantidade (INTEGER) na lista Coluna de destino.
Selecione Semanal na lista Nível de detalhe dos dados.
Introduza a janela de contexto e o horizonte de previsão.
O Horizonte de previsão determina até que ponto o modelo prevê o valor-alvo para cada linha de dados de previsão. O horizonte de previsão é especificado em unidades de detalhe dos dados.
A capacidade de resposta define o período de análise do modelo durante a preparação (e para previsões). Por outras palavras, para cada ponto de dados de preparação, o período de contexto determina o intervalo de tempo em que o modelo procura padrões preditivos. Se não especificar um período de contexto, é usado por predefinição o valor definido para o horizonte de previsão. A capacidade de resposta é especificada em unidades de detalhe dos dados.
Para mais informações, consulte as Considerações para definir o período de contexto e o horizonte de previsão na documentação do Vertex AI.
Clique em Continuar.
Na página Opções de preparação, configure da seguinte forma. Tenha em atenção que quando uma seta do menu pendente
está cinzenta ou quando não existe uma seta do menu pendente, esse valor não pode ser alterado.Selecione um valor de Transformação para as colunas na lista Nome da coluna da seguinte forma:
Se o valor do tipo do BigQuery for Float, Integer ou Numeric, defina o valor da transformação como Numeric.
Se o valor do tipo do BigQuery for String ou Boolean, defina o valor da transformação como Categorical.
Se o valor do tipo do BigQuery for Data, defina o valor da transformação como Data/hora.
Selecione um valor de Tipo de funcionalidade para as colunas na lista Nome da coluna da seguinte forma:
Para add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity e search_quantity, defina o valor de Tipo de funcionalidade como Covariável.
Das colunas restantes, para as que podem ser alteradas, defina o Tipo de funcionalidade como Atributo.
Selecione um valor Disponível na previsão para as colunas na lista Tipo de coluna da seguinte forma:
Para add_to_cart_quantity, category_page_view_quantity, detail_page_view_quantity e search_quantity, defina o valor Disponibilidade na previsão como Não disponível.
Das colunas restantes, para as que podem ser alteradas, defina o valor de Tipo de funcionalidade como Disponível.
Clique em Continuar.
Na página Computação e preços, introduza o número máximo de horas durante as quais quer que o modelo seja preparado. Esta definição ajuda a limitar os custos de formação. O tempo decorrido real pode ser superior a este valor porque existem outras operações envolvidas na criação de um novo modelo. Para obter informações sobre a quantidade de tempo que pode ser necessária para preparar modelos de alta qualidade, consulte o artigo Prepare um modelo na documentação da Vertex AI.
Clique em Iniciar preparação.
A preparação do modelo pode demorar muitas horas, consoante a dimensão e a complexidade dos seus dados e o orçamento de preparação, se tiver especificado um. Pode fechar este separador e voltar a ele mais tarde. Recebe um email quando o modelo tiver concluído a preparação. Se quiser monitorizar o progresso da preparação do modelo, consulte o artigo Monitorize o progresso da preparação.
Monitorize o progresso da sua formação
Na Google Cloud consola, na secção Vertex AI, aceda à página Preparação.
Se ainda não estiver selecionado, selecione o separador Pipelines de preparação. O modelo que está a preparar deve estar na lista. A preparação termina quando o estado muda de Preparação para Concluída.
Crie uma previsão
Esta página mostra como criar uma previsão com o modelo de previsão que preparou em Prepare um modelo de previsão.
Antes de começar
Antes de poder criar uma previsão, tem de preparar um modelo de previsão.
Faça um pedido de previsão em lote ao seu modelo
Na Google Cloud consola do Google Cloud, na secção Vertex AI, aceda à página Previsões em lote.
Clique em Criar para abrir a janela Nova previsão em lote e conclua os passos seguintes:
Introduza um nome para a previsão em lote.
Na lista Nome do modelo, selecione o modelo que preparou em Prepare um modelo de previsão.
Na lista Versão, selecione a versão do modelo.
Em Selecionar origem:
Se ainda não estiver selecionada, selecione Tabela do BigQuery.
Introduza os IDs do projeto, do conjunto de dados e da tabela no BigQuery para a tabela de previsão do Vertex AI que criou em Crie uma tabela de previsão do Vertex AI. O formato é
project_id.dataset_id.table_id
.
Em Resultado da previsão em lote:
Na lista Formato de saída, selecione Tabela do BigQuery.
Introduza os IDs do projeto e do conjunto de dados no BigQuery para a tabela de saída de previsão em lote que está a criar. Use o mesmo ID do projeto e ID do conjunto de dados que usou para as tabelas de eventos de produtos e utilizadores. O formato é
project_id.dataset_id.
Clique em Criar. É apresentada a página Previsões em lote.
A previsão termina quando o estado muda de Pendente para Concluído. Também recebe um email quando a previsão em lote estiver concluída. O resultado do seu pedido de previsão em lote é devolvido no conjunto de dados no projeto do BigQuery que especificou. O nome da nova tabela de saída é "predictions_" anexado com a data/hora em que a tarefa de previsão foi iniciada. Para mais informações sobre como obter e interpretar os resultados da previsão, consulte os artigos Obtenha resultados de previsão em lote e Interprete os resultados da previsão na documentação do Vertex AI.