Crie um produto que as pessoas amem

Escrevo esse texto depois de por várias vezes ter tido problemas com o app da Rappi e mesmo assim continuar tentando usar. Eles resolvem um problema tão real que eu, como usuário, consigo não ligar para alguns bugs e mal funcionamento, justamente porque quero muito o serviço que tem ali. Com certeza essa é a primeira coisa pra se prestar atenção quando se vai criar algo que as pessoas amam.

Image result for meme xiaomi
Usuários que amam um produto se tornam evangelistas dele.

Quando em 2014 passei uns meses no Vale do Silício, eu ouvi essa frase algumas milhares de vezes. Toda startup ou “empresa caloura” como diz um amigo meu, está ou deveria estar em busca da construção de um produto que o usuário AME. Não é um produto que o usuário goste, nem um produto que o usuário use com frequência, mas sim: um produto que as pessoas amam.

Já pensou como é difícil AMAR um produto ou uma empresa? Para isso essa empresa realmente precisa estar resolvendo um problema de verdade. Uma dor daquelas que realmente incomodam. Veja que essa é a parte mais importante: enxergar justamente onde você pode mudar a vida/rotina de alguém. Encontrar essa dor é mais importante que as ferramentas que você usou, que o produto “acabado” ou que o tamanho do seu mercado.

Você conhece algum produto assim? Perguntei para pessoas próximas quais sites ou apps elas amam e as respostas foram essas: Waze, Strava, iFood, Inbox (que inclusive será descontinuado pelo Google) e muitos outros, sem contar os clássicos como o iPhone, iPod, Steam, etc… Pode ser que para você não seja nenhum desses, mas com certeza existe algum aplicativo, ou outro tipo de serviço/produto que você AMA.

Image result for iphone launching line
Filas de pessoas para comprar um novo iPhone

Encontrando um problema para resolver

Sempre que você se depara com uma dificuldade você está diante de um problema que você pode resolver. A questão é se ele vale a pena ser resolvido. Você pode achar que vale a pena criar mais uma marca de surf e que as que existem são poucas; ou você pode descobrir que bancos são irritantes para pessoas jovens e tentar construir um banco que atenda essas pessoas.

Além desses problemas em um nível macro, você encontrará muitos outros menores que ainda não estão bem resolvidos. Pode ser que na empresa que você trabalha existe um processo manual que poderia ser automatizado. Por quê não pensar nisso como um problema a ser resolvido? Talvez você possa automatizar isso para várias empresas e passar de funcionário para fornecedor. Coisas como essa acontecem bastante e muita empresa de sucesso foi criada assim, aproveitando um problema que precisava ser resolvido para outra empresa, mas que não era o core do negócio.

Resolvendo o problema

Independente do problema que você encontrou, a primeira coisa que você vai fazer é se tornar um especialista naquele assunto. Consuma o máximo de conteúdo que puder sobre aquilo, leia livros, assista vídeos, vá em eventos e aprenda sobre o problema que você encontrou. É realmente, um problema? Existe para mais alguém? Não é só algo da sua cabeça? Muitas vezes ficamos tão obcecados com nossas próprias ideias que não conseguimos apreender sobre o mundo ao nosso redor. Não fique fechado em seu casulo, converse com outras pessoas, pense se vale a pena investir nessa solução. Se você chegou a conclusão de que é necessário resolver aquele problema então chegou a hora de trabalhar em cima do seu primeiro protótipo: o produto mínimo viável.

Criando um MVP para validar uma hipótese

MVP é uma sigla muito famosa e pouco entendida. É o Minimum Viable Product ou Produto Mínimo Viável, em português. O MVP é um protótipo. É um experimento para testar uma hipótese. O mais importante nesse passo não é o MVP em si, mas sim o teste da hipótese.

A primeira coisa a se fazer é criar uma hipótese. Vamos imaginar como poderia ter sido a hipótese da NetFlix, no final dos anos 90. O cenário era de pessoas que se locomoviam até grandes locadoras para escolher filmes e depois de um ou dois dias, deveriam voltar na locadora para devolver o filme assistido. Imagine que a NetFlix achava um porre ter que sair de casa para alugar e ter que ir depois para devolver. Caso não devolvesse no prazo, as locadoras cobravam uma multa. Então, suponhamos, que a NetFlix montou a seguinte hipótese: “Já que nós acreditamos que as pessoas não querem ir até uma locadora, se oferecermos um aluguel de filmes em casa, elas vão usar o nosso serviço”.

Agora, com a hipótese em mãos, vem o MVP da Netflix. Para testar essa hipótese foi criado um catálogo de DVDs que eram entregados pelo correio. Você recebia o catálogo, pedia o filme por telefone e alguém entregava e depois vinha retirar o filme. Simples assim.

Veja, o MVP foi suficiente para testar a hipótese e para fazer o mais importante: Colocar a empresa em contato com os early-adopters, ou seja, os primeiros usuários. As pessoas que tem aquela dor latente de querer ter aquele problema resolvido e não ligam se seu serviço apresenta algumas falhas no começo, contanto que você esteja resolvendo o problema delas.

Image result for mvp
Exemplo de construção de um MVP, entregando valor para o cliente em cada iteração

Ouvindo os clientes para começar tudo de novo

A construção do MVP abre o contato entre sua empresa e seus clientes e essa é a parte mais importante para construir um produto que as pessoas amam. Primeiro, você precisa se despir do que você acha que sabe sobre o mercado ou sobre seus clientes. Você precisa escutá-los atentamente e observar como esses clientes usam e se relacionam com seu produto/serviço.

Esse é o momento de entender o que realmente importa para os usuários. Como você pode economizar ou criar tempo, dinheiro e recursos para eles. Como o usuário tem resolvido aquele problema sem a solução que você está oferecendo. Você melhora ou piora o processo dele? Ele está disposto a pagar por essa solução ou quando está de frente com um boleto acredita que aquele problema não era tão grande assim?

Repetindo o processo

Tanto faz se sua hipótese foi validada ou não. Em qualquer um dos casos você vai ter aprendido coisas novas nesse processo. Aprendido sobre seus usuários, sobre o mercado, sobre o seu próprio produto. Então é hora de partir para uma nova hipótese. Trabalhe em um novo MVP e parta para um novo ciclo.

Cada vez que você completar o ciclo você está iterando sobre ele, ou seja, você está utilizando todo o feedback que recebeu dos usuários e colocando como insumo sobre o mesmo processo de desenvolvimento do produto. Esse processo, segundo os princípios de Lean Startup (Startup Enxuta) é o Build-Measure-Learn (Construir-Medir-Aprender).

Resultado de imagem para construir medir aprender
Ciclo Build-Measure-Learn (Construir, Medir, Aprender)

O processo de construir, medir e aprender é o que vai garantir que você esteja construindo algo que as pessoas amem. Não é o seu instinto, não é o que você acha e não é o quanto você cobra. O processo vai garantir que a cada novo passo na construção do seu produto você esteja avançando na direção certa, na direção que traz mais resultado para os seus clientes.

Exercitando o método

Todo esse processo da Startup Enxuta se assemelha a um método científico. Você tem suas suposições e cria experimentos para testá-las. De acordo com o que você aprendeu com esses experimentos você confirma ou muda suas ideias iniciais, sem crise e sem dogmas.

Um exercício interessante para quem quer empreender é tomar nota de coisas que você vê no seu dia a dia sobre problemas e soluções existentes. Tente responder as seguintes perguntas no seu dia a dia:

Para conhecer outros produtos:

  • Qual problema esse produto/serviço resolve? Como isso era resolvido antes? A solução proposta é melhor e mais confiável que a anterior?
  • Quais produtos eu sou um early-adopter, uso mesmo que eles não estejam 100% prontos e apresentem problemas de vez em quando?
  • Quais novos lançamentos eu presenciei em serviços/produtos que trouxeram novos benefícios para mim e outros usuários?

Para treinar com as suas ideias:

  • Qual problema eu estou enfrentando que não tem uma solução boa e confiável o bastante?
  • Quem seriam os early-adopters, ou seja, pessoas que também enfrentam esse problema e estariam dispostos a testar uma nova solução?
  • Qual o MVP que eu poderia criar para ter certeza que tenho um problema real e que os early-adopters estão dispostos a usar meu MVP e pagar por ele, mesmo que incompleto?

Longe de ser um assunto novo, mas é sempre importante relembrarmos as bases. Escrevi despretensiosamente, mas gostaria de saber quais outros produtos/serviços vocês sentem que são early-adopters e usam mesmo quando enfrentam dificuldades para fazer o app funcionar?

Se gostou, compartilhe!

4 Melhores Podcasts sobre Tecnologia e Startups

Ouvir Podcasts é uma forma muito eficiente para se manter por dentro do que acontece na sua área.  Ouço vários Podcasts sobre tecnologia e startups, além de outros temas e tenho certeza que eles são importantes para que eu continue atualizado no meu ramo. Estar informado pode ser a diferença entre ser bom e ser ótimo.

Para quem não conhece, podcast é como um programa de rádio com a diferença de que você pode ouvir quando quiser, escolher os episódios e sempre ficará sabendo quando publicarem um programa novo. Podcast não é novidade mas não chegou a virar mainstream no Brasil ainda. Vai crescer muito este ano.

Meu aplicativo para assinar (baixar e ouvir) podcasts é o PocketCasts ele é pago, paga uma vez só e usa todos os dias, mas existem várias outras opções gratuitas aí para quem não quiser desembolsar os R$ 12 reais. Bora pra lista:

Hipsters.tech

logo do podcast hipsters.tech

Apesar do nome péssimo, clichê e modinha é na minha opinião o melhor podcast brasileiro. Tem um episódio por semana e é um programa muito bem formatado. Normalmente os episódios tem menos de uma hora e variam sobre desenvolvimento, design, empreendedorismo, etc.

Esse é um dos episódios que gostei bastante sobre Squads. Você pode dar uma olhada em outros episódios no site deles https://hipsters.tech

Software Engineering Daily

software engineering daily logo

Esse é um podcast gringo (em inglês). Eles soltam um episódio por dia útil, ou seja, é daily mesmo. Mesmo que não dê para ouvir todos os dias é bom ficar por dentro e olhar o que eles já fizeram. Tem entrevistas com gente da área de tecnologia e de startups, normalmente engenheiros e empreendedores de empresas renomadas e criadores das tecnologias que estão sendo discutidas. Você pode ver os episódios aqui

Talk Python to Me

talk python to me podcast logo

Esse podcast é mais específico para pythonistas, mas quem não gosta de python? Tem participações de caras muito fodas da comunidade como Kenneth Reitz, David Beasley e até do Guido Van Rossum.

O site é esse aqui: https://talkpython.fm/ . Meu único problema com esse podcast é que ele tinha a melhor música de abertura de qualquer podcast até o meio do ano passado, depois entrou uma música chata =P

Like a Boss

like a boss podcast logo

Esse é um podcast dos mesmos criadores do Hipsters. O objetivo é “trazer entrevistas com líderes, fundadores de startups e empresas inovadoras” nas próprias palavras deles. Está bem no comecinho, tem apenas 7 episódios.

Gostei bastante dessa entrevista com David Vélez, o fundador do Nubank.

Outros podcasts:

Eu gostava muito do ZOFE (Zone of Front-Enders) , mas infelizmente ele não tem novas publicações já faz tempo. O site está mais desatualizado que o podcast mas ainda assim dá para ouvir conteúdo do passado. Era realizado pelo Daniel Filho, um cara diferenciado que eu sempre via no melhor meetup de front-ends de São Paulo, o FEMUG-SP.

Falando em podcasts antigos, outro que curti bastante mas já não solta coisa nova é o Grok Podcast. Isso que é bom dos podcasts, eles podem ter acabado mas os episódios estão aí para sempre.

Um podcast que eu descobri recentemente foi o Castálio Podcast. Também fala bastante de Python. Por enquanto, só ouvi um episódio e foi sobre serverless. Aliás, dá pra ver o podcast sendo gravado ao vivo no youtube e mandar perguntas para eles.

Mais um podcast gringo que estou esperando ver como vai desenrolar é o Modern CTO. Me parece uma estratégia audaciosa para criar conteúdo para CTOs uma coisa que não se vê todo dia. Estou começando a acompanhar.

Bom, esses foram os meus podcasts favoritos sobre esses temas. Quem tiver outros podcasts que quiser indicar deixe nos comentários.

 

Por que não produzimos mais Ronaldinhos? Ou por trás dos highlights e a importância do feedback pra se tornar melhor.

Todos os dias milhares de crianças jogam bola pelas ruas. Correm o dia todo e só param quando suas mães gritam para elas irem pra casa pra comer. Se tem tanta gente praticando e treinando porque não aparecem mais Ronaldinhos, por aí?

Por trás dos Highlights

Hoje li esse lindo texto do Ronaldinho.  É uma carta pra ele mesmo quando criança em Porto Alegre.
Quando vemos um texto desses a gente presta muita atenção nos highlights. O momento em que ele é chamado pra jogar futebol no grêmio, depois pra jogar na sub 17, seleção brasileira, PSG, Barcelona, etc.  Mas aí no meio desse texto, por trás de todos esses highlights dá pra perceber o quanto esse cara treinou a vida toda. Desde criança jogava bola incessantemente e sempre com bons mentores.
Ronaldinho gaúcho e seu irmão Roberto
Pessoas falam sobre talento, dom ou predestinação, mas isso é superestimado. Alguém pode ter geneticamente mais facilidade para alguma coisa, sim, isso é um fato, vide Michael Phelps porém pra se tornar o melhor é só com muito treino e feedback o tempo todo.
A construção da carreira dessas pessoas de sucesso é diária. É como num filme sobre empreendedorismo, o cara tem uma ideia, forma uma equipe e eles começam a trabalhar juntos. Depois sempre vem aquela cena em fast motion, que mostra dias e noites passando enquanto eles rabiscam a lousa, mexem no computador, etc ¹… E essa é a parte importante da trajetória, todo esse trabalho feito. Isso não é glamouroso o bastante pra entrar no filme, mas é isso que proporciona o sucesso: trabalho ou treino
trabalhando-duro-com-jim-carrey
 
Por que não produzimos mais Ronaldinhos?
Se a prática / treino são tão importantes para garantir o sucesso, então porque não são todos os meninos que jogam bola o dia todo pelas ruas do Brasil que se tornam Ronaldinhos?

ronaldinho-driblando

 

Feedback: Uma breve história sobre MecFlu

Em 2007, no segundo ano de engenharia da Poli, eu cursei uma das matérias mais difíceis que fiz: Mecânica dos Fluidos. Muitos alunos já tinha me alertado que essa matéria era um terror. Que era tricky, que se não se dedicasse bastante não teria como passar.

Eu já não vinha de um semestre muito bom e resolvi estudar MecFlu (como chamávamos). Sempre fui do tipo autodidata e se o professor não for ultra didático tendo a acreditar que aprendo melhor com o livro do que na aula. Então peguei um dos livros recomendados, e li os capítulos relacionados à P1 (primeira prova), montei meu resumo, achei que tinha entendido e fiz todos os exercícios.

No dia da P1, tínhamos 1h40 pra resolver 4 exercícios. Resolvi todos e no final fui conversar com meus amigos…todos chorando as pitangas que tinham ido muito mal e eu não… falei pra eles que achava que tinha tirado um dez, que consegui resolver tudo sem muita dificuldade. Semanas depois saiu o resultado…meus amigos tinham ido mal como esperavam… notas: 3 ….. 2.5 …. 1 e eu tirei um grande e redondo ZERO. 

 

prova-de-mecflu-mecanica-dos-fluidos

A importância do feedback pra se tornar melhor

Como eu tirei esse zero tendo estudado e fazendo os exercícios? O livro não tinha respostas. Fiz os exercícios e considerei que os resultados estavam certos, logo não tive o feedback necessário pra ver o que eu precisava melhorar. O único feedback que tive foi o da prova. Já era tarde demais.

É esse o motivo pelo qual não produzimos mais Ronaldinhos. Não adianta você só passar o dia jogando futebol, você precisa ter o feedback se o que você está fazendo está certo. Também para aprender os atalhos e os pontos onde você pode melhorar.

Tem um episódio do Freakonomics Radio ótimo sobre isso, chama-se How to become Great at Just About Anything (tradução livre: Como se tornar FODA em praticamente tudo). Nesse episódio eles debatem as ideias do Malcolm Gladwell, autor de Outliers, (Aquele da regra das 10 mil horas) com os estudos do psicólogo Anders Ericsson, sobre como as pessoas adquirem expertise.

Um das coisas que mais me chamou a atenção foi o que hoje para você se classificar para a Maratona de Boston você precisa correr o equivalente ao de atletas das primeiras Olimpíadas. Em todas as olimpíadas quebramos recordes e em todos os campos parece que alcançamos mais em menos tempo. As pessoas aprendem mais, mais rapidamente e os humanos do futuro poderão ser mais rápidos que Bolt ou Phelps.

 

E os celeiro de Talentos?

Sabe aquela ideia de que muitos talentos vem do mesmo lugar?

  • O Barcelona é um celeiro de craques
  • O Vale do Silício é um celeiro de startups
  • A China é um celeiro de jogadores de ping-pong
  • e por aí vai…

Não é mágica. Cada um desses lugares tem um monte de pessoas (doravante mentores) com expertise pra que os ingressantes consigam apreender os truques para se tornarem melhores mais rapidamente e também possuem os recursos pra que as pessoas se desenvolvam.

Você pode aprender muita coisa sozinho, mas o feedback é super importante. Uma coisa boa de aprender programação é que no começo você pode evoluir muito rápido sozinho, afinal você escreve o software e na hora sabe se ele funcionou ou não. Rapidamente você vai aprendendo o que funciona e o que não funciona.

Claro que uma hora você vai precisar aprender formas mais fáceis e rápidas de programar. Trabalhando com outras pessoas você vai evoluir muito mais rápido. Por isso que em equipes que usam Code Review os programadores menos experientes evoluem melhor. Mesma coisa para quem contribui em projetos open source. Não necessariamente o mentor é um mentor de fato, mas alguém ou ferramenta que te mostre onde você errou e qual o melhor jeito de se fazer o certo.

mentor do he-man

Na história de hoje você aprendeu porque apesar de um monte de gente jogar bola todo dia nem todas viram o Ronaldinho (não pude evitar!!!)

 

¹ Essa referência não é minha, li uma vez em algum lugar que não consegui encontrar…não sei se foi em um livro, talvez tenha sido no Lean Startup, já que cito em todos os meus posts, huahuahua

O que aprendi gerenciando 3 produtos em 2016

Há exatamente um ano eu fiz um balanço sobre como foi o meu 2015 e como saí de uma fase de total esgotamento para a empolgação com uma empresa que estava nascendo. Atendendo a pedidos (Meu pai queria ler a continuação, huahuahua) resolvi contar de forma breve(?) como foi esse ano pra mim, pra minha carreira e o que aprendi gerenciando 3 produtos diferentes na mesma empresa.

Sobre os Desafios e Conquistas:

No ano passado(2015), consegui entregar o LegalNote. Começou pequeno, como deveria ser, afinal era só um MVP e precisávamos validar se existia mercado pra ele, se os advogados teriam interesse em um produto minimalista para controle de processos. Diversas vezes aplicamos os brilhantes métodos do Lean Startup do Eric Ries e quando se fala de Lean Startup necessariamente se fala do ciclo Build – Measure – Learn (tradução livre: Construir – Medir – Aprender)

Rapidamente aprendemos que nossos clientes precisavam que nós expandíssemos nossos robôs (doravante crawlers) para todos os tribunais do Brasil e todos os diários oficiais.

Como missão dada é missão cumprida, começamos o ano com a difícil tarefa de expandir nossos horizontes sobre fontes de informação pública. Se você já precisou algum dia buscar qualquer coisa que seja em um órgão público deve ter xingado o site algumas vezes. Pois é, o desafio de acessar sites do governo para estruturar e dar inteligência àquelas informações, tentar buscar padrões, trabalhar com dados nada estruturados é uma dor de cabeça. Se você quer que as coisas fiquem fáceis para o seu cliente, elas terão que ser difíceis pra você. Muitas partes em movimento, sites que podem mudar de uma hora pra outra e quebrar o seu crawler, mudança de padrões que podem quebrar seus RegEx, etc… Mas conseguimos. Nossa primeira fase de expansão sobre tribunais e diários oficiais foi um sucesso…

Mas com grandes poderes vem grandes responsabilidades. Ao longo desses anos trabalhando com startups me aprimorei em uma técnica pra atrair clientes com SEO. Usei pela primeira vez em 2013 e naquela época conseguimos alcançar clientes sem verba de marketing. Agora em 2016 usamos a mesma técnica e o resultado veio muito rápido. Muitos clientes e muitos processos.  Para vocês terem uma ideia, essa é a imagem que foi postada no Blog do LegalNote com os números da empresa em 2016:

O que aprendi gerenciando 3 produtos em 2016 - Fernando Alves

E pra todo número grande que você vê aí, tivemos um desafio de infra-estrutura. Desafios de escalabilidade, provisionamento de instâncias, controle e gerenciamento de filas, performance de banco de dados, monitoramento, performance de buscas, milhões de tasks, alta carga de emails e mais…

O bom é que todo problema traz consigo uma oportunidade pra aprender. Aprendi muito esse ano, muito mesmo, muito sobre performance, sobre escalabilidade, sobre AWS e principalmente sobre gerenciamento. Quando você é um chefe muito técnico existe uma grande possibilidade de você focar em desenvolver, afinal você é um cara mão-na-massa, mas na maioria das vezes isso não é o melhor pra você, nem para sua empresa. Você como gestor precisa o tempo todo facilitar para que as pessoas ao seu redor se desenvolvam. E o grupo sempre vai chegar mais longe que você, não importa quão bom você seja. Você precisa usar o seu conhecimento para alavancar a produtividade e o conhecimento das outras pessoas. Elas precisam melhorar o tempo todo e você também (Por isso fiquei emocionado ao ver a retrospectiva de final de ano de um cara brilhante que trabalha com a gente e ter lido a retrospectiva dele do ano passado)

Facilitar para que as pessoas se desenvolvam envolve:

  • Aumentar gradualmente o desafio que elas devem resolver
  • Estar disponível para conversar e tirar dúvidas
  • Se livrar dos impedimentos
  • Ouvir muito
  • etc

Só o que tenho aprendido como gestor dá mais alguns posts que prometo escrever esse ano.

Voltando ao ciclo, junto ao crescimento do LegalNote nós lançamos o Diligeiro. Primeiro a API ficou pronta, depois veio o lançamento do aplicativo Android, do WebApp e no segundo semestre lançamos o app para iOS

gerenciando-produtos-lançamento-diligeiro-ios
Almoço de lançamento do Diligeiro para iOS

Produto diferente, desafios diferentes. Logo aprendemos que os usuários queriam um chat in-app. Que foi a primeira feature a ser desenvolvida com o app já em funcionamento. Ficou tão legal, que outro dia mostrando para um pessoal no DevBeers tive que ouvir um “que é isso? é o Whatsapp?”

E foi através do Diligeiro que tive uma das minhas experiências mais gostosas como empreendedor. Há alguns meses precisei ir para Belo Horizonte participar de uma audiência. E conhecem aquela frase americana: Eat your own dog food, então a advogada que ia participar da audiência comigo na cidade foi contratada pelo aplicativo. Tudo correu bem, fomos à audiência e depois de sair do fórum a advogada me disse que estava praticamente só trabalhando como correspondente e utilizava o Diligeiro pra trabalhar. ( Explicando sucintamente: O Diligeiro é o Uber pra correspondentes jurídicos). Um mês depois recebi a decisão do Juiz através do LegalNote. Viagem completa dentro dos produtos da própria empresa, levantei comemorei, todo mundo bateu palma e a sensação que eu tive foi de uma vitória muito grande. E o diligeiro tem novidades por aí…

Caramba, ainda não parei de escrever…mas vamos lá. Dezenas de Milhares de pessoas físicas começaram a querer usar nossa ferramenta para advogados! Então porque não dar a essas pessoas o que elas querem?

gerenciando-produtos-shut up and take my money

Assim começamos a desenvolver um novo produto e lançamos agora no final do ano. É o SeuProcesso.com. Um court monitor para pessoa física.

Nossa corujinha

Ano que vem vocês ouvirão eu falar muito mais sobre o SeuProcesso.com

E como nem só de trabalho viverá o homem, pessoalmente esse ano foi incrível pra mim. Fiz o meu primeiro mergulho e foi uma das experiências mais extraordinárias que já tive. Viajei sozinho, fiz longas trilhas só ouvindo a natureza, fui em muitos parques, nadei, cantei, dormi, chorei. Li um livro que mudou minha vida (The Will Power Instinct) pq foi através dele que comecei a praticar meditação diariamente e o simples fato de sentar e respirar me deixa mais tranquilo, mais consciente de como estou me sentindo e olha que a vida inteira eu achava que isso era bullshit, só tentei dar uma chance ao HeadSpace pra começar a gostar e sentir diferença na minha vida. E o principal de tudo…foi o ano do Guanciale

Muito obrigado, 2017 tem mais!

De esgotado a empolgado. O que deu certo aceitando um desafio em 2015

“Não será fácil. Mas você já fez coisas difíceis antes.” *

Depois de 10 semanas no vale do silício conversando com investidores, programadores e empreendedores de tecnologia, percebi que o produto que tinha me dedicado por mais de um ano não fazia mais sentido pra mim.

eeeee. nope!

 

Comecei 2015 exausto. Depois de vários anos empreendendo estava me perguntando se era hora de prestar um concurso público ou trabalhar “na minha”.

Pensei em desistir de empreender, pensei em como é difícil tirar algo do papel e sabia que se quisesse empreender teria que passar por várias etapas pelas quais já tinha passado algumas vezes nos últimos anos. Mas as vezes não adianta querer fugir, e o que foi uma simples conversa informal que tive com o Dr Antônio Maia no EC14 acabou se transformando num convite para ser sócio de uma empresa com ideias bastante ambiciosas para transformar a área jurídica no Brasil. As ideias eram excitantes e boas demais para serem preteridas e resolvi então abraçar mais um desafio como CTO de uma empresa de Legal Tech.

Studying law. making a responsible choice for my future

Quem já foi CTO no início de uma startup sabe como é difícil você dar os primeiros passos. Estudar as necessidades de um mercado que não é o seu, planejar as estruturas, começar a escrever o código e o principal e mais difícil: Montar um time de excelência.

Não tem todo mundo, mas tem bastante gente

Não tem todo mundo, mas tem bastante gente

Existe um provérbio grego que diz que O início é metade de qualquer ação. Acho essa metáfora linda, pois não é pra tanto, mas mesmo assim começamos do zero na última semana de fevereiro/15 com uma única posição dentro de um escritório de advocacia e estamos terminando o ano com um conjunto inteiro na Av. Paulista, um time lindo de desenvolvimento, um stande e  apresentação na maior feira da nossa área, com um produto lançado, o LegalNote, crescendo rapidamente com mais de mil usuários cadastrados e milhares de processos e com o nosso outro produto o Diligeiro correndo na fase final de desenvolvimento.

Trabalhamos até a véspera da véspera de ano novo, empolgados por todas essas conquistas que não foram fáceis e eu tenho a certeza de que daqui pra frente tudo continuará sendo difícil, mas nós podemos olhar pra trás e ver que já fizemos coisas difíceis antes.

Muito obrigado à todos! Um excelente 2016!

Um obrigado especial a todos que trabalham duro comigo:

Chuckeeey
Daniel , o mago das regex
Derek Oedenkoven
Dr Antonio Maia
Dr Fabio Abrahao
Gui AMS
Marcus Beckenkamp
Vitão Jar Jar
Gustavo UX
Rafael, o lendário!
Muller #Zueiro
* Li essa frase em algum lugar essa semana e achei fantástica.

E quando uma empresa gigante resolve virar sua concorrente?

Você cria um produto, vira pioneiro em uma área, corre todos os riscos e fica cheio de incertezas, tanto suas, quanto dos clientes confrontados com “A novidade.”

Imagine que nesse cenário, um pequeno grupo abraça aquilo que você fez, ama o seu projeto e você conseguiu criar algo dentro de uma comunidade.

De repente, o gigante acordou, imagine um gigante mesmo, a própria Apple. E ela aprova sua ideia. Aprova tanto que resolve criar uma versão própria do seu produto.

Agora a Apple é sua concorrente!

Steve Jobs - Doctor Evil

E aí, senta e chora?


Isso aqui não é uma anedota, é um caso verídico.

Os criadores do smartwatch Pebble já passaram por vários perrengues, foram acelerados pela YCombinator, o projeto não foi pra frente, não conseguiram levantar capital porque eram uma empresa de Hardware, depois concluíram com sucesso uma campanha no kickstarter e por fim foram lançando e evoluindo o Pebble, tudo a partir da ideia do Eric Migicovsky de criar um display de relógio que mostrasse as notificações do celular.

Bom, imagine a cabeça desse cara quando o Google resolveu lançar o próprio smartwatch e quando a Apple resolveu lançar o Apple Watch.

Agora imagina como ele se sente, vendo que um concorrente desse tamanho, um gigante, está mais abrindo mercado para eles do que prejudicando.

E pode ser que um dia o Pebble se torne tão grande e vire realmente um competidor do Apple Watch. Quem sabe…

 

Por quê estou falando tudo isso?

Porque com o lançamento do Apple Watch muita gente que não tinha ideia do que era um SmartWatch acabou descobrindo o que é isso e, independente de descobrir através da Apple, puderam também se interessar e ir atrás de outros modelos, conhecendo o Pebble, que Dobrou suas vendas!

Veja: Aparentemente Apple Watch ajudou a DOBRAR as vendas do Pebble

 

Me inspirei pra escrever no post do Diogo Novaes no facebook. Aliás, um cara que vale muito a pena seguir.

Um pequeno prazer de uma startup que não deu certo.

 

Quem nunca teve uma empresa que não deu certo, que atire a primeira pedra.

Sempre gostei de empreendedorismo. Eu gostava de ler matérias sobre empresas, gostava de ir nas empresas dos meus pais e gostava dos filmes dos anos 80 estilo Jerry Maguire. Minha família sempre foi empreendedora. Meu pai teve de loja de material de aquarismo até distribuidora de salgadinho de bar, meu tio construiu a maior rede de salões de beleza da zona norte e até hoje não se passa uma semana sem que minha mãe me fale uma ideia nova que ela teve (Se eu publicar alguma, ela me mata). O fato é que o empreendedorismo está no meu sangue.

No final de 2011, eu e meu amigo Daniel resolvemos montar uma startup. Na ocasião eu tinha um site que revendia instrumentos musicais. Nada muito formal, mas era uma escola pra mim. Estava ganhando dinheiro, me mantendo, tive a oportunidade de largar um emprego público e fazer mais dinheiro em casa de cueca do que indo perfumado até o prédio da FEA. Falar sobre a Apoio Musical levaria até mais de um post sobre os 2 anos que eu a mantive no ar e ela me manteve.

Bom, montamos essa startup porque estávamos vidrados em Crowdsourcing. Queríamos muito, que o crowdsourcing fosse um jeito de dar às empresas a oportunidade de gastar pouco pra ter ideias de qualidade e de dar às pessoas a oportunidade de trabalhar em projetos de grandes empresa, mostrando seu potencial.

 

O primeiro problema que enfrentaríamos era o do ovo e o da galinha: como teríamos empresas sem ter pessoas interessadas em anunciar e como teríamos pessoas pra participar dos desafios sem ter empresas com desafios?

Enfim, resolvemos começar buscando às pessoas. (O que hoje eu acredito que não foi a melhor estratégia).

Pra alcançar essas pessoas nós resolvemos criar um Desafio com Ideias que pudessem melhorar a cidade de São Paulo. Chamamos isso de Desafio São Paulo.

Criamos um aplicativo para o facebook pra poder receber as ideias, já que ainda não tínhamos uma plataforma criada e não me lembro como alguém gostou do desafio e ele foi parar no Catraca Livre.

ideias-na-mesa-catraca-livre

Isso foi o suficiente pra várias pessoas entrarem no Desafio. Nisso tivemos um outro problema: Como escolher qual ideia é a melhor? E nisso, a CAOS Focado que é uma empresa de consultoria nos ajudou criando um método objetivo pra definir quais eram as melhores ideias (eu deveria ter filmado pra mostrar quão genial foi o Miguel Chaves resolvendo isso pra gente).

A startup como você já previu no começo do texto, escafedeu-se, fizemos o desafio, não conseguimos fechar com nenhuma outra empresa um desafio sequer, apesar de negociar durante meses com uma empresa grande da área de turismo. Então o que eu estou comemorando aqui como um pequeno prazer? Olhe as ideias escolhidas como as melhores para São Paulo no nosso desafio e pense no que mudou em São Paulo de 2012 para 2015.

  • Ciclo Faixas com acesso a CPTM nas marginais
  • Menos vagas de rua para carros
  • Ruas de lazer aos domingos
  • Transporte Coletivo 24 horas
  • WiFi gratuito em locais públicos

Isso tudo começou a mudar em São Paulo e vai continuar mudando porque agora já é tendência. Se quiser ter certeza, confere meu post original de quando eu publiquei o desafio em março de 2012:

 

http://blog.ideiasnamesa.com.br/desfile-das-campeas-desafio-sao-paulo/

29 Dicas de Growth Hacking

Se você quer realmente ver sua empresa crescer na internet, você PRECISA conhecer e seguir essas dicas de growth hacking. Elas são matadoras para que você alcance mais usuários. Tudo que você vai ver aqui foi baseado em uma apresentação do @Mattan Griffel no slideshare, disponível no final do texto.

Eu resolvi fazer esse post, pra tratar algumas das dicas para quem não quer ficar só nos slides e também pelo fato de traduzir para o português. Várias dessas dicas eu já utilizei e tenho certeza que funcionam, algumas eu nunca cheguei a implementar e fiquei inconformado de não ter feito isso antes =/.

1. Meça a Satisfação dos seus Clientes

Existe uma perguntinha básica para isso: “Em uma escala de 0 a 10, o quanto você indicaria nossa empresa para um amigo?”.

Com o resultado dessa pergunta você calcula o NPS – Net Promoter Score que é uma métrica importante, tanto para você descobrir o nível de satisfação dos seus clientes, como quais clientes podem te ajudar ainda mais a divulgar a sua empresa. O cálculo do NPS é o número de NPS = Percentual de promotores – Percentual de Detratores

Promotores são os que responderam 9 ou 10
Detratores é quem respondeu de 6 para baixo.

https://i2.wp.com/satisfacaodeclientes.com/wp-content/uploads/2012/08/net-promoter-score-brasil.png?resize=642%2C385

NPS – Net Promoter Score

Duas ferramentas que o Mattan sugere pra fazer pesquisas de comportamento dentro do seu site são o Qualaroo e o Promoter.io que é mais focado em NPS mesmo.

Você também pode criar o seu próprio, ou enviar Google Forms para seus clientes, não importa, você precisa dessa informação.

E peça para os PROMOTORES compartilharem!

2. Crie mais Landing Pages

Um erro muito comum, principalmente por empresários que não tem o foco na Web é criar anúncios de facebook, google, etc e apontar para a página principal do seu site. O cliente procurou por Comprar Guitarra, viu o anúncio da sua loja de instrumentos e a Landing Page dele é a sua Home Page com 30 produtos? É numa dessas que você perde o dinheiro dos anúncios e acaba achando que Search Engine Marketing não funciona.

Landing Page é a página que o usuário ‘cai’ (aterrissa) assim que entra no seu site. Quanto mais Landing Pages você criar, ou seja, quanto mais páginas específicas pra entrada no seu site você tiver, maiores são suas chances de conversão. Se você está rodando uma campanha com 10 anúncios no facebook, de chamadas diferentes para públicos diferentes e com abordagens diferentes é conveniente ter 10 landing pages diferentes. Você tem que aproveitar as informações relevantes que você tem sobre aquele usuário, aquelas que você usou no filtro pro seu anúncio pra ter uma página com conversão bastante eficiente.

Cada página precisa ser 90% diferente.

  • Use ofertas diferentes
  • Público Alvo de um diferente segmento
  • Destaque diferentes qualidades únicas do seu produto.

Link suas propagandas pagas direto para Landing Pages específicas, não sua Home Page.

3. Use anúncios pagos para testar Títulos e Imagens

A dica que o Mattan dá aqui é que você pode economizar tempo e dinheiro antes de criar suas homepages utilizando anúncios pagos do facebook para isso. A ideia é que há muita semelhança entre uma Landing Page e um anúncio no Facebook como:

  • O Título
  • O corpo da mensagem
  • A imagem

landing-page-paid-ads

Com todos esses elementos em comum, você pode testar qual é o melhor Título ou Imagem que vai utilizar, apenas criando anúncios diferentes. Lembre-se de testar apenas um elemento por vez. E a dica do Mattan é para Otimizar o Anúncio para Impressões.

facebook-testes

4. Prepare sua URL para fazer Link Tracking

Você pode preparar seus links pra saber onde seus esforços de divulgação foram melhor empenhados. Uma dica é usar o Link Builder do Google e se você não estiver com tanta paciência assim, use um encurtador de URL’s como o Bit.ly. O importante é que você saiba isso pra saber onde vale ou não se esforçar para divulgar.

5. Remova os Links da sua Landing Page

Essa é matadora. Se o seu usuário já caiu em uma página específica, já foi filtrado pela sua campanha, não tem porque ele se dispersar agora, então quanto menos links e opções você der pra ele, melhor será pra você!

Ele mostra vários exemplos nos quais as taxas de conversão foram muito maiores apenas por remover barra de navegação e links do menu. Foque no seu Call to Action!

Uma dica que ele dá é Testar Landing Pages Minimalistas. Tire tudo da sua página, deixe só aquilo que é estritamente necessário.

E na minha opinião, a observação mais importante que ele faz: Tirar os links da página de Checkout. E dá o exemplo da Amazon, que é uma sopa de links o tempo todo, mas na página de checkout foca só no botão de pagamento.

6. Use o Qualaroo para ouvir Feedback dos seus clientes

O objetivo aqui é fazer você conseguir mais informações sobre como os clientes navegam pelo seu site e pelos seus produtos, do que eles sentem falta, o que estão procurando, porque deixaram de fazer alguma compra, etc.

  • Você achou a informação que procurava?
  • Se você não fechou uma compra hoje, quais foram os motivos?
  • Que tipo de informação você está procurando?
  • O que você veio fazer no site hoje?

Isso vai trazer ideias para que você teste no seu site

7. Compre dados demográficos sobre seus usuários

Essa aqui é muito interessante pra quem tem clientes nos Estados Unidos. A dica é usar o TowerData que é um site que tem muita informação demográfica e você poder saber mais sobre seus clientes apenas informando o email deles.

No Brasil a coisa fica meio complicada, mas pode usar a imaginação. Por exemplo, se você tem o endereço dos seus clientes, pode tentar inferir a renda deles pela renda média da região. Pesquisando encontrei essa ferramenta chamada Navegg Analytics, que parece oferecer o serviço no Brasil, eu não conheço a fundo, mas fica a dica.

8. Divida as suas Perguntas

Se você perguntar demais logo de cara, vai acabar perdendo potenciais usuários. Essa é uma dica bem antiga e pra mim é bem óbvia, odeio fazer cadastros gigantescos, então se vejo um eu já fecho na hora. Mas tem gente que adora pedir informações demais e que nunca serão usadas. Seja conciso e objetivo, se tiver que pedir demais, divida o formulário.

Quantas pessoas não fecham a página por ver um formulário como esse?

Dividindo o Formulário em partes você diminui a chance de alguém sair da sua página, simplifica o que você está perguntando e te permite testar mais.

9. Teste textos estranhos de Call To Action*

Estudos mostraram que colocar textos diferentes de “Cadastre-se” ou “Veja mais” nos seus botões de conversão são melhores. Invente alguma coisa, teste coisas esquisitas, use a criatividade, não seja mais um chato.

10. Use uma cor contrastante para o seu Call To Action

O Henrique Carvalho tem um site muito legal que chama Viver de Blog, vou usá-lo como exemplo pra especificar as dicas 9, 10 e 11.

viver-de-blog

Olha a cor e o texto que ele usa no Call to Action.

11. Posicione seu Call to Action à Direita.

As pessoas, pelo menos aqui no ocidente, olham pra tela em um padrão de F. O botão à direita é melhor estatisticamente.

12. Repita o seu CTA no “Above the Fold” e “Below the Fold”

Primeiramente, “Above the Fold” é um termo do webdesign que veio emprestado do jornalismo pra mostrar a primeira parte do jornal, antes da dobra. Isso no caso de um site é a parte visível antes do usuário ter que usar a barra de rolagem. Below the Fold é tudo que fica depois do Above de Fold.

Se a página contiver muita informação e o usuário tiver que rolar a página, certifique-se de que você tem um Call to Action lá embaixo também. Reforce a chance dele apertar aquele botão.

13. Faça uma Reafirmação

Para exemplificar esta dica e a Dica 12, vou indicar o site do Basecamp pra você entrar. Você vai perceber que ele coloca um Call To Action “Above the Fold” e vários outros “Below the Fold” espaçados enquanto o usuário lê as vantagens do Basecamp.

Quando o usuário estiver convencido de que quer testar o Basecamp, ele clica em um botão e vai para uma página de cadastro que mostra pra ele mais uma vez um resumo do porque ele está se cadastrando no BaseCamp.

basecamp

14. Faça uma validação Inline dos seus formulários

Faça as validações no formulário utilizando Javascript. Não espere dar um POST pra mostrar o que deu errado só na página seguinte.

basecamp2

15. Remova o campo de Cupom de Desconto

Isso aqui também é resultado de estudo científico. Se o usuário vê que existe um campo de cupom de desconto no seu site ele perde o foco pra procurar algum cupom online ou não gosta do fato dele não ter um cupom. Para que pagar o preço cheio sabendo que quem tem um cupom paga mais barato?

Se quer dar descontos, use outros métodos, como um parâmetro na QueryString que tenha o tipo de desconto com um campo hidden no seu formulário para recebê-lo.

16. Utilize Exit Intent Pop-ups

Esses popups verificam se o usuário demonstra ter uma intenção de saída do site e mostra uma chamada. Não é a mesma coisa daqueles avisos chatos de “Você tem certeza que quer sair?”.

Implemente algum desses algoritmos para segurar a atenção do usuário que quer abandonar sua página e você pode diminuir o Bounce Rate do seu site.

As opções que o Mattan mostra são:

O MercadoLivre usa esse hack para o vendedor não desistir do anúncio e o blog Vida de Startup também:

vida

17. Dê algum Bônus nas suas ofertas

Um produto + um bônus tem um valor percebido maior do que uma oferta agregada. Eu tive essa experiência quando eu tinha o meu e-commerce. Resolvi fazer anúncios agregados de Amplificador + Cabo. Várias pessoas queriam comprar separadamente, argumentavam que só queriam o Amplificador e eu queria muito vender os cabos também. Fiz um anúncio com Amplificador um pouco mais caro e resolvi dar os cabos de brinde. Foi muito melhor.

18. Up-sell, Cross-sell e Down-sell

Up-sell, Cross-sell e Down-sell são técnicas de vendas. O Cross-sell provavelmente é o mais conhecido. Se o cliente está comprando uma guitarra é provável que ele também queira comprar correia, encordoamento, amplificador, cabo, palheta, etc. Você pode oferecer esses produtos para ele durante a compra.

O Up-sell é quando você oferece um produto de valor maior ao cliente, o exemplo clássico é do McDonalds: Quando você pede a batata eles te oferecem a grande, quando pede o refrigerante, te oferecem o grande e ainda perguntam se você quer aquela tortinha de maça XD.

Down-sell é quando o cliente está desistindo de comprar um produto e você oferece um outro produto mais barato no lugar daquele para tentar fechar o negócio.

19. Termine seus preços com 7 ou 9.

Isso é estatístico. As chances do produto ser comprado aumentam fazendo isso. Peguei esse exemplo no Beved

beved

20. Mostre uma barra de progresso durante o Checkout

Não só no checkout, mas quando você tem um formulário de vários passos, como mostramos anteriormente. Se você mostra para o usuário que existe uma barra de progresso, você não o deixa perdido no processo achando que nunca vai acabar o cadastro.

amazon

A dica do Mattan é que nunca comece no primeiro, só mostre a barra de progresso depois que ele já saiu do primeiro formulário, você o incentiva a continuar porque ele já fez uma parte.

21. Coloque um suporte de Bate-Papo durante o Checkout

Pra muitas empresas o processo de compra ou de anúncio no caso de market-places pode não ser muito fácil para alguns usuários. Se você colocar esse tipo de chat, você pode ajudá-los e entender quais partes do processo podem ser melhoradas. Para processos complexos isso é fundamental para que a compra seja efetuada

Existem diversas ferramentas para isso:

22. Teste as 5 maiores opções de compartilhamento

Esse não tem desculpa para não ter. Você precisa colocar opções de compartilhamento nos seus produtos. Opções do Twitter, Facebook, Linkedin, Email, Enviar pelo Whatsapp, ou qualquer coisa. Ache aquilo que funciona para o seu negócio

share

23. Dê bônus “simétricos”

Se você tem um programa de referência, os conhecidos programas de Referral ou Referral Marketing você pode aumentar o número de usuários dando um bônus tanto para quem convida como para quem é convidado. Se você tem o Dropbox é muito provável que você tenha convidado alguns dos seus amigos, não é? Cada um deles ganhou 500mb quando você os convidou e você um Giga por indicação que fechou (Até 32Gb).

airbnb

24. Otimize sua Landing Page de Referral

Se seu usuário está chegando ali por indicação de um amigo, use isso a seu favor. Mostrar quem o convidou para a página é obrigatório!

Aproveite para já preencher no formulário as informações que você tiver.

 

Dica: Use Deep Linking nas páginas mobile. (Olhe esse serviço novo do Bit.ly)

airbnb

25. Mostre um status dos convites que o usuário enviou

Isso mostra pra ele o que ele já ganhou, e quanto ele ainda pode ganhar convidando os amigos, além do mais o incentiva a convidar mais amigos para a sua página.

26. Mande emails para engajar seus usuários novamente

Esse exemplo aqui é muito bom, se alguém, se cadastra no Dropbox mas não instala o programa o Dropbox manda esse e-mail para incentivar que o usuário use o Dropbox.

dropbox

 

27. Use Segment

Existem muitas, mas muitas opções de tracking hoje. Você provavelmente usa o Google Analytics, o Kiss Metrics, pode estar usando o SalesForce, etc. Imagine colocar todos esses snipets de código em todos os seus apps, sua página, etc. É muito trabalho. A Segment oferece um serviço para integrar tudo isso.

28. Mudar a Landing Page baseada na fonte do Tráfego

Se o usuário entrou na sua página de forma direta, ou veio pelo google você pode mostrar uma página diferente pra ele. Tanto essa dica como a próxima o Mattan marcou como Experimentais. Mandei uma mensagem para ele perguntando o porque disso e ainda estou aguardando a resposta.

29. Colocar códigos de referência em todas as URLs

É uma forma de conseguir aumentar ainda mais a quantidade de dados que você tem sobre a navegação no seu site, ou de onde vieram todos os usuários Também é uma dica que ele marcou como Experimental.

Conclusão

Essas técnicas são eficazes na hora de aumentar a conversão no seu site e de trazer ainda mais usuários. A maioria delas pode ser aplicada pra qualquer site ou negócio. O importante é ter em mente que existem formas de fazer o negócio crescer mais rápido. Várias das dicas são baseadas em estudos estatísticos e comprovadamente funcionam. Se duvida faça o teste.

Lembre-se sempre de manter um tracking de tudo que acontece na sua página. As informações são boas para que você possa tomar as decisões corretas e ver se uma mudança trouxe um resultado positivo ou negativo.

Todos os originais estão nos slides abaixo:

 

Gostou? Compartilhe!

*O termo que os slides originais usam aqui é CTA Copy, que são algumas ideias de Call to Action que são copiadas de outros cases. Existem diversos exemplos na internet. Eu me atentei só ao conteúdo passado nesse slide

Data Scraping das lojas do Buscapé com Python e Beautiful Soup

Nessa altura do campeonato todo mundo já sabe o que é Web Scraping, Scraping ou Data Scraping, mas vamos lá: É a varredura de um site ou de outro programa para extração de dados. Fiz isso a vida toda, aliás, meu primeiro estágio em 2002 envolvia muito disso, Eu pegava os dados de sites como Guia Mais, Listas OESP, etc, fazia o tratamento das informações e colocava em um mapa no qual os Gênios do Marketing utilizavam as informações pra fazer análises inteligentes de ações de marketing em áreas específicas. Eu achava o máximo!

Há a discussão se isso é legal ou não é legal, mas os dados estão abertos na internet e se não há nada especificado nos termos de uso do site então você pode sim fazer o data scraping. Inclusive o próprio Buscapé começou assim.

Um desses dias procurei na internet por alguma lista de e-commerces brasileiros e não achei nada, então pensei em ver se tinha alguma coisa no buscapé, já que ele agrega dezenas de e-commerces. Bom, achei essa página aqui que possui as informações das lojas cadastradas no buscapé: http://www.buscape.com.br/pesquise-uma-loja.html?pg=1.  Esse pg na query string é o número da página que estamos, obviamente.

Essa é a carinha da página:
buscape-pesquisa-uma-loja

 

Você pode ver que essa página é uma lista paginada das lojas cadastradas no buscapé. E isso se segue até a página 21270 mostrando 12 empresas por página.

buscape-rodape

E pra cada e-commerce que você clicar você vai ver várias informações sobre a empresa:

buscape-ricardo-eletro

 

Até aí, tudo fácil. Só achei a página com a lista de empresas, vi que ela tem uma paginação da página 1 até a página 21270, contém 12 lojas por página e que pra pegar as informações completas é necessário entrar no link de cada uma das lojas. Esse é o algoritmo, agora pra fazer isso acontecer tem que criar o script python.

Eu decidi criar 2 scripts, um para pegar o link de todas as lojas de cada uma das páginas da lista e o segundo para entrar em cada link de empresa e retirar essas informações colocando num Excel gigantesco.

Então, organizando, o primeiro script faz isso aqui:

  1. Encontrar qual elemento da página de listagem contém o link para as lojas
  2. Varrer todas as páginas de listagem para pegar os links individuais de cada página de loja
  3. Salvar esses links em um arquivo Excel (pode fazer de qquer outro jeito, eu quis assim)

Primeiro de tudo, você precisa encontrar na estrutura da página os elementos HTML e CSS que contêm os links que precismos retirar. Eu usei o Dev Tools do Chrome pra inspecionar o elemento e vi que todas as lojas estão em uma DIV que contém uma classe chamada size1of3 e é essa classe que vou utilizar para pegar todas as lojas. Dê uma olhada na figura:

buscape-div-loja

 

O trecho HTML das divs é normalmente assim:

<div class="unit size1of3">
 <div class="bp_shop_info line">
 <div class="shop_info_inner">
 <div class="main">
 <div class="leftCol name">
 <a data-preco="" title="Extra.com.br" href="http://www.buscape.com.br/empresa/avaliacao-sobre-extra-com-br--77.html">
 <img alt="Extra.com.br" src="http://imagem.buscape.com.br/vitrine/logo77.gif">
 </a>
 </div>
 <div class="features_wrapper main">
 <div class="line">
 <div class="speech_bubble_pointer">
 &nbsp;
 </div>
 <div class="inner">
 <div class="features_list main rounded_corner radius10">
 <ul class="features_inner">
 <li class="info_ebit_rating line">
 <a class="ico_ebit sprite_ico ebit_40 leftCol" title="Loja e-bit Excelente" target="_blank" href="http://www.ebit.com.br/lojas_virtuais/html/rateloja.asp?PnumNumEmpresa=2043">
 Loja E-bit e-bit Excelente
 </a>
 <div class="main">
 <a class="info_ebit ebit_ajuda" title="Loja e-bit Excelente" target="_blank" href="http://www.ebit.com.br/lojas_virtuais/html/rateloja.asp?PnumNumEmpresa=2043">
 e-bit Excelente
 </a>
 <span class="ratings">
 Avaliada por 
 <a href="http://www.buscape.com.br/empresa/avaliacao-sobre-extra-com-br--77.html">
 237.812 pessoas
 </a>
 </span>
 </div>
 </li>
 <li>
 <a title="Clique para ver mais informações" target="_blank" href="http://www.buscape.com.br/empresa/avaliacao-sobre-extra-com-br--77.html" class="sprite_ico info_shop">
 Mais detalhes da loja
 </a>
 </li>
 <li class="sprite_ico operation_area">
 Vende pela Internet
 </li>
 </ul>
 </div>
 </div>
 </div>
 </div>
 </div>
 </div>
 </div>
</div>

Dentro dessa div nós podemos pegar o primeiro link que aparece e extrair dele o title, que é o nome da loja e o href com o link para a página específica daquela loja. Eu escrevi isso em javascript mesmo, testei no Console e vi que funcionava


$('.size1of3').each(function() {var x =  $(this).find('a:first');console.log(x.attr('title') + ' ' + x.attr('href'))});

Agora vamos escrever o script em Python!


#URL http://www.buscape.com.br/pesquise-uma-loja.html?pg=1
#from 1 to 21265
# $('.size1of3').each(function() {var x = $(this).find('a:first');console.log(x.attr('title') + ' ' + x.attr('href'))});
import requests
import bs4
import openpyxl
import logging
from openpyxl import Workbook

#iniciar o arquivo de log
logging.basicConfig(filename='arq_links.log',level=logging.WARNING)

#iniciar a planilha do excel otimizada para escrita
wb = Workbook(write_only = True)
ws = wb.create_sheet()

for i in range(1,21266): 
    try:
       payload = {'pg':str(i)}
       response = requests.get('http://www.buscape.com.br/pesquise-uma-loja.html', params = payload)

       soup = bs4.BeautifulSoup(response.text)

       for div in soup.find_all(class_='size1of3'):
           ws.append([
           div.find('a')['title'], 
           div.find('a')['href'],
           'http://www.buscape.com.br/pesquise-uma-loja.html?pg=%s' % i,
           i,
       ])
 
       print "#%s" % i,

 except Exception as err:
     print "Erro na pagina %s" % i
     logging.exception(u"Erro na pagina %s" % i) 


wb.save('lojas.xlsx')

Estou usando o requests pra dar o GET na página e sempre passo como a query string (a variável payload) a página que quero dar GET.


payload = {'pg':str(i)}
response = requests.get('http://www.buscape.com.br/pesquise-uma-loja.html', params = payload)

Eu faço agora o parse desse resultado que vem no response.text usando o Beautiful Soup pra pegar apenas as informações que eu quero, no caso o nome da loja e o link para a página individual dela. Também resolvi salvar o link da página em que estou.

soup = bs4.BeautifulSoup(response.text)

for div in soup.find_all(class_='size1of3'):
    ws.append([
      div.find('a')['title'], 
      div.find('a')['href'],
      'http://www.buscape.com.br/pesquise-uma-loja.html?pg=%s' % i,
      i,
    ])

Estou usando o openpyxl que é excelente pra criar arquivos XLSX e também resolvi criar um log pra ver quais páginas podem ter dado errado por algum motivo. Assim é possível ver quais páginas ficaram de fora da sua lista e rodá-las novamente.

Enfim, rodando esse arquivo temos como saída um arquivo chamado lojas.xlsx com a lista de todas as lojas e com os links para a página individual delas. Então a parte um foi concluída, agora só falta entrar em cada uma dessas lojas e pegar os dados delas.

O segundo script deve fazer isso aqui:

  1. Vamos verificar como é o HTML + CSS de cada página de loja para saber como vamos fazer o scraping.
  2. Ler o arquivo excel gerado pelo primeiro script que contém o link de cada loja.
  3. Entrar em cada página e pegar os dados relevantes disponíveis
  4. Salvar tudo em um XLSX gigante

Pra verificar o formato HTML a gente pode inspecionar o elemento de novo dentro da página da loja. O que dá pra ver é que a div principal que contém os dados tem a classe company-header. Nessa div você pode pegar a classificação Ebit da loja, a descrição da loja e uma lista de informação de contatos que não é a mesma para todos os contatos, alguns tem informação como e-mail, telefone e outros não, então vamos ter que driblar (“Dibrar”) isso.

O bom é que todas essas informações de contato estão em uma lista e podemos pegar todos os elementos <li> desta lista e salvar em uma lista python. Depois podemos parsear essas informações e colocá-las em colunas certinhas num banco de dados, por enquanto só vou focar em pegar os dados.

O script fica assim:

import requests
import bs4
import openpyxl
import logging
from openpyxl import load_workbook
from openpyxl import Workbook

#iniciar o arquivo de log
logging.basicConfig(filename='arq_lojas.log',level=logging.WARNING)

#Abrindo o excel de leitura
wb = load_workbook(filename = 'lojas.xlsx', use_iterators = True)
ws = wb.get_sheet_by_name(name = 'Sheet1')

#iniciar a planilha do excel de excrita
wb_escrita = Workbook(write_only = True)
ws_escrita = wb_escrita.create_sheet()

for row in ws.iter_rows():
    try:
        nome = row[0].value
        url = row[1].value
        response = requests.get(url)
        soup = bs4.BeautifulSoup(response.text)

        div = soup.find(class_='company-header')
        ebit = ''
        if div.find('img'):
            if div.find('img').has_attr('title'):
                ebit = div.find('img')['title']

 
        desc = div.find(class_='about').string

        div = soup.find(class_='company-contacts')
        lista = []
        for li in div.find_all('li'):
            lista.append (li.text)

        ws_escrita.append(
            [nome,
            url,
            ebit,
            desc] + lista #Adicionando a lista de contatos daquela loja
        )
    except Exception as err:
        print "Erro na pagina %s" % url
        logging.exception(u"Erro na pagina %s" % url) 

wb_escrita.save('lojas_final.xlsx')

Ficou bem parecido com o primeiro arquivo. Agora é só executar os scripts. Execute o primeiro, ele vai demorar algumas horas até terminar, depois execute o segundo script. Aqui demorou bastante, quase 20 horas pra executar tudo.

O resultado final com os arquivos de excel e o código fonte você pode ver aqui no meu github: https://github.com/ffreitasalves/buscape-scraper