Modelagem de receita: o que é e como montar a fonte única
Fim do mês, reunião de resultado. Marketing traz um número de receita nova, Vendas traz outro, o Financeiro traz um terceiro — todos do mesmo período, todos “certos”, e nenhum bate. O problema não é que alguém mente: é que cada um calcula “receita” de uma fonte diferente, na sua planilha. Isso não se resolve com mais reunião, se resolve com modelagem. Este guia cobre o que é modelar receita, o modelo de movimentação de MRR que faz toda métrica fechar por construção, como montar a base em nível de negócio e as armadilhas de quem já implementou.
O que é modelagem de receita
O problema da reunião de fechamento não é falta de dashboard. É que os três times estão calculando “receita” a partir de fontes diferentes, com definições diferentes, cada um na sua planilha — não existe um lugar onde “receita” queira dizer uma coisa só. Modelar receita é fechar esse buraco: você desenha, uma vez, a estrutura de dados que representa a sua receita, e faz todo mundo ler dela.
Na prática, é pegar o dado cru — assinaturas no billing, contratos no CRM, faturas no ERP — e transformar em tabelas-fato e dimensões que representam o negócio. É a modelagem dimensional que Ralph Kimball formalizou nos anos 90: uma tabela-fato guarda o evento mensurável (a receita, no grão de cliente por mês) e dimensões guardam o contexto descritivo (quem é o cliente, qual o plano, qual o mês)[1]. O que faz isso virar fonte única da verdade é a dimensão conformada: a mesma dimensão “cliente” servindo todos os fatos, para que “cliente” signifique a mesma coisa em toda métrica[1].
No SaaS, o coração da modelagem de receita é o modelo de movimentação de MRR (MRR movement model): em vez de guardar só “quanto o cliente paga este mês”, você guarda a mudança — quanto entrou de cliente novo, quanto cresceu por expansão, quanto encolheu por contração (downgrade), quanto sumiu por churn, quanto voltou por reativação. É esse modelo que faz MRR, NRR, GRR, receita de expansão e churn serem cinco leituras da mesma base, e não cinco cálculos independentes que divergem. Quando alguém pergunta “por que a NRR e o churn não fecham?”, quase sempre a resposta é: foram calculados de fontes diferentes. Modelou uma vez, a pergunta morre.
A versão moderna da mesma ideia é a camada semântica (semantic layer): ferramentas como o dbt Semantic Layer deixam você definir a métrica uma vez, em código versionado, e reusar em todo lugar — o BI, a planilha e o agente de IA leem a mesma definição[3]. Muda a regra num lugar, muda em todos. É a modelagem dimensional do Kimball levada para a camada de métricas.
Vale separar de dois vizinhos com quem se confunde. Modelagem não é forecast de receita — “revenue modeling” no sentido financeiro é projetar receita futura numa planilha; aqui o tema é a arquitetura de dados da receita que já aconteceu. E não é reconhecimento de receita — a regra contábil de quando o dinheiro vira receita. Modelagem é onde e como esse dado vive para ser consultado. É a fundação sobre a qual as outras duas ficam de pé: engenharia de dados chama de “modelo dimensional”, RevOps chama de “single source of truth de receita”, e o executor chama de “por que os relatórios não batem”.
O grão certo, na prática
Modelagem de receita não é uma fórmula — é uma estrutura de dados. O que se decide é o grão da tabela-fato e a classificação de cada mudança. O modelo canônico no SaaS é o fato de MRR no grão cliente × mês × tipo de movimento, com a variação do mês decomposta: ΔMRR = novo + expansão − contração − churn + reativação. A identidade que amarra tudo — e garante que a base fecha — é MRRfim = MRRfim anterior + ΔMRR. Um mês trabalhado, começando com R$ 100.000 de MRR:
| Movimento | Origem | Valor |
|---|---|---|
| MRR novo | 4 clientes novos | + R$ 8.000 |
| MRR expansão | 3 upgrades na base | + R$ 5.000 |
| MRR contração | 2 downgrades | − R$ 2.000 |
| MRR churn | 1 cancelamento | − R$ 3.000 |
| MRR reativação | 1 cliente que voltou | + R$ 1.000 |
| ΔMRR do mês | + R$ 9.000 |
Repare: cada linha é uma métrica que alguém já pediu num relatório. Modeladas juntas, elas fecham por construção — a soma dos movimentos é o ΔMRR, e o ΔMRR reconcilia o saldo. Não modeladas, cada uma vira uma query solta que ninguém consegue reconciliar.
A pegadinha mora no grão. O erro estrutural mais caro é guardar um snapshot só (“MRR total do mês = X”) sem a decomposição por cliente e por tipo de movimento. Aí você nunca vai conseguir derivar NRR, expansão e churn depois — a informação foi perdida na hora de modelar, e nenhuma query recupera o que não foi guardado. O grão precisa ser fino o bastante (cliente × mês × tipo de movimento) para todas as métricas nascerem dele. Grão grosso demais é uma decisão barata de tomar e cara de descobrir — três meses depois, quando o board pede NRR por coorte e não tem de onde tirar.
Modelagem, forecast ou reconhecimento — o que é cada um
Três coisas dividem a palavra “receita” e vivem sendo confundidas na conversa. Elas não competem — se empilham: um bom forecast e um reconhecimento correto dependem de uma base bem modelada embaixo. O que muda é a pergunta que cada uma responde.
| Conceito | O que é | Pergunta que responde |
|---|---|---|
| Modelagem de receita | Estrutura de dados da receita que já aconteceu (fato + dimensões) | Onde e como esse dado vive para toda métrica ler dele? |
| Forecast de receita | Projeção da receita futura (planilha, modelo de valuation) | Quanto vamos faturar? |
| Reconhecimento de receita | Regra contábil de competência (entregou, não só cobrou) | Quando o dinheiro vira receita? |
Onde os números costumam estar
Quem precisa entrar
- 1 Alinhe a definição de cada métrica antes de modelar — o que é MRR, expansão, contração, churn e reativação na sua empresa. Modelo é a definição virada estrutura; definição solta vira modelo bagunçado. Decisão de mão única vira ADR.
- 2 Escolha o grão da tabela-fato — para SaaS, cliente × mês × tipo de movimento. Fino o bastante para derivar NRR, GRR, expansão e churn; grosso o bastante para não virar log de transação.
- 3 Unifique a chave de cliente — um id único que amarra billing, CRM e CS. É a dimensão conformada na prática; sem ela, o mesmo cliente vira três e toda retenção mente.
- 4 Classifique cada mudança de MRR em novo / expansão / contração / churn / reativação. É o miolo do modelo — o que faz cinco métricas saírem de uma base.
- 5 Reconcilie o total contra o financeiro — a soma do MRR modelado tem que bater com a contabilidade. Não bateu, o modelo está errado; conserta antes de publicar.
- 6 Publique como fonte única — painel, planilha e board leem da mesma base, idealmente numa camada semântica onde a definição de cada métrica vive como código versionado.
Armadilhas comuns
Estes são os erros que mais aparecem quando ajudamos um time a montar a base de receita do zero — quase todos de instrumentação e identidade de dado, não de teoria.
Modelar no grão errado e descobrir tarde
O erro mais caro é o mais silencioso: guardar só o MRR total por mês, sem quebrar por cliente e por tipo de movimento. Parece suficiente — até o dia em que pedem NRR por coorte, ou expansão versus contração, e a informação simplesmente não está lá. Ela foi jogada fora na hora de modelar. A consequência: você refaz o modelo inteiro meses depois e, no meio-tempo, decide sem os números que mais importam.
Cada métrica virar uma query solta
MRR sai de uma planilha, NRR de outra, churn de um relatório do CS, e nada reconcilia. Acontece porque é mais rápido resolver cada número na hora que alguém pede do que modelar a base. A consequência é a reunião de fechamento onde três pessoas trazem três receitas do mesmo mês — e a empresa gasta a reunião discutindo qual número é real em vez de decidir.
Não ter uma chave única de cliente
O cliente é “Empresa X Ltda” no billing, “Empresa X” no CRM e “empresa x” na planilha do CS. O modelo trata como três, porque ninguém é dono da identidade do cliente entre sistemas. A consequência é brutal em retenção: um upgrade vira “cliente novo + cliente que sumiu”, sua NRR despenca no papel sem nada ter acontecido de verdade, e você caça um problema que é de dado, não de negócio.
Deixar a definição da métrica dentro do BI
A regra de “o que conta como churn” mora dentro de um relatório do Power BI, escondida numa fórmula que uma pessoa escreveu. Aí alguém cria outro relatório, redefine churn do jeito dele, e agora existem dois churns. A consequência: toda vez que a definição muda, alguém esquece de mudar num dos lugares e as métricas divergem de novo. Definição de métrica é modelagem — mora na camada de dados, não no BI[3].
Modelar sem reconciliar com o financeiro
A base fica linda, os movimentos batem entre si, todo mundo confia. Só que a soma do MRR modelado não bate com a contabilidade, porque o time de dados modelou olhando o billing e nunca cruzou com a contabilidade. A consequência: o board descobre a diferença na pior hora possível — uma due diligence, um fechamento anual — e a base inteira perde a credibilidade de uma vez.
Confundir modelagem com reconhecimento de receita
O time modela “receita” jogando o valor cheio do contrato no mês da venda, sem separar o que já foi entregue, porque olha o CRM (bookings) e não a competência. A consequência: a base infla no mês da venda e some depois — o modelo herda o erro contábil e propaga em velocidade industrial para toda métrica que lê dele. Modelagem organiza o dado; reconhecimento define quando ele vira receita — os dois têm que estar certos.
Checklist de modelagem
FAQ
Perguntas frequentes sobre modelagem de receita
As dúvidas que mais aparecem de quem vai montar a base.
Modelar receita é trabalho de time, não de dashboard
Desenhar o grão, unificar a chave de cliente entre billing, CRM e CS e classificar cada movimento de MRR não é algo que um dashboard pronto resolve — é fundação, e fundação se constrói com quem já casou esses sistemas antes. É o trabalho que o time de RevOps da Incuca faz: monta a base única de onde MRR, NRR, GRR, expansão e churn nascem juntos e fecham por construção, reconciliada com o seu financeiro.
Referências
- [1] Kimball Group. Dimensional Modeling Techniques — Star Schemas and Conformed Dimensions (técnica de fato + dimensão introduzida por Ralph Kimball em The Data Warehouse Toolkit, 1996; dimensão conformada como base da fonte única da verdade). https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/
- [2] Gartner. Data Quality: Why It Matters and How to Achieve It (poor data quality custa às organizações, em média, US$ 12,9 milhões por ano; atribuído ao Magic Quadrant for Data Quality Solutions, 2020). https://www.gartner.com/en/data-analytics/topics/data-quality
- [3] dbt Labs. dbt Semantic Layer (definir a métrica uma vez, em YAML versionado, e reusar em todo tool — a métrica muda num lugar e atualiza em todos). https://docs.getdbt.com/docs/use-dbt-semantic-layer/dbt-sl