Apresentação sobre como personalizamos a jornada do PicPay.
Explicamos sobre o uso de técnicas de big data e machine learning aplicado ao negócio.
Falamos sobre recomendação na home, problemas de NLP em busca e construção de plataformas.
AI & BIG DATA: COMO PERSONALIZAMOS A JORNADA DE USO DO PICPAY
1. AI & BIG DATA: COMO
PERSONALIZAMOS A JORNADA
DE USO DO PICPAY
@renan_oliveira
2. Quem sou eu?
Renan
Oliveira
Head de AI & Analytics @PicPay
Co-founder & Mentor @DataBootcamp
Um Carioca apaixonado por aplicar AI & ML
nos produtos/aplicativos do dia a dia das
pessoas.
/renanmoreiradeoliveira
@renan_oliveira
#recomendação #busca #experimentação
#plataformas #machine_learning
3. Nascemos para transformar o jeito que as
pessoas lidam com dinheiro, fazem compras e
se comunicam, visando facilitar seu dia a dia.
Somos uma empresa de
Tecnologia e a maior App
de Pagamentos do Brasil!
4. +60 milhões de usuários
É o maior número de usuários em um app de pagamentos do Brasil.
R$ 6.8 Bilhões em
transações
É o valor que os usuários do PicPay movimentam todo mês.
+ 5 milhões de
estabelecimentos
+ 3600
colaboradores
Todo lugar aceita PicPay: seja através dos
estabelecimentos parceiros, ou pela
nossa rede de aceitação com as
maquininhas Cielo, Rede e Getnet.
Contamos com os melhores! Acolhemos
nossas pessoas nos escritórios de São
Paulo, Vitória e em todos os cantos do
mundo.
5. Transformamos o jeito de lidar
com o dinheiro para facilitar cada
dia da sua vida!
Nossa missão
6. Para facilitar temos que
identificar as intenções e a
partir disso personalizar a
experiência.
7. ADS
Online Ads, performance
and Trade Maketing
STORE
E-commerce Plataform
Online business Promotion
FINANCIAL
MARKETPLACE
Distribution of Financial
Products and Services
BUSINESS AND
ACCEPTANCE
Seller
Wide Array of Payment
Solutions
DIGITAL WALLET
Social Communication
Networking
8. Catálogo hiper diverso
vs. Espaço limitado
Em um cenário onde temos um
catálogo hiper diverso e um
espaço limitado para nos
comunicarmos com o usuário e
suas diferentes intenções, como
podemos exibir o conteúdo
mais relevante possível?
9. Recomendação
Facilitar o processo de escolha,
exibindo elementos ordenados
pelo interesse do usuário.
Refazer
Descobrir
Contextualizar
Cobrir
Surpreender
10. Desafios de personalizar
um "SuperApp"
1. Múltiplas intenções: pagar pessoa, lugar, lojas, consultar
saldos, chamar um amigo na DM, etc
2. Múltiplos objetivos: otimizar para ser bom pro usuário,
parceiro e pro PicPay
3. Big Data: quantidade de dados enorme precisamos de
otimizações para tudo
4. Feedbacks: implícitos (engajamento) e explícitos (pesquisas)
5. Cold Start: crescemos muito e temos uma avalanche de
usuários novos
13. Sugestões
recorrência +
tendências
Principal objetivo é ser um atalho
para sua transação do dia a dia.
O que você veio fazer logo sendo
a primeira coisa do aplicativo.
Após vários testes nosso modelo
encontrou um equilíbrio entre
frequência, recência e
tendências/popularidade.
60MM de sugestões únicas!
14. "De acordo com as ações que o usuário realizou
até agora, qual é o vídeo mais provável que ele
irá reproduzir agora?"
Além de outras variáveis, a Netflix considera
contexto o tempo discreto (dia da semana, hora
do dia) e o tempo contínuo (sequência de uso)
para realizar a predição do "next play".
https://pt.slideshare.net/linasbaltrunas9/contextualization-at-netflix
Histórico + contexto para estar à
frente da intenção do usuário
15. Vestido: focado em
descoberta e cobertura
As vitrines personalizadas na Home tem
como objetivo trazer a descoberta de
produtos, serviços e campanhas
oferecidos, considerando fatores
contextuais.
Cada vitrine tem modelos diferentes,
eles podem ser baseados em
clusterização, filtragem colaborativa. As
vitrines são plataformizadas para
outros times também criarem seus
modelos.
16. ML
Model Recommendations
Recommendation Platform Serving
Midgard
Jarbas
Search
Recommendation Platform Integrations
Houston
Test A/B
AWS
SageMaker
Reinforcement
Learning
Online ML
Python API
knowledge
graph
Recommendation Platform Core
Composition Fallback Failover
Test A/B
Simple
Segments
Filter Ensemble Ranking
Context Metrics Enriching Geolocation
CACHE L1 CACHE L2
MANAGEMENT
API
CLI
ADMIN
DASHBOARD
Recommendation
Solutions as Service
ALS
LightFM
Deep NN
Trends
Recommendation Shelf as Service (Serviço de Prateleiras Personalizadas)
Suggestions Shelf Nearby Places Shelf
Transactions Shelf Similar Items Shelf
Sugestões para você
Pagamentos
Locais Próximos de Você
1
2
3
Promotions
4
ms-showcase
ms-suggestions
RecSys Plat: a fonte dos
conteúdos personalizados
17. Busca
Atalho em linguagem natural para
encontrar o que o usuário deseja.
Porto seguro
Descobrir
Humanizar
Contextualizar
Personalizar
18. Jarbas: serviço de busca padrão
Nossa plataforma de Busca
desenvolvida para suportar uma busca
personalizada.
Possui uma arquitetura lamba
(streaming + batch) para descobrir a
intenção do usuário ao digitar um
termo no campo de busca, utilizando
elasticsearch e serviços da plataforma
de ML para compor o resultado.
21. Relevância: cada resultado é único
Termo
buscado
Match
do termo buscado
com o nome do
pesquisável
Boosts
Já realizei transação para
Já transacionou para mim
Eu sigo no Picpay
Me segue no PicPay
Contatos
Está próximo de mim
etc…
Score do item no resultado da busca = Match*Boost
22. Seções: ordenação das
categorias do resultado
Buscas no app são retornadas em seções
contendo o mesmo tipo de pesquisável.
Estamos coletando os feedbacks do
usuário para fazer um modelo de
aprendizado por reforço.
Conseguimos aumentar em 70% o
MRR.
23. Você pode gostar.
Expansão da Query
https://medium.com/inside-picpay/personaliza%C3%A7%C3%A3o-da-busca-do-picpay-via-expans%C3%A3o-de-query-baseada-em-word-embeddings-f25514238e08
Solução Baseada em Query Expansion
com Word Embeddings (word2vec),
quanto menor distância semântica
entre os termos do pesquisável e os
termos da query.
Para conhecer mais sobre a solução
visite nosso blog no inside-picpay.
26. Midgard, microsserviço
para integrar na app
Nossa principal forma de integração com
o App é pelo formato Batch-Online, onde
as inferências são calculadas em
background e armazenadas no
MongoDB que vimos no slide anterior. O
Midgard é nosso microsserviço que serve
esses dados ao App via HTTP.
PicPay
App
Gateway API do Client
Midgard
27. Só é possível saber se estamos no
caminho certo experimentando
e nos baseando em dados.
28. "Quando você tem pessoas talentosas elas têm um
número gigante de ideias, é importante ter um framework
onde qualquer novas ideias possam ser desenvolvidas e
testadas, com dados, não opiniões, que será usada para
tomar as decisões. Experimentação prove esse
framework."
- Netflix Culture Deck
29. Testes A/B
pra todo lado!
Para entendermos o impacto das nossas
entregas nós fazemos um testes a/b.
Separando os usuários em grupos, um
grupo não vê a alteração (controle) e
demais grupos veem alternativas.
Para facilitar nossa vida temos nossa
plataforma, o Houston.
30. Ciclo de experimentação
Metas
Defina uma meta que você busca em seu produto
Decisão
Encontre um objetivo para alcançar essa meta
Variações
Busque alternativas de como atingir esse objetivo
Teste
Faça testes com as alternativas elaboradas
Resultados
Análise como foram os resultados dos testes
Repita
Busque por novas metas a atingir
A/B TESTING
31. Exemplo de Teste A/B
Hipótese: O usuário se sentiria mais seguro ao
ser informado a sua relação com o resultado da
busca.
Experimento: 20% dos usuários irão ser
informados.
Sucesso: Aumento da taxa e diminuição do
tempo até o clique
Resultado: +X% de clique e -Y% no tempo com
95% de confiança.
32. Houston, flags e ABs
40MM eventos por dia
50K reqs/min
6ms o req time serviço (p90)
681 flags ativas
473 usuários
115 times
33. Arquitetura para ser
resiliente e rápido
Flags + AB Testing
97% melhor que a anterior
Atualização em near real time
Golang
MongoDB para Persistência
Cache das Flags em memória
Orientado a eventos (PubSub e AWS SNS)
Versionamento no S3 com possibilidade de rollback
Possibilidade da aplicação de borda (Flags Finder) ser
multi-região
34. ABTools lib para avaliar o resultado
Pacote em Python para ajudar na preparação dos dados, testes
de sanidade e testes estatísticos.
Objetivo é aumentar a confiança e reduzir o tempo das análises.
Teste T e Teste Z de Proporções
Testes de sanidade implementados: Flip de Usuários, SRM e
Outliers
Diversas unidades de análise implementadas: ClientID e SessionID
35. Com os dados de comportamento do
usuário e dos sistemas geramos um
mundo de dados
36. PicPay, são muitos dados?!
Tantos clientes, produtos e transações
levaram a um crescimento exponencial
nos dados processados mensalmente e
hoje já passamos dos 220 terabytes de
dados em nosso data lake!
Julho Dezembro
10
18
68
220
2020 2021
Volume de dados processados (Terabytes)
37. Big Data, real oficial
+6Bi eventos por dia
+220TB no data lake
+1Bi reqs no gateway
+20 clusters no EKS
+6k deploys
38. Arquitetura da plataforma de ingestão
MongoDB
MySQL
External
Sources CLEANED CURATED
RAW
microservices
microservices
EVENT TRACKING
KAFKA
SELF-SERVICE
AWS GLUE
PICPEDIA
CDC - DB
Logs
40. Papéis dentro de dados
Analytics Engineer
( Torna o dado disponível)
Responsável por estruturar e disponibilizar
os dados com base nas necessidades das
áreas de negócio. Para cada área de
negócio, criam modelos de dados,
abstraindo a complexidade técnica. Os
dados e sua modelagem são testados,
verificando integridade e veracidade, além
de serem documentados e validados junto
com o time de governança.
Para isso, utiliza de conhecimentos em
engenharia de software e engenharia de
dados, mantendo uma plataforma escalável
que suporte o volume dados do Picpay e
acelere o time to market dos nossos
modelos.
ML Engineer
(Mitiga os riscos de implantação e
execução dos modelos)
Responsável por ser o catalisador entre os
insights e problemas trazidos pela pessoa
cientista e analista de dados em seus
modelos e a implantação destes em uma
infra-estrutura de produção robusta e
confiável.
Para isso, utiliza de conhecimentos em
engenharia de software garantindo a
qualidade código, engenharia de dados com
escalabilidade pela volumetria do Picpay e
Data Science a fim de entender e traduzir a
necessidade do cientista / analista de dados.
��🏾💻
Data Analyst
(Apoia a área de negócios com dados e
análises)
Responder perguntas através de dados,
entendendo o que aconteceu e porque
isso aconteceu. Para tal, cria e acompanha
métricas relevantes para as áreas de
negócio, elabora análises avançadas, cria
produtos de dados ou até mesmo identificar
oportunidades de projetos e sugere ideias
para serem implementadas.
Skill Set: SQL, data visualization, python/R,
spark, estatística, modelagem de dados,
storytelling e problem solving. E para
complementar, precisa ter uma boa
comunicação, simplicidade e visão
sistêmica.
��🏼💻
Data Scientist
(Realiza predições a partir dos dados)
Criar inteligência que impacte os usuários
e/ou as métricas de sucesso do PicPay.
Para isso utilizam modelos de machine
learning, técnicas estatísticas ou heurísticas
para resolver problemas do negócio.
Skill Set: SQL, airflow, modelagem estatística
e de machine learning, spark, python e
databricks. Para complementar, precisa ter
conhecimento do negócio de acordo com
seu contexto, além de comunicativo e
simples nas soluções, sempre buscando
soluções com maior impacto.
��🏽💻
41. Dicas
Personalize, seus usuários têm gostos e objetivos diferentes
Plataformize, soluções artesanais drenam a sua energia
Estatística vai entrar no seu dia a dia
Não isole os times de dados
Publicações tem que entrar na sua rotina
Problema de negócio tem que ser o guia
Experimente muito!
42. VALEU!
Renan Oliveira
Tornando a vida das pessoas
mais fácil no PICPAY.
AI & BIG DATA: COMO
PERSONALIZAMOS A
JORNADA DE USO DO PICPAY