SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
Sandor Tucakov Caetano

@SandorCaetano

sandor.caetano@gmail.com
Data Science em
uma instituição
financeira moderna
Índice
O Nubank
Ajustando limites de crédito
Pessoas
Dados
Modelos
Políticas
Mantendo tudo sob controle
SÃO PAULO, BRASIL
O Nubank
SOUTHEAST BRAZIL REGION FROM SPACE
>1000 pessoas!
>150 serviços Clojure
>21 modelos em produção
>140 na engenharia
>45 analistas de negócios
>16 data scientists
Nubank
▪ Nubank é uma empresa de tecnologia

▪ Oferecemos um produto gratuito
▪ Intensivo em capital

▪ Limite de crédito vale "pra sempre"

▪ Decisões de crédito demoram meses para serem validadas
▪ Não há margem para erro!
▪ Curva de crescimento ditou boa
parte das estratégias
▪ Distribuição de dados
▪ Treino/Teste < > Realidade
▪ ex. Sul / Sudeste — Brasil
▪ Praticamente sem histórico
Nubank
Ajustando limites de
crédito
SOUTHEAST BRAZIL REGION FROM SPACE
Precisamos resolver
▪ Limite de crédito perfeito para cada cliente
▪ Alto demais —> Exposição
▪ Baixo demais —> Inatividade / Custo de oportunidade
O Loop
Churn
Dados
Renda
Risco
Gasto
Previsto
Limite de
Crédito
Gasto
Observado
Dados t-1
Resultados
Nubank
Pessoas
SOUTHEAST BRAZIL REGION FROM SPACE
Os Data Scientists - Quem somos
▪ 16+ Data Scientists
▪ Estatísticos, Físicos, Cientistas da Computação, Engenheiros, Economistas,
etc

▪ Áreas em que atuamos:
▪ Crédito - Aprovação, limites, Marketing e cobranças e atendimento ao cliente

▪ Que tipo de profissional buscamos?
▪ Portfolio de projetos
▪ Experiência em Machine Learning
▪ Kaggle

Squads, Chapters e Tribos
▪ Tribes
▪ Credito
▪ Cobranças
▪ Atendimento
▪ …
▪ Chapters
▪ Engenharia
▪ Analistas
▪ Data Scientists
▪ …
▪ Squads
▪ Acquisition
▪ Valuation
▪ Customer Management
▪ …
Chapter Data Science
▪ Espalhados em squads
▪ Pares ou trios
▪ Unidos por habilidades em comum

▪ Rituais:
▪ Standup
▪ Chapter meeting
▪ Article Reading Group
▪ Meetup - Machine Learning Big Data Engenharia
😏
Data
Scientists
Engenheiros
Analistas 😏😏
😏 😏😏
😏 😏😏
Squad Squad Squad
Exemplos de modelos em produção
▪ Diversos modelos de risco de crédito
▪ Gastos / Comportamento
▪ Cobranças - Ligações
▪ Contexto - FAQ - "Me ajuda"
▪ Resposta automática - emails
▪ Marketing
▪ Chat routing
▪ Fraude
▪ …
Dados
SOUTHEAST BRAZIL REGION FROM SPACE
2014 - O Plano
Escolhas tecnológicas (2014 - 2016)
[ Db ] - Datomic + Clojure
▪ BD —> fotografia dos seus dados em um certo ponto no tempo
▪ "Como o Git para seus dados”
▪ Permite os data scientists darem um “replay" nos dados
▪ Porém…
▪ …Queries em Clojure
Python
▪ Modelos e análises —> Python
▪ 70/30% IDE ou Jupyter Notebook
▪ Análises Ad hoc - Jupyter Notebook
▪ Todo modelo, na pratica, era um modelo online
ETL
Separando os ambientes Transacional e Analítico - BI
em um mundo de Micro-serviços
SOUTHEAST BRAZIL REGION FROM SPACE
Queremos o melhor de 02 mundos
▪ Ambiente Transacional
▪ Alta velocidade para escrever
dados
▪ Fragmentado
▪ Necessária “supervisão" de
um engenheiro
▪ Ambiente analítico
▪ Alta velocidade e
disponibilidade de leitura
▪ Global
▪ Autonomia
Escolhas tecnológicas (Atual)
ETL
▪ Disponibilidade
▪ Autonomia
▪ Data Scientists e Analistas têm acesso a “tudo”
▪ Shipar datasets batch é “fácil”
▪ Shipar modelos batch é "fácil"
Logs + Pickles
Cliente faz algo
Database
(Datomic)
Live
Batch
Datomic
Logs
Dataset
Dataset
Dataset
Dataset
do
Modelo
Spark / ETL
"Big Data"
S3
Dataset
Parquet
File
Treinar
Modelo
Python
1x
Github
Diário
Previsões
Parquet
Python
MonitoramentoPolítica
Modelos
SOUTHEAST BRAZIL REGION FROM SPACE
Métricas
▪ Qual a métrica mais importante que queremos mover?
Exemplos:
▪ Quanto ter uma melhor previsão de risco pode ajudar?
▪ Qual o custo de oportunidade de errar as previsões de gasto?
▪ É possível identificar os clientes que vão usar o rotativo?
"Se o AUC fosse 15% pior, você mudaria sua decisão?"
Métricas
Taxa de aprovação
Risco Modelo 2
Modelo 1
Aleatório
Target e Score time
▪ Onde os debates mais "acalorados" acontecem
▪ Viabilidade do Target vs Numero de linhas
▪ Quando vai rodar?
▪ No dia do vencimento da fatura?
▪ Primeiro dia do mês?
Processos e o “Model Deck”
▪ Serve para eliminar reduzir o risco do modelo
▪ Scores em prod < > Scores treino/teste
▪ Model Deck é um check list
▪ Boas práticas
▪ Documentação
Validação
▪ Simulamos como seria colocar o modelo em produção várias
vezes
▪ Validação cruzada
▪ Fora do tempo
▪ Fora dos ids
▪ Curvas de aprendizado
fkit-learn
▪ Biblioteca interna do Nubank para treinar / colocar modelos em
produção
▪ Versão "funcional" do scikit.learn
▪ Score(X) = fn(…f3(f2(f1(X)))…)
▪ Ajuda manter coesão entre os Data Scientists
▪ Reprodutibilidade
fkit-learn
Política
SOUTHEAST BRAZIL REGION FROM SPACE
Politica de limites (2014-2016)
▪ Dados
▪ Serasa + Utilização
▪ Histórico inexistente
▪ Ajustava o limite dos clientes de forma a manter uma utilização
do limite de crédito compatível com o risco
▪ Rodado Manualmente (Jupyter notebook)
Política de Limites
▪ Tipos:
▪ Proativa - Aumenta limites
automaticamente
▪ Reativa - Deixa um aumento pronto
caso o cliente solicite
Politica de limites
Modelo
Risco
Cliente
solicita
aumento
Dados
Proativo
App
Backend
Modelo
Gasto
Reativo
Mantendo tudo sob
controle
SOUTHEAST BRAZIL REGION FROM SPACE
O Loop
Churn
Dados
Renda
Risco
Gasto
Previsto
Limite de
Crédito
Gasto
Observado
Dados t-1
Resultados
Nubank
Teste e controle
SOUTHEAST BRAZIL REGION FROM SPACE
Framework de teste e controle
▪ Todas as decisões que impactem clientes
▪ Salvas
▪ Facilmente acessíveis
▪ Facilmente testáveis
Política A
Política B
Política C
Framework de experimentação
Serving
LayerSaída
da
política
ETL
Serviço I
Serviço II
Serviço III
Decisão
Decisão
Decisão
Serviços
Framework de teste e controle
“Testar é fácil…
Se random.random() < p, faça algo”
Armadilhas
▪ Randomização não ortogonal
▪ Mesmo números "aleatórios" usados em diferentes
experimentos
▪ Ignorar efeitos de carry-over
▪ O que acontece depois de 3 meses de teste?
▪ Filtrar antes de atribuir o numero aleatório
▪ Possível viesar o teste
Monitoramento
SOUTHEAST BRAZIL REGION FROM SPACE
Monitoramento
Monitoramento
sou.nu/vagasnu
Sandor Tucakov Caetano

@SandorCaetano

sandor.caetano@gmail.com
Obrigado!

Mais conteúdo relacionado

Mais procurados

Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...eneck
 
Documentar e planejar projetos de UX
Documentar e planejar projetos de UXDocumentar e planejar projetos de UX
Documentar e planejar projetos de UXTersis Zonato
 
Análise essencial e análise estruturada
Análise essencial e análise estruturadaAnálise essencial e análise estruturada
Análise essencial e análise estruturadaWagner Bonfim
 
Databricks + Snowflake: Catalyzing Data and AI Initiatives
Databricks + Snowflake: Catalyzing Data and AI InitiativesDatabricks + Snowflake: Catalyzing Data and AI Initiatives
Databricks + Snowflake: Catalyzing Data and AI InitiativesDatabricks
 
Get Savvy with Snowflake
Get Savvy with SnowflakeGet Savvy with Snowflake
Get Savvy with SnowflakeMatillion
 
Camada de aplicação modelo osi
Camada de aplicação modelo osiCamada de aplicação modelo osi
Camada de aplicação modelo osiAna Antoniello
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Passsaporte Qualifica Rui Machado
Passsaporte Qualifica  Rui MachadoPasssaporte Qualifica  Rui Machado
Passsaporte Qualifica Rui MachadoRui Machado
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Adriano Teixeira de Souza
 
Arquitetando uma instituição financeira moderna
Arquitetando uma instituição financeira modernaArquitetando uma instituição financeira moderna
Arquitetando uma instituição financeira modernaLucas Cavalcanti dos Santos
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Engenharia dos cargos de UI, UX, PM
Engenharia dos cargos de UI, UX, PMEngenharia dos cargos de UI, UX, PM
Engenharia dos cargos de UI, UX, PMMarcello Cardoso
 
Sistemas Distribuídos - Aula 08 - Segurança
Sistemas Distribuídos - Aula 08 - SegurançaSistemas Distribuídos - Aula 08 - Segurança
Sistemas Distribuídos - Aula 08 - SegurançaArthur Emanuel
 
Controle de um braço robótico utilizando o sensor Microsoft Kinect
Controle de um braço robótico utilizando o sensor Microsoft KinectControle de um braço robótico utilizando o sensor Microsoft Kinect
Controle de um braço robótico utilizando o sensor Microsoft KinectWillian Rodrigues
 
Oracle Database Lifecycle Management
Oracle Database Lifecycle ManagementOracle Database Lifecycle Management
Oracle Database Lifecycle ManagementHari Srinivasan
 
Large Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured StreamingLarge Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured StreamingDatabricks
 

Mais procurados (20)

Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
 
Documentar e planejar projetos de UX
Documentar e planejar projetos de UXDocumentar e planejar projetos de UX
Documentar e planejar projetos de UX
 
Análise essencial e análise estruturada
Análise essencial e análise estruturadaAnálise essencial e análise estruturada
Análise essencial e análise estruturada
 
Forense computacional(ufpe)[1]
Forense computacional(ufpe)[1]Forense computacional(ufpe)[1]
Forense computacional(ufpe)[1]
 
Databricks + Snowflake: Catalyzing Data and AI Initiatives
Databricks + Snowflake: Catalyzing Data and AI InitiativesDatabricks + Snowflake: Catalyzing Data and AI Initiatives
Databricks + Snowflake: Catalyzing Data and AI Initiatives
 
Get Savvy with Snowflake
Get Savvy with SnowflakeGet Savvy with Snowflake
Get Savvy with Snowflake
 
Camada de aplicação modelo osi
Camada de aplicação modelo osiCamada de aplicação modelo osi
Camada de aplicação modelo osi
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Analise e Projeto de Sistemas
Analise e Projeto de SistemasAnalise e Projeto de Sistemas
Analise e Projeto de Sistemas
 
Passsaporte Qualifica Rui Machado
Passsaporte Qualifica  Rui MachadoPasssaporte Qualifica  Rui Machado
Passsaporte Qualifica Rui Machado
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
 
Arquitetando uma instituição financeira moderna
Arquitetando uma instituição financeira modernaArquitetando uma instituição financeira moderna
Arquitetando uma instituição financeira moderna
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
Crimes Digitais e a Computacao Forense
Crimes Digitais e a Computacao ForenseCrimes Digitais e a Computacao Forense
Crimes Digitais e a Computacao Forense
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Engenharia dos cargos de UI, UX, PM
Engenharia dos cargos de UI, UX, PMEngenharia dos cargos de UI, UX, PM
Engenharia dos cargos de UI, UX, PM
 
Sistemas Distribuídos - Aula 08 - Segurança
Sistemas Distribuídos - Aula 08 - SegurançaSistemas Distribuídos - Aula 08 - Segurança
Sistemas Distribuídos - Aula 08 - Segurança
 
Controle de um braço robótico utilizando o sensor Microsoft Kinect
Controle de um braço robótico utilizando o sensor Microsoft KinectControle de um braço robótico utilizando o sensor Microsoft Kinect
Controle de um braço robótico utilizando o sensor Microsoft Kinect
 
Oracle Database Lifecycle Management
Oracle Database Lifecycle ManagementOracle Database Lifecycle Management
Oracle Database Lifecycle Management
 
Large Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured StreamingLarge Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured Streaming
 

Semelhante a DS Nubank

ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...Bruno Bemfica
 
Escalando infra em ops em um ambiente de hiper crescimento
Escalando infra em ops em um ambiente de hiper crescimentoEscalando infra em ops em um ambiente de hiper crescimento
Escalando infra em ops em um ambiente de hiper crescimentoRenan Capaverde
 
A adoção e adaptação constantes em um projeto de um órgão público
A adoção e adaptação constantes em um projeto de um órgão públicoA adoção e adaptação constantes em um projeto de um órgão público
A adoção e adaptação constantes em um projeto de um órgão públicoRogerio J. Gentil
 
Armadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de SoftwareArmadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de Softwarejamersonlima
 
Qualidade nas entregas
Qualidade nas entregasQualidade nas entregas
Qualidade nas entregasRenata Andrade
 
Aula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIAula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIFilipo Mór
 
Criando produtos de Data Science & AI: da proposta ao deploy
Criando produtos de Data Science & AI: da proposta ao deployCriando produtos de Data Science & AI: da proposta ao deploy
Criando produtos de Data Science & AI: da proposta ao deployDevCamp Campinas
 
DevCamp 2017 - Criando produtos de Data Science e Inteligência Artificial
DevCamp 2017 - Criando produtos de Data Science e Inteligência ArtificialDevCamp 2017 - Criando produtos de Data Science e Inteligência Artificial
DevCamp 2017 - Criando produtos de Data Science e Inteligência ArtificialWeslley Souza Patrocinio
 
Webinar - Como estruturar seu projeto de nuvem?
Webinar - Como estruturar seu projeto de nuvem?Webinar - Como estruturar seu projeto de nuvem?
Webinar - Como estruturar seu projeto de nuvem?brunorroda
 
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdfTDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdfFernandoIto8
 
Palestra garimpando com pentaho data mining latinoware
Palestra garimpando com pentaho data mining latinowarePalestra garimpando com pentaho data mining latinoware
Palestra garimpando com pentaho data mining latinowareMarcos Vinicius Fidelis
 
Business Analytics com Tableau Qmeeting 2018
Business Analytics com Tableau Qmeeting 2018Business Analytics com Tableau Qmeeting 2018
Business Analytics com Tableau Qmeeting 2018Roberto Oliveira
 

Semelhante a DS Nubank (20)

Desenvolvendo produtos no UOL
Desenvolvendo produtos no UOLDesenvolvendo produtos no UOL
Desenvolvendo produtos no UOL
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
 
Escalando infra em ops em um ambiente de hiper crescimento
Escalando infra em ops em um ambiente de hiper crescimentoEscalando infra em ops em um ambiente de hiper crescimento
Escalando infra em ops em um ambiente de hiper crescimento
 
Lecture 7 :: Ferramentas Case
Lecture 7 :: Ferramentas CaseLecture 7 :: Ferramentas Case
Lecture 7 :: Ferramentas Case
 
A adoção e adaptação constantes em um projeto de um órgão público
A adoção e adaptação constantes em um projeto de um órgão públicoA adoção e adaptação constantes em um projeto de um órgão público
A adoção e adaptação constantes em um projeto de um órgão público
 
Armadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de SoftwareArmadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de Software
 
Pgday campinas 2015
Pgday campinas 2015Pgday campinas 2015
Pgday campinas 2015
 
Qualidade nas entregas
Qualidade nas entregasQualidade nas entregas
Qualidade nas entregas
 
Modelo curriculo
Modelo curriculoModelo curriculo
Modelo curriculo
 
Modelo curriculo - Efetivo
Modelo curriculo - EfetivoModelo curriculo - Efetivo
Modelo curriculo - Efetivo
 
Metricas ageis
Metricas ageisMetricas ageis
Metricas ageis
 
Aula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIAula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTI
 
Criando produtos de Data Science & AI: da proposta ao deploy
Criando produtos de Data Science & AI: da proposta ao deployCriando produtos de Data Science & AI: da proposta ao deploy
Criando produtos de Data Science & AI: da proposta ao deploy
 
DevCamp 2017 - Criando produtos de Data Science e Inteligência Artificial
DevCamp 2017 - Criando produtos de Data Science e Inteligência ArtificialDevCamp 2017 - Criando produtos de Data Science e Inteligência Artificial
DevCamp 2017 - Criando produtos de Data Science e Inteligência Artificial
 
Webinar - Como estruturar seu projeto de nuvem?
Webinar - Como estruturar seu projeto de nuvem?Webinar - Como estruturar seu projeto de nuvem?
Webinar - Como estruturar seu projeto de nuvem?
 
Desenvolvendo produtos no UOL
Desenvolvendo produtos no UOLDesenvolvendo produtos no UOL
Desenvolvendo produtos no UOL
 
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdfTDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
TDC Conn 2022_ O Esqueleto de um Projeto de Dados (2).pdf
 
Palestra garimpando com pentaho data mining latinoware
Palestra garimpando com pentaho data mining latinowarePalestra garimpando com pentaho data mining latinoware
Palestra garimpando com pentaho data mining latinoware
 
Business Analytics com Tableau Qmeeting 2018
Business Analytics com Tableau Qmeeting 2018Business Analytics com Tableau Qmeeting 2018
Business Analytics com Tableau Qmeeting 2018
 

DS Nubank