Drop #2 – Big Data : somente um hype?! OU TEM DINHEIRO ROLANDO?!

bigdataanalytics

Primeiro, como é a primeira vez que falo sobre Big Data em meu blog, aqui tem uma pequena definição que concordo sobre o que é Big Data: 

“De maneira mais simplista, a ideia também pode ser compreendida como a análise de grandes quantidades de dados para a geração de resultados importantes que, em volumes menores, dificilmente seriam alcançados.”. [1]

Imagine por exemplo, uma análise dos e-mails enviados em um ano de 3 milhões de pessoas, ou a análise do movimento de todos os carros em Recife(667.405 veículos segundo o Detran)[2] ou de todas as pessoas que utilizam o Facebook no Brasil.

Outro ponto que destacou o tamanho hype envolvendo Big Data foi o report do LinkedIn do ano anterior[3], e o primeiro lugar mundial combina justamente com o rank Brasileiro [4], com o termo “Statistical Analysis and Data Mining” no número 1 entre as pesquisas de trabalho.

Mas sim, o que isso tem a ver comigo?!

Simples jovem, imagine que daqui a pouco (ok, colocando o fator Brasil, talvez em 10 anos) teremos planos de saúde populares enviando e-mails SUGERINDO exames pois eles possuem seu histórico hospitalar e dados de sua vida como : sua idade, gênero fisiológico, onde você mora, e traçando todos estes dados com de outros 200.000 assinantes por exemplo, eles possam perceber exames necessários a sua idade de forma que você recorra a menos cirurgias (geralmente operações mais caras do que exames), de forma que o plano reduza custos de forma eficiente e consiga, de fato, melhorar sua saúde, esta é uma das melhores e mais básicas aplicações de Big Data.

Mas não se engane e pense que no Brasil várias empresas estão contratando pessoas com habilidades em Big Data (Apache Hadoop, IBM Spark e afins), muitos dos gerentes de T.I. não possuem um background em Banco de Dados, por exemplo, para entender o poder que a informação possui, como demonstra este relato de 2014, onde apenas 29% PRETENDIAM fazer um investimento em Big Data no ano de 2015.

Maiores investimentos ainda são necessários para que o Brasil se torne uma potência em Big Data, contundo, boas coisas já estão acontecendo no país, como o lançamento do centro de P&D da EMC e que já produz frutos em pesquisas utilizando Big Data Analytics para o bem-social[5], Big Data não é um hype e deve trazer muitos investimentos de grandes empresas nos próximos anos já que informação e personalização serão grandes nomes no futuro dos serviços de tecnologia oferecidos.

 

Imagino que a maioria de vocês já tenha ouvido falar do termo, espero que de forma positiva mas se você ouviu ou leu algo muito legal sobre Big Data e quer adicionar algo a conversa, comente abaixo:

Referências

[1] http://www.infowester.com/big-data.php

[2] http://www.detran.pe.gov.br/images/stories/estatisticas/HP/1.11_frota_municipio.pdf

[3] http://blog.linkedin.com/2014/12/17/the-25-hottest-skills-that-got-people-hired-in-2014/

[4] http://www.slideshare.net/linkedin/the-25-hottest-skills-of-2014-on-linkedin

[5] http://reflectionsblog.emc.com/2015/07/big-data-technology-for-social-good/

Paola Oliveira e seus 3 Milhōes de R$

Paola-Oliveira

Foco….. Detalhes

Ok, vamos prestar atenção nos detalhes desta matéria: (http://extra.globo.com/famosos/paolla-oliveira-a-celebridade-do-brasil-com-mais-forca-no-mercado-publicitario-na-atualidade-17126796.html?topico=paolla-oliveira), se estima que Paola Oliveira tenha recebido 3R$ milhões durante todo o ano e 350R$ mil por trabalho!, mas a parte interessante da matéria é como eles mensuram o valor da “imagem” de Paolla, neste trecho:

“Paolla é considerada uma personalidade que reúne características importantes como confiabilidade, sensualidade e sofisticação. Sua popularidade só aumenta, não só com o sucesso das personagens que interpreta, mas também pelo interesse da mídia por sua vida pessoal, fazendo com que a estrela esteja sempre no noticiário, em evidência.”

Antes de mais nada, o que estou fazendo neste post não é de medir exatamente o valor da imagem da Paola Oliveira mas sim, conceder uma estimação muito boa utilizando dados abertos (pois este o foco do meu blog: minha área profissional e suas aplicações).

Então, nada mais justo do que medir o quanto ela aparece na mídia e qual o impacto disto, correto?, então…vamos começar com o instagram[1]. Após uma pequena fuçada, achei o perfil oficial da Paolla, o @paolaoliveira5. E aqui vai minha tabela “imaginária” de valores, baseadas nestes links:

http://petapixel.com/2012/07/19/how-much-is-a-like-comment-or-follower-on-instagram-worth-to-you/ (Imprensa)

http://buyinstagramfollowers.biz/buy-instagram-followers/ ( Empresa, sim, isto existe)

Pelo que diz aqui…1,000 seguidores equivalem à 90$(dólares), utilizando a cotação do dia em que estou escrevendo esta parte do post(10/08/2015), a cotação do dólar está em R$3,50, ou seja 90$ = 315R$, para coletar o número EXATO de seguidores da Paola Oliveira, utilizei a API do instagram, pois é o principal meio de comunicação dela e seus fãs.

———————–SCRIPT ——————————————————

Input:
api = InstagramAPI(client_id=client_id,client_secret=client_secret)
userdata = api.user(user_id)
print("The user " + userdata.username +" possui "+ str(userdata.counts['followed_by']) + ' Followers')
Output:
The user paolaoliveira5 possui 1405080 Followers
-----------------------SCRIPT ------------------------------------------------------

Ela possui 1405080 seguidores!, dividindo isto por 1,000 e multiplicando por 315R$, o que equivale a um valor de 442.484R$!(aproximadamente), este é o valor “aproximado” da conta do instagram da Paola Oliveira. Ok mas isto seria uma forma exagerada de medir o impacto de um artista, correto?.

Vamos tentar colocar métricas mais precisas: tal qual o valor de um like? imagine que um like equivale à 0,05R$…

———————–SCRIPT ——————————————————

try:
    recent_media,next = api.user_recent_media(user_id=user_id,count=20) #desta forma eu consigo pegar os dados de todas as fotos
    while next:
        list = next.split('&') #Separa todos os componentes de next(uma str) em uma lista 
        temp,max_id = list[3].split('max_id=') #list[3] é uma gambiarra
        more_media, next = api.user_recent_media(user_id="9281904",count=40,max_id=max_id)
        recent_media.extend(more_media)

    for media in recent_media:
            sum = sum + media.like_count
except Exception as e:
    print(e)
print("Quantidade de likes total: "+ str(sum))
print("Quantidade de postagens: "+ str(userdata.counts['media']))
media = sum/userdata.counts['media']

print("Numero medio de likes por foto: "+ str(media))
-----------------------SCRIPT ------------------------------------------------------

Utilizando o script acima consegui capturar todas as fotos já postadas no perfil da Paola Oliveira, e suas propriedades:

  •  quantidade de likes,
  • quantidade de comentários
  • conteúdo dos comentários

Deu pra perceber que existem muitos dados né? kkkk(Essa API[2] do instagram é muito boa), e a média de likes por foto da Paola é igual à 19.372 likes por foto/vídeo no instagram, como sabemos, a média é uma forma de medição central, ou seja, é esperado que uma foto da Paola alcance esta quantidade de likes, é mais fácil prever tal resultado. E um like, com certeza vale mais do que um seguidor pois ele é a “pegada” deixada pelo follower de que aquela foto é boa, logo, fazemos pequenas contas temos que cada foto da Paolla Oliveira no Instagram deve valer bemmmmmmm no mínimo 968R$. Mas perai, esse valor um instagrammer pequeno consegue receber, então que tal adicionarmos um décimo do valor da conta da Paolla na jogada? É garotada…são 45216,4R$(Quarenta e Cinco Mil) por foto!, contando que o mercado publicitário tradicional(televisivo) ainda possua um incentivo financeiro maior, podemos facilmente perceber que 350R$ mil por um produto publicitário utilizando a imagem da atriz não parece algo tão distante assim…

Vale mesmo?

Como expliquei no começo do texto, o objetivo deste e de todos os outros textos é mostrar o processo de obtenção dos dados e como eles foram utilizados para responder a pergunta principal, e sim, Paola Oliveira “merece” o cachê que ganha já que possui uma rede de “contatos” e uma influência agradável a praticamente qualquer marca feminina. Espero que vocês tenham gostado da minha estimação e espero que vocês escolham uma destas perguntas abaixo, as três são grandes desafios!

Obs1: Python é uma ótima ferramenta!, sério, possui bibliotecas para muitas coisas, como a que utilizei neste post: python-instagram. Além disso possui uma sintaxe muito próxima de uma linguagem também nova, chamada Swift(a que irá substitui o objective-C para programação em iOS).

[1] Utilizei a API do instagram e a biblioteca python-instagram, a documentação para devs pode ser encontrada aqui:  instagram.com/developer

[2] https://pt.wikipedia.org/wiki/Interface_de_programa%C3%A7%C3%A3o_de_aplica%C3%A7%C3%B5es

Drop #1 – ” Why so many subways?”

image

I’m from Recife, Brazil. If you don’t know the city that much, Google it, you’ll find it pretty amazing. However, and that’s not a complain, there has been a boost in subways stores around the city. And that’s a question I was asking myself:” Why are there so many subways? ” and why they keep coming, how they are organized know and what makes them profitable. And know I can’t answer all those questions, but I tried my best.
So I looked for places to find my answer and I came up with the idea of using Google Maps, indeed, they showed me that exists 30, yes that’s right, 30 subways around the city, just take a look:

image

But let’s go deeper at the analysis, we can see that there clusters of subways around the city, to count it right, 23 are located at the same zone, okay, it’s a big zone but still that almost 80% are located at 1/4 of the territory (there are four zones), which is the north one, and other five are located at the south( Boa Viagem neighborhood), all the other 2 left are located at poorer zones, we can understand that here:
image

But then, I was wondering, why there are so many together? And why are there even smaller and condensed clusters of subways? Take a look at this neighborhood :
image

Can you see that exists 4 subways way close to each other, like, about less than 1km from each other? Even though they are the main business Avenue of the city, it just seems unbelievable that there was no way to organize themselves better, I know it is a franchise and probably, their owners are different but imagine if instead of being concentrated they were split along the whole Avenue? It would reach a far broader audience and make their profit rise.

And here goes another little cluster to analyze but I will focus on rather different questions: image

OK, the figures I circulated where areas which it’s common sense of the citizens that they see crowded and have a good traffic of people/cars, which make easier to understand why there are subways around there, but look close at stores 3 and 6, store 3 it’s in an avenue that I still don’t know if it has a traffic enough to make it a profitable place or, making a better questions, if it’s a great a place to put a subway logo on it, I think I’ll use waze data or somewhere else to understand it better. But let’s focus on number 6, you can see that the red circle is way closer to 5 than 6, so what are the reasons 6 exists in the first place? (suppose that 6 came after 5 in time), if not, what made someone create number 5? Is it a good way to organize s franchise across the city?

So, here it is folks, my small analysis about some data I’ve found on the Internet to answer my simple question and I hope you liked it and found the discussion interesting, if you have something to add, please, put your fingers on the keyboard and comment, I’d appreciate.
Any datasets or questions? Mail me at felipe.bormann@gmail.com.

Drop #1 – “Pra que tanta subway?”

Subwaylogo

Aposto que se você é recifense, e conhece a SUBWAY(logo acima), possivelmente você já se perguntou o porque de tanta subway em uma cidade só, parece uma infestação do mesmo negócio por todo o lugar.

Boa noite, é pessoal, eu tô tentando agregar novos dados as minhas análises e acho que um das principais fonte de dados é o Google Maps da google e #PQP, na minha cidade existem em torno de 35 SUBWAYS!….enfim, para ilustrar o que tentei fazer hoje, segue o print da realidade:

subways

Mas vamos prestar um pouco mais de atenção aos detalhes, analisando mais profundamento conseguimos perceber algumas coisas, por exemplo, as subways não são tão bem distribuidas assim…das 30 subways, 23 se encontro das áreas comerciais da zona norte/centro, 5 na Zona Sul (Boa Viagem/Setúbal) e 3 se encontram em bairros com menor poder aquisitivo, como  Areias e Imbiribeira, só presta atenção:

subwayscluster

(clique na imagem para expandir)

Uma das coisas mais interessantes dentro desse mapa é que existem clusters(aglomerações) ainda menores e mais densos do que os apresentados acima, deem uma olhada nesta configuração da Conde da Boa Vista…

subwaysCondeDaBoaVista(clique na imagem para expandir)

Aquela análise rapidinha…

Percebam que neste quadrado existem 4 subways em menos de 1km de distância entre si! Ok, temos todos aqueles pontos comerciais e importantes da sociedade recifense (como Universidades (Faculdade de Direito do Recife, por exemplo), Pontos Turísticos (Parque 13 de maio), e a maior área comercial da cidade (a cde. da boa vista). Mas a falta de planejamento é enorme!, imagine que em uma avenida com mais de 3km de extensão, colocaram 4 subways em torno de uma área de menos de 2km², me intriga entender tamanha proximidade.  Um objetivo: entrevistar os donos desses negócios e entender seu planejamento, se algum leitor conhecer um contato, agradeço.

Partindo para outra zona residencial que vale a pena dar uma olhada e acumula 23 das subways da cidade, a Zona Norte…eles também possui um grupo de subways que se você colocar o pé fora de uma, o outro já está dentro da 2º…subwaysZonaNorte

OK, dando aquela analisada, eu consigo entender as decisões que levaram à construção da subway 1, 2, 4 e 5, mas as subways 3 e 6 simplesmente me deixam curioso para saber o porque delas existirem (melhor, como continuam existindo e sendo lucrativas.), tendo em vista que conheço pouco da movimentação da área em que estão instaladas, vale a pena olhar e entender o porque da 3 ter escolhido a josé bonifácio como endereço. E o que leva a subway 6 e 5 estarem tão próximas? que demanda levou a subway 6 ser criada? (supondo que ela foi criada após a 5?) Que variáveis tornaram a 6 e a 5 viáveis? , enfim, estas foram algumas perguntas que surgiram na minha cabeça.

Espero que tenham gostado do post e não tenham se incomodado com minha falta de habilidade no Paint(hehehe), foi bem interessante procurar sobre algo que eu também tinha muito curiosidade, quem tiver dados interessantes e queira me dar a oportunidade de análisa-los, mande um e-mail para felipe.bormann@gmail.com .

DS – Day #2: 4 coisas que descobri sobre as empresas do Brasil

Lembre-se que esta série de textos é toda baseada nos dados encontrados no site consumidor.gov.br, do governo federal, e aqui segue uma lista de 10 coisas que descobri sobre as 103.742 reclamações que analisei:

  1. A empresa que mais Suspende ou desliga indevidamente os serviços dos seus usuários é a “Vivo- Telefônica” com 388 reclamações, em seguida, a “SKY’ com 281 reclamações.
    1. Snippet: problemas = finaldataset.groupby(“Problema”)
      problemas.get_group(“Suspensão ou desligamento indevido do serviço”)
      dados = Counter(problemas.get_group(“Suspensão ou desligamento indevido do serviço”)[“Nome Fantasia”]
  2. Top 10 Cidades em reclamações, podemos perceber que a maioria se encontra no SE (Sudeste) mas entre todas as cidades que compõe este Top 10, uma chamou meu interesse: Barreiras. Uma cidade do interior, com uma população de em torno de 150 mil pessoas[1] e que teoricamente possui um nível de educação inferior(?) ao das capitais, possui uma quantidade de reclamações superior do que algumas capitais (Recife, por exemplo, considerada o Silicon Valley Brasileiro.)
    1. Mapa - Top 10 Cidades
  3. And the winner is….Telecomunicações! Sim, com quase 50% (
    49544 ) das reclamações a área de Telecomunicações é a campeã, seguida do setor financeiro(19429) e fechando o Top 3 "Produtos de Telefonia e Informática"(11002), nenhuma surpresa forte neste top 3, mas foi interessante ver a discrepância de 30.115 reclamações entre o 1º e 2º colocado.
  4. Se você mora no Sudeste, possuir uma idade entre 31 e 40 anos,  contratou seu serviço pela internet e está reclamando de ”
    Oferta não cumprida / serviço não fornecido/ venda enganosa / publicidade enganosa", provavelmente você não terá seu problema resolvido....
    1. Snippet: resolvidos = finaldataset.groupby(“Avaliação Reclamação”)
      resolvidos.describe()
      naoresolvidos = resolvidos.get_group(“Não Resolvida”)
      Counter(naoresolvidos[“Problema”]).most_common(5)
      Counter(naoresolvidos[“Como Comprou Contratou”]).most_common(5)
      Counter(naoresolvidos[“Faixa Etária”]).most_common(5)
      Counter(naoresolvidos[“Região”])

E é isto ai pessoal, não pude trabalhar tanto no dataset hoje mas consegui olhar um pouco mais à fundo a relação entre as variáveis, principalmente aquelas que acho de extrema relevância como “Problema”, “Situação” e “Nota do Consumidor”, espero que tenha gostado do Top 4 do dia!.

Referências

[1] https://pt.wikipedia.org/wiki/Lista_de_munic%C3%ADpios_da_Bahia_por_popula%C3%A7%C3%A3o

DS – Day #1: Será que Python presta mesmo?

Então…por enquanto, eu não posso me introduzir como um cientista de dados, consegui apenas 68% de AUC(área sob a curva ROC) em um problema de predição sobre internação de diabéticos mas estou tentando me tornar um!, para aumentar meus horizontes em programação e em análise de dados, resolvi estudar Python.

Primeiro, procurei por bons recursos, principalmente no site Quora, que por sinal possui uma das melhores comunidades de data science por ai, e ao pesquisar sobre, achei o livro “Python for Data Analysis”, que me pareceu muito bom e agora o estou utilizando para aprender.

“First things, First”!

Como eu não sei quase nada de Python ainda, procurei sobre como fazer um bom projeto e me indicaram o IPython, minha recomendação? O instale usando Anaconda, é uma forma bem simples de instalar e possui ótimos tutoriais e possui as principais bibliotecas que usarei neste post: MatplotLib e Pandas(e suas dependências, como Numpy, por exemplo).

Dataset!

O dataset que escolhi para análise foi o dataset disponibilizado pelo site consumidor.gov.br, que você pode baixar em:http://dados.gov.br/dataset/reclamacoes-do-consumidor-gov-br , que é a fonte oficial de dados do governo federal, contudo, ela está desatualizada, você pode encontrar alguns meses a mais no site do próprio consumidor.gov:https://www.consumidor.gov.br/pages/dadosabertos/externo/ .

O primeiro desafio que encontrei foi colocar os dados em algum objeto, o método de leitura “read_csv” parece ter um certo problema com formatos latinos, mas nada que a adição de um parâmetro “enconding= ‘latin-1’ ” não resolvesse, mesmo assim, foi um pouco chato comparado com outra ferramenta que utilizo, o R.

Explicando um pouco o processo da reclamação do Consumidor.gov: O consumidor registra uma reclamação com uma das empresas cadastradas contendo qual o tipo de problema, o que ele quer que a empresa faça, pode anexar arquivos sobre a situação, e a empresa tem em torno de 15 dias para atender o usuário, após isto, o usuário modifica ou não os status da reclamação(p/ “Resolvida”, “Não Resolvida”) e dá uma nota para o atendimento da empresa.

Segue um histograma da situação de junho de 2015, que foi o dataset que utilizei para aprender mais sobre como o site funciona, para mostrar como esta amostra avaliou as empresas:

Histograma das Notas

Percebe-se que boa parte dos usuários reagiu de forma bem binária, bem mais de 50% dos usuários deu 1 ou 5 como nota ao atendimento da empresa. Este gráfico foi bem tranquilo de fazer utilizando Python, contudo, tive de utilizar a classe chamada Counter para converter os números de String para Float, sendo que este erro foi ocasionado por eu não saber utilizar a classe DataFrame do Pandas que já os converte de forma automática.

Mas eu gostaria de agregar mais valor à esta discussão e apareceu uma ótima feature do Panda, o método groupby, sério, isto facilita e muito a vida, além do Pandas ser um dos principais packages, ele é bem completo, o que diminui o trabalho já que não preciso procurar por packages específicos para problemas simples. Este método conseguiu agrupar para mim todas as reclamações em cinco clusters correspondentes à cada nota, e eu pesquisei qual empresa possuia a maior quantidade daquela nota:

result = dataset.groupby('Nota do Consumidor')
print(result["Nome Fantasia"].describe())
Nota do Consumidor|| Variáveis ||        Valores        
1                   count                   2840
                    unique                   134
                    top                  Oi Fixo
                    freq                     306
2                   count                    650
                    unique                    72
                    top                  Oi Fixo
                    freq                      83
3                   count                   1205
                    unique                   100
                    top       Vivo - Telefônica 
                    freq                     192
4                   count                   1469
                    unique                   104
                    top       Vivo - Telefônica 
                    freq                     248
5                   count                   3051
                    unique                   127
                    top       Vivo - Telefônica 
                    freq                     513

Como você pode ver , o campeão de votos positivos é ” Vivo – Telefônica ” e o título de pior ficou com a ” Oi Fixo ” (como eu percebi no meu post anterior https://medium.com/@felipebormann/quem- os- brasileiros -n % C3% A3o – Gostam – 520a8e589b26 ) .

Veredito

Entre outras coisas, Python provou ser uma ferramente bem interessante e sua curva de aprendizado muito simples, e que possui uma grande gama de tutoriais na internet, o que facilitou e muito o aprendizado comparado com o R. Além de possuir o IPython, que sinceramente, é bom pra caramba, a capacidade de salvar todos os meus comandos de uma forma visivelmente agradável é algo fantástico!, o Python vale sim um pouco do seu tempo para tentar.
Concluindo o episódio de hoje: acho que agora é um bom momento para explorar mais os dados e tentar coisas novas , vejo vocês no próximo post. Espero que tenham gostado da minha breve análise e minha pobre habilidade em Python haha , espero me tornar melhor utilizando ele com o tempo, neste momento, ainda estou tentando me acostumar com o IPython, mas esperem pra ver, haverá o tempo em que eu vou ser reconhecido como parte dos 5 melhores cientistas de Dados do Brasil o/!.