A apresentação discute os desafios computacionais da empresa boo-box, que fornece serviços de publicidade online. A boo-box lida com milhões de anúncios e usuários por mês e usa aprendizado de máquina para classificar dados e otimizar campanhas. A arquitetura distribuída da empresa precisa lidar com milhares de requisições por segundo de forma rápida e escalável.
2. Bio - Fernando Meyer
Lead software engineer at boo-box desde set-11
12 anos de experiência em tecnologia com passagem em empresas como
redhat, jboss, globo.com, locaweb.
Paixão por produtos e soluções pragmáticas
Interesse acadêmico em machine learning, data mining e nlp
@fmeyer no twitter e linkedin
http://fmeyer.org
Wednesday, November 23, 11
3. Agenda - Semana Inovação
O que é a boo-box
Desafios computacionais
Desafios de arquitetura
Aplicando inovação no mundo real
Futuro
Wednesday, November 23, 11
4. 3 BILHões
A boo-box é a primeira empresa brasileira de DE anúncios
tecnologia para publicidade e mídias sociais. Sua Exibidos por mês
tecnologia classifica e categoriza o público de 225
mil sites, exibe anúncios mais interessantes para
65 milhões de pessoas no Brasil, monetiza a
audiência de 28 mil produtores de conteúdo e gera
melhor retorno sobre o investimento para
anunciantes e agências de publicidade. Desde
2007 tem investimento da Monashees Capital e em
2010 foi a única empresa brasileira a receber
65 MILHÕES
investimento da Intel Capital. DE PESSOAS
IMPACTADAS
225 MIL
SITES E BLOGS
Wednesday, November 23, 11
7. Desafios de produto - ad server
~ 8k requests por segundo
~ 300 GB de informação gerada por dia
~ <10 ms por request
Entregar uma propaganda que faça sentido para o internauta
Nosso sistemas vem
evoluindo de forma
constante desde 2007, hoje
contamos com
aproximandamente 1MM de
linhas de código em
produção em todos os
produtos
Wednesday, November 23, 11
9. Desafios de produto - ad server
Usamos algoritmos avançados de aprendizado de máquina para classificar
todos os dados em tempo real
Como por exemplo um classificador de gênero
f1
a1 b1
f2 M
a2 b2
f3
F
a3 b3
f4
Wednesday, November 23, 11
10. Desafios de produto - ad server
Usamos algoritmos avançados de aprendizado de máquina para classificar
todos os dados em tempo real
Como por exemplo um classificador de gênero
f1
a1 b1
f2 M
a2 b2
f3
F
a3 b3
f4
Wednesday, November 23, 11
11. Desafios de produto - ad server
Usamos algoritmos avançados de aprendizado de máquina para classificar
todos os dados em tempo real
Como por exemplo um classificador de gênero
f1
a1 b1
f2 M
a2 b2
f3
F
a3 b3
f4
Wednesday, November 23, 11
12. Desafios de produto - ad server
Usamos algoritmos avançados de aprendizado de máquina para classificar
todos os dados em tempo real
Como por exemplo um classificador de gênero
f1
a1 b1
f2 M
a2 b2
f3
F
a3 b3
f4
Wednesday, November 23, 11
13. Desafios de produto - ad server
Usamos algoritmos avançados de aprendizado de máquina para classificar
todos os dados em tempo real
Como por exemplo um classificador de gênero
f1
a1 b1
f2 M
a2 b2
f3
F
a3 b3
f4
Wednesday, November 23, 11
14. Desafios de produto - ad server
Usamos algoritmos avançados de aprendizado de máquina para classificar
todos os dados em tempo real
Como por exemplo um classificador de gênero
f1
a1 b1
f2 M
a2 b2
f3
F
a3 b3
f4
Wednesday, November 23, 11
15. Desafios de produto - ad server
Mesclar conhecimento de negócio com computação para gerar modelos de
tomada de decisão
categoria do internauta
Wednesday, November 23, 11
16. Desafios de produto - ad server
Mesclar conhecimento de negócio com computação para gerar modelos de
tomada de decisão
Analytic function for logic regression
categoria do internauta
Wednesday, November 23, 11
17. Desafios de produto - ad server
Mesclar conhecimento de negócio com computação para gerar modelos de
tomada de decisão
Analytic function for logic regression
Double logistic function
categoria do internauta
Wednesday, November 23, 11
18. Desafios de produto - ad server
Com este modelo de tomada de decisão podemos saber se uma campanha
ira performar melhor em uma determinada categoria de sites, otimizando o
retorno
Wednesday, November 23, 11
19. Desafios de produto - seeding
O Seeding boo-box paga usuários do Twitter por divulgar mensagens
comerciais em seus perfis automaticamente. O pagamento é feito de acordo
com a reputação do usuário e o conteúdo publicado vem de campanhas
publicitárias ou ofertas de produtos.
Wednesday, November 23, 11
20. Desafios de produto - seeding
Otimizar impacto de rede com o minimo de tweets possiveis
y = ax
0.15
a
1
y=
x
0.10
y=bx
b
0.05
1 1
-10 -5 5 10 15 20
a b
Wednesday, November 23, 11
21. Desafios de produto - deteção de fraude
Utilizar modelos matemáticos para detectar fraude em clicks
Wednesday, November 23, 11
22. Desafios de arquitetura - relembrando
~ 8k requests por segundo
~ 300 GB de informação gerada por dia
~ <10 ms por request
Mais acessos do que a maioria dos sites do Brasil
Muito de dificil de escalar, pois estrategias como caching não funcionam
Otimizar quantidade de requests por maquina
Wednesday, November 23, 11
23. Desafios de arquitetura - Tecnologias
Mysql
MongoDB
Java
Ruby on Rails
Cassandra ( nosql )
Rabbitmq
Wednesday, November 23, 11