MVP, desembarque e publicidade por 1500 rublos

Provavelmente, muitos tiveram que criar ferramentas específicas para suas necessidades específicas - scripts ou tabelas do Excel. E depois de pensar: e se alguém precisar da mesma solução? Como descobrir isso e entender se é possível ganhar dinheiro com isso?

Minha história começou com uma tarefa bastante simples. Eu precisava calcular apenas um número: o rendimento anual dos meus instrumentos de investimento. Tendo pesquisado toda a Internet e não encontrado uma solução pronta, tive que fazê-la com base nas tabelas do Google. Acabou bem - e eu decidi verificar se há uma demanda comercial para o meu desenvolvimento.

Neste artigo vou dizer:

  1. como fazer uma tabela para calcular o retorno anual do investimento, levando em consideração todas as operações e períodos;
  2. Como criar uma página de destino e configurar análises para usuários em potencial;
  3. como testar a hipótese e a demanda potencial usando a publicidade contextual no Yandex com um orçamento de 1.500 rublos.

I. Cálculo de retornos anuais: desenvolvimento de ferramentas


Imediatamente a seguinte fórmula vem à mente
[lucro] / [fundos investidos] / [número de dias] * 365 = [rentabilidade em% / por ano]
Ela realmente trabalha quando investe dinheiro e depois de um tempo decola mais.

O que devo fazer se depositar dinheiro em várias parcelas em momentos diferentes ou quando os pagamentos ocorrerem periodicamente? Nessa situação, é difícil entender quanto e quanto tempo havia na conta. Naturalmente, não sou o primeiro a encontrar esse problema e, no momento, existem duas soluções:

  1. . , . : , .
  2. IRR . , . ?

Se você somar todos os fluxos de caixa (subtrair investimentos e adicionar saques), a diferença resultante será receita. Por exemplo, eles investiram 10.000 rublos em um banco, um ano depois removeram 10.600 rublos, enquanto a renda foi de 600 rublos. Você também pode obter receita multiplicando o valor do investimento pela taxa de juros. Por exemplo, multiplicamos 10.000 rublos por uma taxa bancária de 6%, obtemos 600 rublos.

Mais interessante, alteramos os fluxos de caixa por um número que compensaria o lucro. Aqui está uma descrição mais competente , mas em essência toda a lógica está na seguinte fórmula:

TIR é o retorno anual desconhecido. Substituímos os valores do exemplo por um depósito bancário: - 10.000 rublos / (1 + 6%) ^ 0 + 10.600 rublos / (1 + 6%) ^ 1 = 0. Tudo converge. Agora resta expressar a TIR e calculá-la já programaticamente com a ajuda de loops ou a função PURE no Excel.

MVP no Planilhas Google


Para calcular a TIR, basta conhecer os valores das operações e as datas em que foram concluídas. Compilou várias colunas nas tabelas.



Anotei os nomes dos instrumentos, todas as operações neles (com mais - investimento, com menos - retirada), datas das operações e o valor dos ativos (quanto está agora na conta). Não vendo uma solução elegante usando fórmulas, continuei escrevendo um script. Os documentos do Google usam javascript cortado, para que não haja problemas com o aprendizado. Vá para Ferramentas -> Editor de scripts. Estamos escrevendo nosso código.

Nós obtemos os dados da tabela
var ss          = SpreadsheetApp.getActiveSpreadsheet(); //  
var sheet       = ss.getSheetByName("");         //   ""
var instruments = sheet.getRange("E4:F").getValues();    //          $
var operations  = sheet.getRange("A4:C").getValues();    // C      $   


Classificamos todas as operações
  
  ////////////    
  //    
  var dohNaProc = 0;
  //  
  var allDohod = 0;
  
  //   
  insts.forEach(function (inst,i){
    
    //    
    var summs = [];
    //     
    var dates = [];
    //    $
    var dohod = inst[1]; 
    
    //   
    ops.forEach(function(op,n){
      //     
      if(inst[0] == op[0]){ 
        //    
        summs.push(-1*op[2]);
        //  
        dates.push(op[1]);
        //  
        dohod -= op[2];
      }
      
    })    
    
    //  ,    
    summs.push(inst[1])
    //     0 ( ),    ,    
    //    - ,     
    dates.push( (inst[1] == 0) ? dates[dates.length-1] : new Date() )
    
    
    //        1   
    const dohodProc = (XIRR(summs,dates)*100).toFixed(1)
    
    //     
    dohNaProc += (dohodProc != 0) ? dohod/dohodProc : 0
    //   
    allDohod  += dohod
    
    //        2   
    dohod = dohod.toFixed(2)

    Logger.log(dohNaProc+" "+allDohod)
    //   
    var strN = 4+i
    //      %
    var func = '=ROUND((((SUMIFS(C$'+strN+':C;A$'+strN+':A;E'+strN+';C$'+strN+':C;"<0")*(-1)+F'+strN+')/SUMIFS(C$'+strN+':C;A$'+strN+':A;E'+strN+';C$'+strN+':C;">0"))-1)*100;1)';
   
    //   
    sheet.getRange("G"+strN+":I"+strN).setValues([ 
      [dohodProc.replace(".",","), dohod.replace(".",","),func]
    ]);

  })// end foreach insts
  

  //   
  const allDohodProc = (allDohod/dohNaProc).toFixed(1)
  //  
  sheet.getRange("G3").setValues([[". . "+allDohodProc+" % / "]]);



Enviar para a função de cálculo da TIR
function XIRR(values, dates, guess) {
  // Credits: algorithm inspired by Apache OpenOffice
  
  // Calculates the resulting amount
  var irrResult = function(values, dates, rate) {
    var r = rate + 1;
    var result = values[0];
    for (var i = 1; i < values.length; i++) {
      // result += values[i] / Math.pow(r, moment(dates[i]).diff(moment(dates[0]), 'days') / 365);
      result += values[i] / Math.pow(r, daysLag(dates[i],dates[0]) / 365);
    }
    return result;
  }

  // Calculates the first derivation
  var irrResultDeriv = function(values, dates, rate) {
    var r = rate + 1;
    var result = 0;
    for (var i = 1; i < values.length; i++) {
      // var frac = moment(dates[i]).diff(moment(dates[0]), 'days') / 365;
      var frac = daysLag(dates[i], dates[0]) / 365;
      result -= frac * values[i] / Math.pow(r, frac + 1);
    }
    return result;
  }

  // Check that values contains at least one positive value and one negative value
  var positive = false;
  var negative = false;
  for (var i = 0; i < values.length; i++) {
    if (values[i] > 0) positive = true;
    if (values[i] < 0) negative = true;
  }
  
  // Return error if values does not contain at least one positive value and one negative value
  if (!positive || !negative) return '#NUM!';

  // Initialize guess and resultRate
  var guess = (typeof guess === 'undefined') ? 0.1 : guess;
  var resultRate = guess;
  
  // Set maximum epsilon for end of iteration
  var epsMax = 1e-10;
  
  // Set maximum number of iterations
  var iterMax = 50;

  // Implement Newton's method
  var newRate, epsRate, resultValue;
  var iteration = 0;
  var contLoop = true;
  do {
    resultValue = irrResult(values, dates, resultRate);
    newRate = resultRate - resultValue / irrResultDeriv(values, dates, resultRate);
    epsRate = Math.abs(newRate - resultRate);
    resultRate = newRate;
    contLoop = (epsRate > epsMax) && (Math.abs(resultValue) > epsMax);
  } while(contLoop && (++iteration < iterMax));

  if(contLoop) return '#NUM!';

  // Return internal rate of return
  return resultRate;
}


Contamos o número de dias entre as datas
///     ////
function daysLag(d1, d2){
 //     js
 var date1 = new Date(d1);
 var date2 = new Date(d2);
 //  
 return( Math.ceil(Math.abs(date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)) ); 
}


Vá para a mesa, execute o script. O rendimento anual, considerando todas as operações e períodos, é calculado!



Adicionado todos os tipos de fórmulas e gráficos adicionais. Agora com certeza a beleza.



Para não atualizar o arquivo manualmente a cada vez, no Planilhas, você pode configurar o script para executar em um evento: abrir uma tabela, clicar, alterar. Para fazer isso, no editor de scripts, vá em Editar -> Acionadores do projeto atual. Definimos os seguintes valores lá.



Agora os cálculos são atualizados automaticamente. A mesa está pronta. Há algo a modificar, mas isso fará por mim.

II Cálculo de retornos anuais: análise da demanda


Antes de entender as fórmulas e escrever o código para calcular apenas um valor, procurei na Internet inteira e não encontrei uma solução pronta. Então, aparentemente, não há demanda. Mas agora que a tabela está pronta, "e ele viu que tudo saiu bem", tornou-se interessante verificar - existe alguma demanda em potencial por essa solução?

Como não tenho muitos investidores familiares para conduzir uma entrevista problemática, recorremos a métodos de verificação rápidos e acessíveis.



As estatísticas do Yandex mostram algum interesse nessa área, mas o tamanho do mercado não é suficiente para tornar rentável projetar e desenvolver um serviço separado.

Por outro lado, minha pesquisa no vc.ru mostrou que 46% usam tabelas para contabilidade.



Talvez, devido à pequena amostra, os resultados estejam dentro da margem de erro.

No entanto, há claramente pessoas que não encontraram o serviço finalizado e compilaram um tablet. E se a opção mais conveniente para eles ou as dificuldades forem tão insignificantes que você nem queira abrir o Google Play ou a App Store?

Para verificar essa suposição, criei uma pesquisa nos formulários do Google com a capacidade de deixar emails para uma versão bruta do programa.



Para preencher pelo menos algum tráfego, escrevi um artigo sobre vc. Resultado: 1095 visualizações, 1 pessoa deixou uma solicitação. A conversão de 0,1% não prova baixa demanda, pois depende também de muitos fatores: a clareza do artigo, os interesses do público, a localização da ação-alvo etc. O aplicativo recebido sugere que a pessoa não estava com preguiça de enviar e-mails para resolver problemas contábeis.

Para saber mais sobre o problema e as deficiências das soluções existentes - você precisa de pessoas. O tráfego de uma postagem gratuita é temporário e não é direcionado o suficiente. Decidi oferecer publicidade contextual para as principais consultas.

Você não pode enviar pessoas para a mesa imediatamente - elas não entenderão o que está acontecendo. Portanto, você precisa de uma página de destino e, quanto mais simples, melhor.

Aterrissagem


Abra o designer, Wix ou Tilda, selecione um modelo, altere o texto e os links, publique, pague. Assuntos por 20 minutos.



É simples, mas com o último parágrafo houve dificuldades. Após sua demissão, ele descansou um pouco mais do que o planejado, ele não quis desfazer as malas dos depósitos. Por algum tempo, tive que viver de maneira desigual, com pequenos dividendos. Naquele momento, não havia nem 700 rublos para pagar pela versão completa. Você não pode conectar análises, um domínio ou trabalhar no SEO de forma gratuita.

Eu tive que fazer melhor. Não foi encontrado um modelo de bootstrap gratuito muito assustador. Baixei, excluí os blocos extras, substitui o texto e as imagens.



Google Analytics


A principal tarefa é aprender o máximo possível sobre problemas, soluções, pessoas. Para coletar dados, usarei métricas Yandex, Google Analytics, Gerenciador de tags do Google, encurtador de link.

Por que duas análises da web? Em primeiro lugar, para verificar e entender a tempo se a análise não está funcionando corretamente. Em segundo lugar, é possível que no futuro eu forneça publicidade não apenas no Yandex, mas também no Google, e para uma campanha publicitária eficaz, precisamos de dados sobre o comportamento do usuário. Além disso, agora há uma oportunidade de simplesmente dizer ao Yandex: traga-me pessoas que comprarão este produto e a rede neural fará o resto. Portanto, é hora dos profissionais de marketing pensarem em uma nova profissão.

Por que GTM? O Gerenciador de tags do Google é uma maneira moderna de conectar análises, que oferece os seguintes benefícios:



  • .
    .

  • , ,
    . , ,
    , .

  • GTM ,
    .

  • , ,
    , .

  • Tag Manager
    , , -.


  • .

Criamos um novo contador e copiamos o código HTML na métrica Yandex.



Vamos ao Gerenciador de tags do Google, criamos uma conta e um contêiner.



Após o qual o serviço mostrará um código para se conectar ao site. Clique em Criar etiqueta. Uma tag é uma configuração do que deve ser iniciado (configuração da tag) e em qual evento (gatilho).



Na configuração da tag, selecione "HTML personalizado", insira o código métrico e, como gatilho - "veja todas as páginas". Agora, ao visualizar qualquer página, o usuário iniciará a métrica Yandex.

Neste exemplo, o benefício não é muito grande, seria mais fácil inserir um contador diretamente, mas a configuração de eventos por meio do GTM é muito mais útil.

Retornamos à métrica. Configurações -> Metas -> Adicionar meta. Nós criamos um nome e um identificador, eles devem ser breves e descrever o objetivo.



Marquei a caixa ao lado de Redirecionamento, para que a campanha publicitária possa se concentrar nesse objetivo quando atrair pessoas. Copie o código abaixo, salve e vá para GTM. Crie uma nova tag, como antes, cole o código copiado. Crie um novo gatilho, desta vez com o tipo Click.



Aqui, no meu caso, selecionamos "alguns cliques" e definimos que o gatilho será ativado ao clicar em um elemento com um ID igual a btn_sheet. Para encontrar o ID do item - acesse o site pelo Chrome, pressione Ctrl + Shift + C e clique no item.



Salve o gatilho, clique em "Visualizar" e acesse o site.



Um console aparecerá no site para verificação. Acima estão os eventos que foram concluídos, abaixo estão todos os outros. Clicamos no botão e o evento correspondente deve subir. Se sim, então você pode seguir em frente.

Google analytics


Estamos registrados no Analytics, criamos uma conta e um recurso.



Aqui será muito mais fácil, pois o GTM tem integração com o Analytics. Para conectar, basta selecionar a tag apropriada.



Para adicionar eventos, você não precisa copiar e colar o código HTML, eles também podem ser configurados na tag correspondente. Após criar todos os gatilhos, você pode publicar a versão, clique em "Enviar". Agora o Analytics e o Metric estão configurados.

Encurtador de links


Eu pretendo criar o seguinte funil: publicidade -> site -> tabela -> formulário para gravação para teste. Da publicidade à tabela, as informações sobre o usuário serão enviadas para o Metrica, mas seus passos adicionais permanecem um mistério.

Para calcular as transições, decidi usar um encurtador de link. Existem muitos desses sites. Depois de analisar cinco peças, escolhi a mais ideal - clicar . Ele pode:

  • Alterar o nome abreviado do link após a criação
  • Mostra países e dispositivos de usuários
  • Adicione seu próprio domínio (versão paga)
  • Adicione um pixel para mais rastreamento (versão paga)

Links criados e registrados para rastrear as seguintes transições:

  • De publicidade em Yandex a uma tabela
  • Da publicidade em Yandex ao teste da versão web
  • Da publicidade Yandex ao teste de aplicativos iOS
  • Da publicidade no Yandex ao teste de aplicativos Android
  • Do site para a tabela
  • Do site ao teste
  • Da tabela para o teste

Hospedagem e domínio


Hospedagem registrada em Timeweb por 179 rublos. É grande, funcional e barato. Lá, ele assumiu um domínio na zona .ru pelos mesmos 179 rublos + um certificado SSL gratuito (mostra que o site pode ser confiável). O nome do domínio é neutro, para que no futuro você possa criar quantos subdomínios desejar gratuitamente (por exemplo, poddomen.neitralnoe-nazvanie.ru) e verificar outros projetos para eles. É conveniente registrar tudo em um só lugar, então você não precisa vincular o domínio e o servidor, conectar o certificado, tudo acontece automaticamente. Carrego todos os arquivos do site no servidor através do gerenciador de arquivos Timeweb - o site está pronto.

Não vou lhe dizer como enganar os serviços - apenas direi que recebi outro bônus de 200 rublos de acordo com o programa de referência e meu amigo também recebeu 200 rublos. Os gastos totais foram para (179 + 179-200) 158 rublos (se meu amigo fosse eu, eu ficaria no preto por 42 rublos).

Propaganda


O site está pronto, agora são necessárias apenas pessoas. Existem muitas estratégias de publicidade. Na minha situação, eu precisava de uma abordagem com um orçamento mínimo, o que significava que eu poderia atrair apenas um pequeno número de pessoas. Consequentemente, esses usuários precisam ser o mais direcionados possível. Ou seja, apenas aqueles que precisam exatamente do meu produto.

Eu também preciso de conversões máximas. Ou seja, para que o maior número possível de pessoas vá para cada etapa seguinte da anterior. Existem três etapas agora: publicidade -> site -> tabela -> registro para teste. Decidi obter alta conversão usando simplicidade, conveniência, relevância, melhoria contínua por meio de experimentação e pesquisa de usuário.

A escolha recaiu sobre a publicidade contextual com consultas de baixa frequência. Ou seja, a exibição de publicidade nos resultados da pesquisa para pequenas consultas de pesquisa - elas diminuem a concorrência e o custo por clique.

Seleção de palavras-chave


Primeiro, você precisa coletar o maior número possível de palavras associadas à área do meu produto. Eu tenho duas colunas: ação e palavra base. Não há muitos pedidos nessa área, mas em outro pode haver mais, por exemplo, endereço, cor, características etc.



Lançamos as palavras - chave recebidas no combinador (existem muitas, todas são iguais em termos de funcionalidade).



O serviço corresponde a cada palavra com cada uma das colunas, resultando em várias frases. Após o download do SlovoEb - este é o nome real do programa de marketing gratuito e muito útil. Vá para Configurações -> Análise -> Yandex.Direct. Adicionamos a nova conta Yandex criada (não pessoal, ela pode ser bloqueada).



Salve ainda mais, vá para Dados -> Adicionar frases. Cole a lista obtida na frase combinator. Depois, vamos para a seção Coleta de dados.



Tenho frases bastante curtas (de duas palavras) - talvez existam frases mais longas e, portanto, raras (de baixa frequência). Portanto, clico na coleção Lote na coluna esquerda. O programa encontrará todas as consultas que contêm o conteúdo dessas frases que o Yandex pesquisou anteriormente. Depois de concluir a análise, pegue as frases-chave com uma coluna de frequência e ative o Excel.

Yandex Direct


Vamos configurar o Yandex.Direct: clique em Adicionar -> Campanha -> Anúncios de texto e gráficos.



Agenda de impressões, deixo a região como está. Meu produto pode ser usado a qualquer hora, em qualquer lugar. Conecto o contador de métricas Yandex, atribuo uma estratégia: mostre apenas a pesquisa manual e o gerenciamento de lances. Isso significa que o Yandex sempre tentará exibir meu anúncio, independentemente do preço do clique dos concorrentes. Eu acho que com essas frases de baixa frequência será pequeno.



Nos ajustes de lance, reduzo o lance para smartphones ao mínimo. Será mais difícil para o usuário descobrir a tabela no smartphone, o que significa que eles terão uma conversão ruim.

Trago frases negativas com base nos pedidos que recebi anteriormente. Alguém está procurando métodos específicos, autores de cursos ou itens de um campo completamente diferente. Por exemplo, a consulta “comparando o ativo 1 e o ativo 2” acabou não sendo sobre finanças, mas sobre modelos de relógios. Além disso, na Internet, existem listas universais de frases negativas. No meu caso, este é um curso, diploma, tarefa etc. Nesse estágio, você não pode cortar todas as solicitações irrelevantes; portanto, será necessário monitorar constantemente análises e novas frases.

Nas configurações avançadas, deixo a segmentação geográfica avançada, adicione meu bate-papo com um operador baseado no Yandex. Agora, é importante que eu me comunique com os usuários o máximo possível. Vá para Yandex-Dialogs, Criar bate-papo -> Bate-papo para empresas.



É importante adicionar um ícone da mesma forma que no site. Eu crio uma imagem de 2 tamanhos. favicon.png 64x64 px para o site, você precisa soltá-lo na pasta com o site. E o mesmo 224x224 para diálogos.



Depois de salvar na guia Widget, você precisa copiar o código e adicioná-lo ao seu site para que o diálogo com o operador possa ser aberto não apenas no mecanismo de pesquisa, mas também no site. Em seguida, na guia Geral, copie o identificador de diálogo e cole-o na empresa de publicidade Yandex.Direct.



Também incluo o item "interromper anúncios quando o site estiver fora do ar" e salvar a campanha publicitária.

Realizaremos mais edições na tabela do Excel; portanto, na interface, criamos um grupo e um anúncio apenas por exemplo. Adicionar -> Grupo. Aqui você precisa escrever qualquer linha nas frases-chave. Após salvar, o Direct oferecerá a criação de um anúncio.

Martelamos em qualquer posição, primária e secundária. O texto do anúncio pode ser escrito imediatamente algum universal. A imagem e o vídeo não são adicionados até que não haja tempo para usar os criativos. Apenas anúncios de texto serão exibidos, também há mais conversões.

Não tenho informações de contato e um cartão de visita virtual. Você pode adicionar mais informações à página de transição. Por exemplo site.ru/#invest-programa. Embora não leve a uma página separada, aumenta o tamanho do anúncio, tornando-o mais visível. Se cada solicitação tiver um link com o nome correspondente, será mais relevante para o usuário.

Adicione refinamentos e links rápidos. É aqui que os links rastreados criados anteriormente no encurtador serão necessários. Eu crio o seguinte:

  • planilha do Excel
  • Aplicação web
  • aplicativo para iOS
  • Aplicativo para Android

Três deles levam à mesma forma de gravação para teste, portanto, esta é uma oportunidade de descobrir ao mesmo tempo qual usuário de formato de aplicativo deseja. Adicione uma descrição aos links - novamente, para aumentar o tamanho do anúncio. Salve .

Adicionando anúncios através do Excel


Para configurações mais precisas, vale a pena criar um anúncio para cada frase de palavra-chave. Eu tenho mais de 100 deles. E é melhor criar 2 frases adicionais, 2 textos e, combinando, obter 4 anúncios para cada frase-chave. O algoritmo já identifica empiricamente os mais conversores. Essa quantidade não é realista na interface, então vá para Ferramentas -> Gerenciar com Excel. Faça o download da tabela.



Parece assustador, mas como pré-preenchemos um grupo e um anúncio, você pode descobrir. Excluímos o ID do grupo, frases, anúncios e, ao fazer o upload para o Yandex.Direct, novos anúncios serão criados e não atualizados.

Voltamos às frases-chave que coletamos anteriormente. Aqui você só precisa suar. Excluímos tudo o que não se encaixa no contexto.



Voltamos ao descarregamento. A linha do anúncio precisa ser copiada quantas vezes houver frases-chave. Em seguida, insira a coluna das frases-chave em 3 locais: nome do grupo, frase, título. Sim, a solicitação do usuário será completamente duplicada no cabeçalho do anúncio, para obter a conversão máxima. Se exceder 35 caracteres, você precisará aparar. Isso é tudo, a seguinte imagem acabou. Como eu disse, se desejar, você pode criar várias combinações de anúncios.



Salve e carregue de volta ao Direct. Era para ser um monte de grupos, cada um com uma frase-chave e um anúncio. Em princípio, seria possível criar vários grupos, cada um com várias frases-chave com significado comum e o mesmo número de anúncios com o cabeçalho correspondente, mas o Yandex nem sempre escolhe o anúncio corretamente. Não sei com o que isso está conectado.

Você pode pagar e executar a campanha. Para essa publicidade de baixa frequência, se tudo for feito corretamente, você poderá manter dentro de 10.000 rublos. Eu joguei 1500.

resultados


Como existem poucos usuários com esse orçamento, tive a oportunidade de acompanhar praticamente cada um individualmente.

Usando o Metrica, examinei a consulta que ele inseriu, na qual ele aprendeu novas áreas de problemas e adicionou frases negativas aos anúncios. Por meio do Webvisor, acompanhei todas as ações no site. Estudei caminhos e erros de navegação de link nos registros do Google Apps.

Vamos passar para os números.





As conversões são realmente boas, mas, repito, concentrei-me em um pequeno número de usuários super segmentados. Se você aumentar a cobertura, precisará alterar a estratégia, aumentar o orçamento e tolerar uma diminuição na conversão.

Além disso, de uma quantidade tão pequena não deriva nenhuma estatística. Isso não quer dizer que 20% dos usuários do MVP se inscrevam para o teste; se falamos de apenas dois em cada dez, eles podem estar dentro da margem de erro.

Aparentemente, 342 rublos foram gastos durante o mês. a um custo de clique de 1,54 rublos. Isso representa apenas 20% do orçamento orçado, então talvez mais tarde lance outra campanha com um aumento no público e adicionarei mais informações úteis à página de destino - mas, no momento, tudo está funcionando exatamente como pretendido.

All Articles