arrow_back

Preveja compras de visitantes com um modelo de classificação no BQML v1.5

Acesse mais de 700 laboratórios e cursos

Preveja compras de visitantes com um modelo de classificação no BQML v1.5

Laboratório 1 hora 15 minutos universal_currency_alt 5 créditos show_chart Avançado
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Acesse mais de 700 laboratórios e cursos

Informações gerais

O BigQuery é um banco de dados de análise NoOps, totalmente gerenciado e de baixo custo desenvolvido pelo Google. Com ele, você pode consultar muitos terabytes de dados sem ter que gerenciar uma infraestrutura ou precisar de um administrador de banco de dados. O BigQuery usa SQL e está disponível no modelo de pagamento por uso. Assim, você pode se concentrar na análise dos dados para encontrar insights relevantes.

O BigQuery Machine Learning (BQML, produto na versão Beta) é um novo recurso do produto. Nele, os analistas de dados podem criar, treinar, avaliar e fazer previsões com modelos de machine learning que exigem o mínimo de programação.

O BigQuery inclui um novo conjunto de dados de e-commerce com milhões de registros do Google Analytics referentes à Google Merchandise Store. Neste laboratório, você executará algumas consultas comuns usando esses dados com o objetivo de encontrar informações sobre hábitos de compra dos clientes que sejam relevantes para empresas.

Objetivos

Neste laboratório, você aprenderá a realizar estas tarefas:

  • Usar o BigQuery para localizar conjuntos de dados públicos
  • Consultar e analisar o conjunto de dados de e-commerce
  • Criar um conjunto de dados de treinamento e avaliação para usar na previsão em lote
  • Criar um modelo de classificação (regressão logística) no BQML
  • Avaliar o desempenho do seu modelo de machine learning
  • Prever e classificar a probabilidade de um visitante fazer uma compra

Você precisará do seguinte:

  • Um projeto do Google Cloud Platform
  • Um navegador (como o Google Chrome ou o Mozilla Firefox)

Configuração e requisitos

Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período e sem custos financeiros.

  1. Faça login no Qwiklabs em uma janela anônima.

  2. Confira o tempo de acesso do laboratório (por exemplo, 1:15:00) e finalize todas as atividades nesse prazo.
    Não é possível pausar o laboratório. Você pode reiniciar o desafio, mas vai precisar refazer todas as etapas.

  3. Quando tudo estiver pronto, clique em Começar o laboratório.

  4. Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.

  5. Clique em Abrir Console do Google.

  6. Clique em Usar outra conta, depois copie e cole as credenciais deste laboratório nos locais indicados.
    Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.

  7. Aceite os termos e pule a página de recursos de recuperação.

Tarefa 1: fixar o projeto do laboratório no BigQuery

  1. Clique no Menu de navegação > BigQuery.

nav_bq.png

A caixa de mensagem Bem-vindo ao BigQuery no Console do Cloud é aberta.

A caixa de mensagem Bem-vindo ao BigQuery no Console do Cloud fornece um link para o guia de início rápido e atualizações da IU.
  1. Clique em Concluído.

Os conjuntos de dados públicos do BigQuery não são exibidos por padrão na IU da Web do BigQuery. Para abrir o projeto de conjuntos de dados públicos

pin.png

  1. Clique em + Add Dados.
  2. Selecione Fixar projeto > Insira o nome do projeto.
  3. Para o Nome do projeto, insira data-to-insights.
  4. Clique em Fixar.

pindata.png

  1. No painel esquerdo, em Visualizando projetos fixados, você verá o projeto data-to-insights fixado.

pinview.png

Acesse o conjunto de dados do curso

  • Quando o BigQuery estiver aberto, clique no link abaixo para usar o projeto público data-to-insights no seu painel de projetos do BigQuery:

console.cloud.google.com/bigquery?p=data-to-insights&d=ecommerce&t=web_analytics&page=table

As definições de campo para o conjunto de dados de e-commerce data-to-insights estão no documento [UA] Esquema do BigQuery Export. Mantenha esse link aberto em outra guia para consulta.

Tarefa 2: analisar os dados de e-commerce

Cenário: sua equipe de analistas de dados exportou para o BigQuery os registros do Google Analytics referentes a um site de e-commerce e criou uma nova tabela com todos os dados brutos de sessão de visitante para você investigar. Use essas informações para responder às perguntas abaixo.

Pergunta: qual porcentagem do total de visitantes fez uma compra no site?

  1. Adicione esta consulta ao Editor:
#standardSQL WITH visitors AS( SELECT COUNT(DISTINCT fullVisitorId) AS total_visitors FROM `data-to-insights.ecommerce.web_analytics` ), purchasers AS( SELECT COUNT(DISTINCT fullVisitorId) AS total_purchasers FROM `data-to-insights.ecommerce.web_analytics` WHERE totals.transactions IS NOT NULL ) SELECT total_visitors, total_purchasers, total_purchasers / total_visitors AS conversion_rate FROM visitors, purchasers
  1. Depois, clique em Executar.

Resultado: 2,69%

Pergunta: quais são os cinco produtos mais vendidos?

  • Adicione esta consulta ao Editor e depois a Execute:
#standardSQL SELECT p.v2ProductName, p.v2ProductCategory, SUM(p.productQuantity) AS units_sold, ROUND(SUM(p.localProductRevenue/1000000),2) AS revenue FROM `data-to-insights.ecommerce.web_analytics`, UNNEST(hits) AS h, UNNEST(h.product) AS p GROUP BY 1, 2 ORDER BY revenue DESC LIMIT 5;

Resultado:

Row v2ProductName v2ProductCategory units_sold revenue
1 Nest® Learning Thermostat 3rd Gen-USA - Stainless Steel Nest-USA 17651 870976.95
2 Nest® Cam Outdoor Security Camera - USA Nest-USA 16930 684034.55
3 Nest® Cam Indoor Security Camera - USA Nest-USA 14155 548104.47
4 Nest® Protect Smoke + CO White Wired Alarm-USA Nest-USA 6394 178937.6
5 Nest® Protect Smoke + CO White Battery Alarm-USA Nest-USA 6340 178572.4

Pergunta: quantos visitantes fizeram compras em acessos posteriores ao site?

  • Adicione esta consulta ao Editor e depois a Execute:
#standardSQL # visitantes que voltaram ao site para comprar mais produtos, mesmo que tenham feito compras na primeira visita WITH all_visitor_stats AS ( SELECT fullvisitorid, # 741,721 unique visitors IF(COUNTIF(totals.transactions > 0 AND totals.newVisits IS NULL) > 0, 1, 0) AS will_buy_on_return_visit FROM `data-to-insights.ecommerce.web_analytics` GROUP BY fullvisitorid ) SELECT COUNT(DISTINCT fullvisitorid) AS total_visitors, will_buy_on_return_visit FROM all_visitor_stats GROUP BY will_buy_on_return_visit

Resultados:

Row total_visitors will_buy_on_return_visit
1 729848 0
2 11873 1

Pelos resultados, (11.873 / 729.848) = 1,6% do total de visitantes retorna e faz compras no site. Isso inclui o subconjunto de pessoas que fizeram compras na primeira sessão e depois voltaram ao site para comprar mais produtos.

Pergunta: em geral, quais são os motivos para um cliente de e-commerce acessar o site, mas só fazer a compra em outra visita?

Resposta: não existe só uma resposta certa, mas um motivo comum é que o usuário compara vários sites de e-commerce antes de tomar uma decisão final sobre a compra. Isso é muito comum na compra de produtos caros (por exemplo, um carro), que o cliente precisa pesquisar e comparar informações antes de tomar uma decisão. No entanto, isso também acontece em menor escala na compra de outros produtos anunciados no site, como camisetas, acessórios etc.

No mundo do marketing on-line, identificar esses futuros clientes com base nas características da primeira visita deles e promover os produtos para eles vai aumentar as taxas de conversão e reduzir o número de visitas a sites concorrentes.

Tarefa 3: identificar um objetivo

Agora, você criará um modelo de machine learning no BigQuery para prever se um novo usuário fará compras no site futuramente. Identificar esses usuários valiosos pode ajudar sua equipe de marketing a exibir promoções especiais e campanhas publicitárias para eles. Essa abordagem pode garantir uma conversão entre uma visita e outra ao site de e-commerce, quando os usuários estiverem comparando os produtos.

Tarefa 4: selecionar atributos e criar seu conjunto de dados de treinamento

O Google Analytics captura diversas dimensões e medidas sobre a visita de um usuário ao site de e-commerce. Confira a lista completa de campos e consulte o conjunto de dados de demonstração para encontrar atributos úteis que vão ajudar um modelo de machine learning a entender a relação entre os dados da primeira visita de um usuário ao site e a probabilidade de ele retornar para fazer uma compra.

Sua equipe decide testar se estes dois campos são entradas relevantes para o modelo de classificação:

  • totals.bounces (se o visitante saiu do site imediatamente)
  • totals.timeOnSite (quanto tempo o visitante ficou no site)

Pergunta: Quais são os riscos de usar somente os dois campos acima?

Resposta: O desempenho de machine learning depende dos dados de treinamento que ele recebe. Se não houver informações suficientes para o modelo determinar e aprender a relação entre os recursos da entrada e o rótulo (nesse caso, se o visitante fez uma compra mais tarde), o modelo não será preciso. Treinar um modelo somente com esses dois campos pode ser um começo, e você vai conferir se eles são bons o suficiente para produzir um modelo preciso.

  • Adicione esta consulta ao Editor:
#standardSQL SELECT * EXCEPT(fullVisitorId) FROM # atributos (SELECT fullVisitorId, IFNULL(totals.bounces, 0) AS bounces, IFNULL(totals.timeOnSite, 0) AS time_on_site FROM `data-to-insights.ecommerce.web_analytics` WHERE totals.newVisits = 1) JOIN (SELECT fullvisitorid, IF(COUNTIF(totals.transactions > 0 AND totals.newVisits IS NULL) > 0, 1, 0) AS will_buy_on_return_visit FROM `data-to-insights.ecommerce.web_analytics` GROUP BY fullvisitorid) USING (fullVisitorId) ORDER BY time_on_site DESC LIMIT 10;
  1. Depois, clique em Executar.

Resultados:

Row bounces time_on_site will_buy_on_return_visit
1 0 15047 0
2 0 12136 0
3 0 11201 0
4 0 10046 0
5 0 9974 0
6 0 9564 0
7 0 9520 0
8 0 9275 1
9 0 9138 0
10 0 8872 0

Quais campos são os recursos do modelo? Qual é o rótulo (resposta correta)?

As entradas são bounces e time_on_site. O rótulo é will_buy_on_return_visit.

Pergunta: Quais dois campos são conhecidos após a primeira sessão de um visitante?

Resposta: bounces e time_on_site são conhecidos após a primeira sessão do visitante.

Pergunta: Qual campo não é conhecido até uma visita futura?

Resposta: will_buy_on_return_visit não é conhecido após a primeira visita. É importante lembrar que você está prevendo um subconjunto de usuários que retornaram ao seu site e fizeram compras. Como não há informações futuras no momento da previsão, você não tem certeza se um novo visitante voltará para fazer compras. Criar um modelo de ML é importante para saber a probabilidade de uma compra futura com base nos dados coletados sobre a primeira sessão.

Pergunta: analisando os resultados dos dados iniciais, você acha que time_on_site e bounces serão bons indicadores da possibilidade de o usuário retornar e fazer compras no site?

Resposta: geralmente, é preciso treinar e avaliar o modelo antes de afirmar isso. No entanto, com base nos 10 maiores valores de time_on_site, somente um cliente voltou para comprar, o que não é muito promissor. Confira se o modelo tem um bom desempenho.

Tarefa 5: criar um conjunto de dados do BigQuery para armazenar modelos

Em seguida, crie um novo conjunto de dados do BigQuery que também vai armazenar seus modelos de ML.

  1. No console do BigQuery, clique em "Ver ações" (três pontos) e depois em Criar conjunto de dados.

A opção "Criar conjunto de dados" destacada

  1. Em ID do conjunto de dados, insira e-commerce. Não altere as outras opções (Local dos dados, Expiração da tabela padrão).

  2. Clique em Criar conjunto de dados.

O conjunto de dados de e-commerce aparece abaixo do nome do projeto.

Clique em Verificar meu progresso para conferir o objetivo.

Criar um novo conjunto de dados

Tarefa 6: selecionar um tipo de modelo do BQML e especifique as opções

Agora que você selecionou os atributos iniciais, está com tudo pronto para criar o primeiro modelo de ML no BigQuery.

Há dois tipos de modelos para escolher:

Modelo Tipo de modelo Tipo de dados de rótulo Exemplo
Previsão linear_reg Valor numérico (normalmente um número inteiro ou ponto flutuante) Prever os valores de vendas para o próximo ano com base nos dados históricos das vendas.
Classificação logistic_reg 0 ou 1 para classificação binária Classificar um e-mail como spam ou não spam de acordo com o contexto.
Observação: vários outros tipos de modelo usados em machine learning, como redes neurais e árvores de decisão, estão disponíveis em bibliotecas como o TensorFlow. No momento, o BQML oferece suporte aos dois acima listados.

Qual tipo de modelo você deve escolher?

Já que você está dividindo os visitantes em "vai comprar no futuro" e "não vai comprar no futuro", use logistic_reg em um modelo de classificação.

  1. Adicione esta consulta ao Editor para criar um modelo e especificar as opções dele:
#standardSQL CREATE OR REPLACE MODEL `ecommerce.classification_model` OPTIONS ( model_type='logistic_reg', input_label_cols = ['will_buy_on_return_visit'] ) AS #standardSQL SELECT * EXCEPT(fullVisitorId) FROM # recursos (SELECT fullVisitorId, IFNULL(totals.bounces, 0) AS bounces, IFNULL(totals.timeOnSite, 0) AS time_on_site FROM `data-to-insights.ecommerce.web_analytics` WHERE totals.newVisits = 1 AND date BETWEEN '20160801' AND '20170430') # treinar com os primeiros 9 meses JOIN (SELECT fullvisitorid, IF(COUNTIF(totals.transactions > 0 AND totals.newVisits IS NULL) > 0, 1, 0) AS will_buy_on_return_visit FROM `data-to-insights.ecommerce.web_analytics` GROUP BY fullvisitorid) USING (fullVisitorId) ;
  1. Depois, clique em Executar para treinar o modelo.

Aguarde o modelo ser treinado (5 a 10 minutos).

Observação: não é possível incluir todos os dados disponíveis no modelo durante o treinamento, porque é preciso salvar alguns pontos de dados que não foram consultados para fins de avaliação e teste. Adicione uma condição da cláusula WHERE que esteja sendo usada para filtrar e treinar somente os primeiros 9 meses de dados da sessão no conjunto de dados de 12 meses.

Clique em Verificar meu progresso para conferir o objetivo.

Criar um modelo e especificar as opções correspondentes

Depois de treinar seu modelo, será exibida uma mensagem semelhante a esta: "Esta declaração vai criar um novo modelo chamado qwiklabs-gcp-01-00af1a3268df:ecommerce.classification_model. Dependendo do tipo do modelo, a conclusão desta ação pode levar algumas horas." Isso indica que seu modelo foi treinado com êxito.

  1. Acesse o conjunto de dados e confirme se classification_model aparece.

Em seguida, você vai avaliar o desempenho do modelo com novos dados de avaliação.

Tarefa 7: avaliar o desempenho do modelo de classificação

Selecionar os critérios de desempenho

Para resolver problemas de classificação no ML, é preciso reduzir a taxa de falso positivo (previsão de compras que não acontecem) e aumentar a taxa de verdadeiro positivo (previsão de compras que acontecem).

É possível conferir essa relação com uma Curva ROC como a mostrada abaixo, em que o objetivo é maximizar a área sob a curva (ou AUC):

Curva ROC ilustrando a taxa de verdadeiros positivos em comparação com a taxa de falsos positivos

No BQML, roc_auc é somente um campo de consulta para a avaliação do seu modelo de ML treinado.

Agora que o treinamento terminou, avalie o desempenho do modelo com essa consulta usando ML.EVALUATE.

  • Adicione esta consulta ao Editor e depois a Execute:
#standardSQL SELECT roc_auc, CASE WHEN roc_auc > .9 THEN 'good' WHEN roc_auc > .8 THEN 'fair' WHEN roc_auc > .7 THEN 'decent' WHEN roc_auc > .6 THEN 'not great' ELSE 'poor' END AS model_quality FROM ML.EVALUATE(MODEL ecommerce.classification_model, ( SELECT * EXCEPT(fullVisitorId) FROM # atributos (SELECT fullVisitorId, IFNULL(totals.bounces, 0) AS bounces, IFNULL(totals.timeOnSite, 0) AS time_on_site FROM `data-to-insights.ecommerce.web_analytics` WHERE totals.newVisits = 1 AND date BETWEEN '20170501' AND '20170630') # eval on 2 months JOIN (SELECT fullvisitorid, IF(COUNTIF(totals.transactions > 0 AND totals.newVisits IS NULL) > 0, 1, 0) AS will_buy_on_return_visit FROM `data-to-insights.ecommerce.web_analytics` GROUP BY fullvisitorid) USING (fullVisitorId) ));

O seguinte resultado será exibido:

Row roc_auc model_quality
1 0,724588 decent

Depois de avaliar seu modelo, você recebe um roc_auc de 0,72, que indica um poder preditivo adequado, mas não ótimo. Como a meta é deixar a área sob a curva o mais próximo possível de 1, é possível aprimorar o modelo.

Clique em Verificar meu progresso para conferir o objetivo.

Avaliar o desempenho do modelo de classificação

Tarefa 8: melhorar o desempenho do modelo com a engenharia de atributos

Como já mencionamos, há diversos outros atributos no conjunto de dados que podem ajudar o modelo a entender melhor a relação entre a primeira sessão de um visitante e a probabilidade de compra em um acesso futuro.

Adicione os novos atributos listados abaixo e crie um segundo modelo de machine learning que será chamado classification_model_2:

  • Até onde o cliente foi no processo de finalização da compra na primeira visita
  • A origem do visitante (origem do tráfego: pesquisa orgânica, site de referência etc.)
  • A categoria do dispositivo (smartphone, tablet, computador)
  • As informações geográficas (país)
  1. Adicione esta consulta ao Editor para criar o segundo modelo e depois clique em Executar:
#standardSQL CREATE OR REPLACE MODEL `ecommerce.classification_model_2` OPTIONS (model_type='logistic_reg', input_label_cols = ['will_buy_on_return_visit']) AS WITH all_visitor_stats AS ( SELECT fullvisitorid, IF(COUNTIF(totals.transactions > 0 AND totals.newVisits IS NULL) > 0, 1, 0) AS will_buy_on_return_visit FROM `data-to-insights.ecommerce.web_analytics` GROUP BY fullvisitorid ) # adicionar novos recursos SELECT * EXCEPT(unique_session_id) FROM ( SELECT CONCAT(fullvisitorid, CAST(visitId AS STRING)) AS unique_session_id, # input_label_cols will_buy_on_return_visit, MAX(CAST(h.eCommerceAction.action_type AS INT64)) AS latest_ecommerce_progress, # comportamento no site IFNULL(totals.bounces, 0) AS bounces, IFNULL(totals.timeOnSite, 0) AS time_on_site, IFNULL(totals.pageviews, 0) AS pageviews, # de onde o visitante veio trafficSource.source, trafficSource.medium, channelGrouping, # dispositivo móvel ou desktop device.deviceCategory, # geográfico IFNULL(geoNetwork.country, "") AS country FROM `data-to-insights.ecommerce.web_analytics`, UNNEST(hits) AS h JOIN all_visitor_stats USING(fullvisitorid) WHERE 1=1 # prever apenas para novos visitantes AND totals.newVisits = 1 AND date BETWEEN '20160801' AND '20170430' # treinar com 9 meses GROUP BY unique_session_id, will_buy_on_return_visit, bounces, time_on_site, totals.pageviews, trafficSource.source, trafficSource.medium, channelGrouping, device.deviceCategory, country ); Observação: você ainda está treinando com os mesmos primeiros 9 meses de dados, mesmo no modelo novo. É importante usar o mesmo conjunto de dados de treinamento. Assim, você tem a certeza de que a saída do modelo melhorou porque os recursos de entrada estão mais eficientes, não porque os dados de treinamento são novos ou diferentes.

Um novo atributo importante adicionado à consulta do conjunto de dados de treinamento é a etapa máxima do processo de finalização da compra que cada visitante alcançou na sessão, registrada no campo hits.eCommerceAction.action_type. Ao procurar esse campo nas definições de campo, você vai encontrar o mapeamento "6 = Compra realizada".

Além disso, o conjunto de dados de análise da Web tem campos aninhados e repetidos, como MATRIZES, que precisam ser separados em linhas específicas. Isso é feito com a função UNNEST(), que você pode ver na consulta acima.

Aguarde até que o novo modelo termine o treinamento (5 a 10 minutos).

Clique em Verificar meu progresso para conferir o objetivo.

Melhorar o desempenho do modelo com a engenharia de atributos (criar um segundo modelo)

Avalie se o modelo novo tem uma capacidade melhor de previsão.

  1. Adicione esta consulta ao Editor e depois a Execute:
#standardSQL SELECT roc_auc, CASE WHEN roc_auc > .9 THEN 'good' WHEN roc_auc > .8 THEN 'fair' WHEN roc_auc > .7 THEN 'decent' WHEN roc_auc > .6 THEN 'not great' ELSE 'poor' END AS model_quality FROM ML.EVALUATE(MODEL ecommerce.classification_model_2, ( WITH all_visitor_stats AS ( SELECT fullvisitorid, IF(COUNTIF(totals.transactions > 0 AND totals.newVisits IS NULL) > 0, 1, 0) AS will_buy_on_return_visit FROM `data-to-insights.ecommerce.web_analytics` GROUP BY fullvisitorid ) # adicionar novos recursos SELECT * EXCEPT(unique_session_id) FROM ( SELECT CONCAT(fullvisitorid, CAST(visitId AS STRING)) AS unique_session_id, # input_label_cols will_buy_on_return_visit, MAX(CAST(h.eCommerceAction.action_type AS INT64)) AS latest_ecommerce_progress, # comportamento no site IFNULL(totals.bounces, 0) AS bounces, IFNULL(totals.timeOnSite, 0) AS time_on_site, totals.pageviews, # de onde o visitante veio trafficSource.source, trafficSource.medium, channelGrouping, # dispositivo móvel ou desktop device.deviceCategory, # geográfico IFNULL(geoNetwork.country, "") AS country FROM `data-to-insights.ecommerce.web_analytics`, UNNEST(hits) AS h JOIN all_visitor_stats USING(fullvisitorid) WHERE 1=1 # prever apenas para novos visitantes AND totals.newVisits = 1 AND date BETWEEN '20170501' AND '20170630' # avaliar 2 meses GROUP BY unique_session_id, will_buy_on_return_visit, bounces, time_on_site, totals.pageviews, trafficSource.source, trafficSource.medium, channelGrouping, device.deviceCategory, country ) ));

Saída:

Row roc_auc model_quality
1 0.910382 good

Com o novo modelo, você recebe um roc_auc de 0,91, significativamente melhor do que o primeiro.

Agora que você tem um modelo treinado, é hora de fazer algumas previsões.

Clique em Verificar meu progresso para conferir o objetivo.

Melhorar o desempenho do modelo com a engenharia de atributos (maior poder de previsão)

Tarefa 9: prever quais visitantes novos vão voltar e fazer compras

Você escreverá uma consulta para prever quais novos visitantes voltarão e farão uma compra no site. A consulta de previsão abaixo usa o modelo de classificação aprimorado que treinamos acima para prever a probabilidade de um visitante novo da Google Merchandise Store fazer uma compra em um acesso futuro. As previsões são feitas no último mês (de 12) do conjunto de dados.

  • Adicione esta consulta ao Editor e depois a Execute:
#standardSQL SELECT * FROM ml.PREDICT(MODEL `ecommerce.classification_model_2`, ( WITH all_visitor_stats AS ( SELECT fullvisitorid, IF(COUNTIF(totals.transactions > 0 AND totals.newVisits IS NULL) > 0, 1, 0) AS will_buy_on_return_visit FROM `data-to-insights.ecommerce.web_analytics` GROUP BY fullvisitorid ) SELECT CONCAT(fullvisitorid, '-',CAST(visitId AS STRING)) AS unique_session_id, # input_label_cols will_buy_on_return_visit, MAX(CAST(h.eCommerceAction.action_type AS INT64)) AS latest_ecommerce_progress, # comportamento no site IFNULL(totals.bounces, 0) AS bounces, IFNULL(totals.timeOnSite, 0) AS time_on_site, totals.pageviews, # de onde o visitante veio trafficSource.source, trafficSource.medium, channelGrouping, # dispositivo móvel ou desktop device.deviceCategory, # geográfico IFNULL(geoNetwork.country, "") AS country FROM `data-to-insights.ecommerce.web_analytics`, UNNEST(hits) AS h JOIN all_visitor_stats USING(fullvisitorid) WHERE # prever apenas para novas visitas totals.newVisits = 1 AND date BETWEEN '20170701' AND '20170801' # testar 1 mês GROUP BY unique_session_id, will_buy_on_return_visit, bounces, time_on_site, totals.pageviews, trafficSource.source, trafficSource.medium, channelGrouping, device.deviceCategory, country ) ) ORDER BY predicted_will_buy_on_return_visit DESC;

Clique em Verificar meu progresso para conferir o objetivo.

Prever quais visitantes novos vão voltar e fazer compras

Agora, seu modelo vai exibir as previsões para as sessões de e-commerce de julho de 2017. Veja que três novos campos foram adicionados:

  • predicted_will_buy_on_return_visit: indica se o modelo entende que o visitante comprará mais tarde (1 = sim)
  • predicted_will_buy_on_return_visit_probs.label: é o classificador binário para sim / não
  • predicted_will_buy_on_return_visit.prob: indica a confiança do modelo na previsão (1 = 100%)

Saída da previsão

Resultados

  • Entre os primeiros 6% dos visitantes novos (classificados em ordem decrescente de probabilidade prevista), mais de 6% fazem uma compra em uma visita posterior.
  • Esses usuários representam quase 50% de todos os visitantes novos que compram em visitas futuras.
  • No geral, apenas 0,7% dos visitantes novos fazem uma compra em uma próxima visita.
  • Segmentar os primeiros 6% dos visitantes novos aumenta o ROI de marketing nove vezes mais do que segmentar todos eles.

Mais informações

  • Dica: ao treinar seu modelo com novos dados, adicione warm_start = true às opções dele para reduzir o tempo de treinamento. Não é possível alterar as colunas de atributos. Isso exigiria a criação de um novo modelo.

  • roc_auc é apenas uma das métricas de desempenho disponíveis durante a avaliação do modelo. Acurácia, precisão e recall também estão disponíveis. A métrica de desempenho a ser usada dependerá muito do seu objetivo geral.

Outros conjuntos de dados para analisar

Se quiser saber mais sobre a criação de modelos em outros conjuntos de dados, como na previsão de tarifas para corridas de táxi, use o link abaixo e acesse o projeto bigquery-public-data:

Tarefa 10: testar seus conhecimentos

Faça nosso teste para avaliar o quanto você sabe sobre o Google Cloud Platform.

Parabéns!

Você acabou de criar um modelo de ML no BigQuery para classificar visitantes de e-commerce.

Finalize o laboratório

Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.

Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

Copyright 2020 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto

Este conteúdo não está disponível no momento

Você vai receber uma notificação por e-mail quando ele estiver disponível

Ótimo!

Vamos entrar em contato por e-mail se ele ficar disponível

Um laboratório por vez

Confirme para encerrar todos os laboratórios atuais e iniciar este

Use a navegação anônima para executar o laboratório

Para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.