DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e...

33
DEVELOPING DATA-DRIVEN CULTURE

Transcript of DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e...

Page 1: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

DEVELOPING DATA-DRIVEN CULTURE

Page 2: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Toolbox de dados com (e para) PentahoComo conseguimos construir um conjunto de ferramentas que

nos ajudam a entregar projetos

Page 3: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

● 12 anos de mercado; fundação 2007;● 11 anos de projetos desenvolvidos com Pentaho;● 9 anos - Pentaho Gold Partner e Authorized Training Partner;● Partner of the year LATAM por 2 anos consecutivos;● Certificação MPS.BR 2012 - Serviços e Suporte;● Foco em produtos desde 2016;● Parceiros Cloudera e MongoDB;

A Oncase

Page 4: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

A Oncase - o time

● Data scientists - Modelagem e negócio;● Data engineers - Especialistas em mover, integrar e persistir dados;● Fullstack devs - Fazem tudo funcionar;● Architects - Pensam em várias dimensões produto, tecnologia, expectativas;● UX/UI Designers - Fazem o usuário feliz;● Product people - certificam-se de que estamos mesmo fazendo coisas

escaláveis;

Escritório: Recife/São Paulo

Na prática: Remoto!

> Brasília, Recife, São Paulo, Eslovênia, Austrália, ...

Page 5: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,
Page 6: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

● CTO / Arquiteto de Analytics;● 11 anos de projetos com Pentaho;● Certificações Pentaho, MongoDB;● 6 anos de trabalho remoto;● Paixão por opensource e por abrir códigos que utilizamos:● Apaixonado também por produtos...

Marcello Pontes

Page 7: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

● CTO / Arquiteto de Analytics;● 11 anos de projetos com Pentaho;● Certificações Pentaho, MongoDB;● 6 anos de trabalho remoto;● Paixão por opensource e por abrir códigos que utilizamos:● Apaixonado também por produtos...

Marcello Pontes

E POR NEVE!

Page 8: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Toolboxkit de dados com (e para) PentahoComo conseguimos construir um conjunto de ferramentas que

nos ajudam a entregar projetos

Page 9: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

TOOLKIT ONCASE

PRINCÍPIO:A gente sempre vai produtizar módulos, tarefas e códigos repetitivos do

nosso dia-a-dia; em grande parte, vamos também devolver à comunidade por meio de código aberto;

toolkit.onca.se

Page 10: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

TOOLKIT - Motivação

● Óbvio: Automação e produtividade;● Comunidade interna - investir em comunidade devolve produtividade e

robustez aos artefatos criados;● Qualidade - documentação, colaboração e publicação aumentam

transparência;● Validação de idéias - produto adotado e com interesse é demonstração de

valor;

Page 11: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

TOOLKIT - Alguns...

● Tapa - Customização visual para Pentaho;● Oktopus - Portal de Analytics com Governança;● Tarantulla - Suíte de web crawling e scrapping com módulos para redes

sociais, além de alertas inteligentes e content tagging;● Scora - Workbench para gerenciamento e monitoramento de modelos

preditivos;● Wilson - Bot que responde a perguntas (no slack, por exemplo) com dados

(por enquanto OLAP);● Exportador (sem batismo, por enquanto)- ferramenta com foco em

exportação de dados;● Parlezy - Segmentação e analytics sobre arquivos de áudio;● … tooklkit.onca.se

Page 12: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

OktopusDisponibilizando somente o essencial para o usuário

Page 13: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Motivação:

● Interface dos fornecedores é de prateleira;○ Não é talhada para ser específica;○ Tem itens às vezes desnecessários;○ Quase nunca integra artefatos de outros fornecedores;

Histórico:

● Crescente pedido por visões isoladas e portais distraction-free;○ Oktopus surgiu de vários projetos repetidos;○ Foi transformado e evoluído em MVP;○ Foi adotado em produção com sucesso;○ Isolamos o código e publicamos o oktopus-pentaho;○ Desenvolvemos nova base de código para SaaS;

Projetos de Business Intelligence

Page 14: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Motivação:

● BI para silos de dados;● Oktopus para silos de informações;

> BI Corporativo com faturamento - Tableau;

> R Shiny - D.scientist publicaram uma justificativa técnica sobre ruptura em estoque;

Projetos de Business Intelligence

Page 15: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,
Page 16: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

O que é o Oktopus? E o que ele não é?

● É: ○ Um organizador de link por papéis;○ Gerenciador/Concentrador de Identidades de portais;

● Não é:○ Uma ferramenta de integração de dados;○ Ferramenta de gestão de conteúdo;

Page 17: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

O que é o Oktopus? E o que ele não é?

● Faz:○ Proporciona concentração de informações;○ Permite o usuário focar nas informações mais relevantes;○ Permite o compartilhamento de informações de forma segura;○ Permite acompanhamento (comentários-tickets-resolvable) nos painéis;

● Não faz:○ Não permite criar páginas de conteúdo;○ Não hospeda dashboards;

Page 18: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Oktopus Pentaho

● Codebase legado que chegamos a utilizar em alguns projetos;● Funciona como Pentaho Plugin utilizando segurança e roles do Pentaho

Server;● https://github.com/oncase/oktopus-pentaho;

Oktopus SaaS

● oktopusapp.com● Mais focado em ser multi-ferramenta;● Log de atividades;● Workspace multi usuários e multi grupos;● Gerenciamento de identidades (em desenvolvimento);● Diversas features inteligentes (em desenvolvimento);

Disponibilidade do Oktopus

Page 19: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

TarantullaIntegrando dados para uma visão 360

Page 20: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Motivação:

● Muito conhecimento de Pentaho Data Integration em casa;● Muitos projetos com necessidade de crawling/scrapping - não só de redes

sociais, mas Portais de notícias, ecommerces, fórums hierárquicos;● PDI É excelente para crawling indexado e scrapping (com Xpath e CSS

selectors);● Criação de rotinas e frameworks que facilitam muito a construção de visões

360 sobre empresas;● Monitoramento de concorrência através de captura de engajamento;

Web crawling / scrapping

Page 21: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Oktopus + Tarantulla em ação

Page 22: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Módulo WEB

● HTML caching - importante para reprocessamentos e re-scrapping;● Scrapping através de CSS Selectors (com lib Jodd em steps javascript) e

XPath;● Captura de engajamento embutida no engenho - engajamento de links no

facebook;● Arquitetura plugável

○ Cada portal imlpementa as interfaces (jbos ou trans) getLinks e parseContent - com contratos bem definidos;

○ O Processo roda em modo batch independente de quantas implementações existem;

○ Relatórios auditoria de qualidade e de assertividade para monitoramento.

Tarantulla

Page 23: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Módulos para redes Sociais

● Twitter, Youtube, Facebook;● Implementações opensource capturam publicações de perfis previamente

cadastrados;● Módulos de content tagging - descoberta de temas em texto - e alertas -

baseados em algoritmos inteligentes; (módulos ainda não são opensource);

Tarantulla

Page 24: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

tarantulla.ioMais...

Page 25: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

ScoraWorkbench para gerenciamento e monitoramento de analytics

Page 26: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Gerenciamento de Modelos analíticos

Então temos um projeto onde o ator principal é o modelo preditivo ou os modelos preditivos

● Como faço deploy dos meus modelos preditivos em uma ferramenta governável?

● Como acompanho o desempenho dos meus modelos?● Como dou feedbackcs sobre falsos positivos ou falsos negativos?

○ Como retroalimentar uma base de treinamento sem necessidade de Rocket Science?● Tenho também regras de negócio que deveriam influenciar meu score;

○ Como deixar que o usuário crie regras de negócio para enviar casos ao bureau de investigação?

● Como separo outliers automaticamente?

Page 27: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

SCORA

● Workflow genérico e robusto para deploy de modelos analíticos○ WEKA, Python, R e outros;

● Workbench de ciclo de vida de investigação com visão 360 sobre cada caso;○ Redes sociais, visões GEO, timeline, Relacionamentos;

● Analytics (cubos e visões) para monitorar performance dos modelos;● Com dev workbench (Jupyter integrado, mas com possibilidade de

integração de outros);● Big Data Ready - Pode ser utilizado em edge nodes junto com toda a

conectividade de edge apps;● Resolve o problema de operacionalizar (Produção) fluxos de analytics;

Page 28: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Scora - Assistente de reexecuções em Batch

Page 29: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Scora - Manutenção de regras customizadas

Page 30: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Scora - Analytics, monitoramento e influências sobre os modelos

Page 31: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

SCORA

Cases:

● Investigação de fraudes em sinistros - mercado de seguradoras;○ Influencia em modelos;○ Workflow de investigação;○ Visão 360;

● Manutenção preditiva de ativos e equipamentos - utilities;○ Priorização de trocas;○ Previsão de ROI sobre substituição;○ Acompanhamento de resultados;

● Fraudes fiscais;○ Scrapping de documentos;○ Descoberta de relacionamentos ocultos;○ Timeline de eventos relevantes para a investigação;

Page 32: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Scora - Analytics, monitoramento e influências sobre os modelos

marketing.oncase.com.br/scora

Page 33: DEVELOPING DATA-DRIVEN CULTURE · Como separo outliers automaticamente? SCORA Workflow genérico e robusto para deploy de modelos analíticos WEKA, Python, ... (Jupyter integrado,

Obrigado!

[email protected]● Entrem em toolkit.onca.se● Conheçam a empresa: oncase.com.br● Sigam nosso github: github.com/oncase● twitter.com/oncase● twitter.com/marpontes