analytics:read.
De onde vêm
Elas não saem dos eventos rastreados. São recalculadas toda noite a partir das suas assinaturas e faturas — o espelho do que seu gateway de pagamento guarda — em uma linha por ambiente, dia UTC e moeda.As linhas são por moeda, e nunca somadas entre si
Dois preços em duas moedas são dois valores que alguém escolheu, não conversões um do outro, então nada aqui os soma.fx_rate e fx_rate_source existem para que,
no dia em que um total convertido for desenhado, a taxa usada e a origem dela
estejam na linha, e não na cabeça de quem desenhou o gráfico. Enquanto não houver
uma fonte de taxa, eles ficam em null e "" — o que manda o leitor conferir, em
vez de afirmar uma conversão que ninguém fez.
O que cada número significa
Os quatro baldes de movimento particionam a diferença por cliente entre D-1 e
D, por moeda: novo quando ontem era zero, churn quando hoje é zero, expansão e
contração para um movimento entre dois valores não nulos. Um cliente que faz
upgrade e outro que faz downgrade no mesmo dia aparecem nos dois baldes do meio,
em vez de se anularem.
Normalização
O anual é amortizado. Um preço anual divide por 12, um semanal multiplica por 52⁄12, um diário por 365⁄12, e um preço cobrado a cada n intervalos se espalha pelo próprio período. MRR é uma taxa mensal, então todo intervalo é expresso nela. Preços avulsos nunca entram no MRR. Um lifetime é receita, não receita recorrente; ele aparece nas faturas e na receita por canal. Trials ficam de fora. Um trial é uma promessa de talvez pagar, e contá-lo lança uma receita que dá churn em silêncio quando o cartão nunca é digitado. Uma assinatura entra no MRR quando o trial termina — lido do timestamp de fim do trial, e não da coluna de status, para que um webhook que ainda não viroutrialing em active não esconda uma conversão.
Descontos, proporcionalidade e imposto entram pela fatura, nunca pelo preço. O
que o cliente concordou em pagar é a linha imutável do catálogo que este rollup lê,
então o MRR aqui é MRR contratado. Caixa — o que de fato entrou, cupons e
proporcionalidade inclusos — é o dinheiro da fatura, e é o que a receita por canal
conta.
LTV é o ARPA dividido pela taxa mensal de churn de logos, sobre uma janela
móvel de 30 dias: clientes que pagavam 30 dias atrás e hoje não pagam nada,
sobre clientes que pagavam 30 dias atrás. Sem churn nessa janela a resposta é
null, não infinito — um LTV indefinido não é um LTV enorme, e o null manda o
leitor para a coluna de churn em vez de imprimir um número que ninguém deveria
usar para planejar.
NRR é uma janela de 12 meses: o que os clientes que pagavam 365 dias atrás
pagam hoje, sobre o que pagavam então. null quando não havia essa coorte.
Status sem timestamp que os situe no tempo — pausado, incompleto, desconhecido —
ficam de fora em vez de serem chutados. Uma assinatura pausada afirmando receita
seria exatamente a tranquilização que faz alguém parar de conferir.
O que um espelho reconstrói, e o que não
Estes números vêm de uma cópia do que seu gateway guarda, e o gateway reescreve as próprias linhas no lugar. O início de uma assinatura, seu cancelamento e o fim do trial têm timestamp, então um dia passado pode ser valorado com honestidade. Uma mudança de quantidade não tem. Um número de assentos que foi de 3 para 5 é lido como se sempre tivesse sido 5. Por isso o job noturno recalcula cerca de 8 dias UTC e congela tudo o que é mais antigo como foi escrito. Esse congelamento é a única história que um espelho consegue guardar — e é por isso que reprocessar mais fundo repintaria o trimestre passado com a contagem de assentos deste. Uma correção dentro da janela entra sozinha na próxima rodada; fora dela, o que está guardado é a história.Receita por canal de aquisição
- Um cliente é um time, e um time não tem landing page — uma pessoa tem. O canal de um cliente é, portanto, a atribuição de primeiro toque do contato fundador: a associação mais antiga, com empate resolvido de forma determinística.
- Colegas não ganham canal próprio. Quem foi convidado para um time chegou pelo seu produto, não por uma campanha, e creditar o UTM dessa pessoa creditaria a porta errada.
- Clientes importados mantêm o canal que os conquistou, porque uma linha importada carrega a própria atribuição e ela nasce junto com o contato.
- O dinheiro é o da fatura: o que foi realmente pago, com descontos e proporcionalidade, na moeda da própria fatura, agrupado por moeda e nunca somado entre moedas.
utm_*vazio é a forma honesta de “nenhuma atribuição registrada” — direto, ou um contato criado antes de a atribuição existir.
?ref= viaja nesse mesmo primeiro toque, e é sobre ele que as
indicações são devidas — a mesma captura respondendo a
uma pergunta diferente: esta aqui diz qual canal ganhou o cliente, aquela diz
quem recebe por isso.