Keen.io

Quando eu era um jovem desenvolvedor, muitas vezes tomava decisões com base no que considerava ser senso comum ou no que imaginava ser atraente para os usuários. Que erro. À medida que me tornei mais experiente como desenvolvedor e empresário, percebi que a análise é a melhor maneira de tomar decisões …. e dinheiro. Há vários serviços que permitem que o senhor acompanhe a análise, mas muitos são difíceis de implementar, são muito caros ou não permitem que o senhor envie e use os dados adequadamente.

Minha experiência com o Keen.io, no entanto, foi o oposto. A Keen é uma plataforma de análise que ajuda os desenvolvedores a criar e enviar métricas voltadas para o cliente com facilidade: coletar, armazenar, consultar e apresentar dados. O Keen está disponível em uma série de idiomas e permite que o desenvolvedor acesse e exiba informações de forma elegante.

Acesso rápido

  • Keen.io permite que o senhor rapidamente coletar, armazenar, consultar e apresentar dados
  • Perfeito para criar protótipos e ser ágil
  • Fornece exemplos de código úteis em uma variedade de linguagens e plataformas
  • Baixa manutenção e baixa sobrecarga
  • O Keen.io permite que o senhor restrinja o acesso aos dados
  • Registre-se gratuitamente!

Primeiros passos

Iniciar por inscrevendo-se em uma conta gratuita no Keen.io. Depois de algumas perguntas simples, o senhor recebe seu primeiro “stream” e um snippet fácil que pode ser adicionado ao seu site ou aplicativo para enviar dados. O trecho de código é bem pequeno; por exemplo, o HTML é:

<!-- HTML: In page -->
<script>
(function(name,path,ctx){ctx[name]=ctx[name]||{ready:function(fn){var h=document.getElementsByTagName('head')[0],s=document.createElement('script'),w=window,loaded;s.onload=s.onerror=s.onreadystatechange=function(){if((s.readyState&&!(/^c|loade/.test(s.readyState)))||loaded){return}s.onload=s.onreadystatechange=null;loaded=1;ctx[name].ready(fn)};s.async=1;s.src=path;h.parentNode.insertBefore(s,h)}}})
('KeenTracking', 'https://cdn.jsdelivr.net/npm/keen-tracking@4/dist/keen-tracking.min.js', this);

KeenTracking.ready(function(){
  const client = new KeenTracking({
    projectId: 'XXX',
    writeKey: 'XXX'
  });

  // Record an event
  client.recordEvent('purchases', {
    item: 'Avocado'
  });
});
</script>

Se preferir o Node.js, o senhor pode usar:

// npm install keen-tracking --save

const KeenTracking = require('keen-tracking');

// This is your actual Project ID and Write Key
const client = new KeenTracking({
    projectId: 'XXX',
    writeKey: 'XXX'
});

// Record an event
client.recordEvent('purchases', {
  item: 'Avocado'
});

Observe como é fácil enviar a métrica básica com recordEvent:

// Record an event
client.recordEvent('purchases', {
  item: 'Avocado'
});

Isso é tudo o que o senhor precisa fazer para começar a coletar dados com o Keen.io!

Consultando

Depois de começar a coletar dados, a próxima etapa é consultar os dados para visualizações voltadas para o cliente ou simples exportação. O mesmo cliente Keen.io que o senhor usa para registrar eventos também permite consultar os dados coletados. Vamos dar uma olhada em alguns exemplos:

Esse exemplo consulta as compras e as agrupa por dia:

import KeenAnalysis from 'keen-analysis';

const client = new KeenAnalysis({
  projectId: 'XXX',
  readKey: 'XXX' //here we'll use our read-only key
});

client
  .query({
    analysis_type: 'count', // we'll do a simple count of events
    event_collection: 'purchases', // in the "purchases" collection
    interval: 'daily', // using a daily interval i.e. how many per day
    timeframe: 'this_31_days' // over the last 31 days
  })
  .then(res => {
    // as you might expect, this time res.result is an array of objects matching the daily interval we asked for
    // [{"value": 42, "timeframe": {"start": "2019-01-22T06:00:00.000Z", "end": "2019-01-23T06:00:00.000Z"}},...]
    console.log(res.result) 
    // Handle results, e.g. visualise them with https://github.com/keen/keen-dataviz.js
  })
  .catch(err => {
    // Handle errors
  });

Este exemplo consulta todas as compras nos últimos 31 dias:

import KeenAnalysis from 'keen-analysis';

const client = new KeenAnalysis({
  projectId: 'YOUR_PROJECT_ID',
  readKey: 'YOUR_READ_KEY' //here we'll use our read-only key
});

client
  .query({
    analysis_type: 'count', // we'll do a simple count of events
    event_collection: 'purchases', // in the "purchases" collection
    timeframe: 'this_31_days' // over the last 31 days
  })
  .then(res => {
    console.log(res.result) // the int result of the count of how many purchase events occurred in the last 31 days.
    // Handle results, e.g. visualise them with https://github.com/keen/keen-dataviz.js
  })
  .catch(err => {
    // Handle errors
  });

Visualização

Keen.io oferece uma incrível funcionalidade de consulta que fornece dados em formato simples para que o senhor possa implementar suas visualizações com qualquer biblioteca que escolher, de C3.js a D3.js e muito mais. Confira estes exemplos:

Biblioteca de visualização de terceiros

Visualização Keen

Conclusão

Com muitos dos aplicativos de análise que experimentei, tive dificuldade em descobrir qual era a próxima etapa e como acessar e usar os dados registrados. O Keen.io mudou minha percepção do que eu poderia esperar de um serviço de análise: fácil de registrar, fácil de consumir e fácil de confiar. Experimente o Keen.io gratuitamente e talvez o senhor nunca mais olhe para os serviços de análise da mesma forma!