Receita e custo fecham na mesma base

Quanto cada usuário gera — e quanto ele custa.

O DuckLedger é a camada de métricas de receita que também conhece o outro lado da conta. MRR normalizado, cascata de movimentos, coortes, churn e retenção; nuvem, APIs de IA, despesas e fornecedores. E a resposta que só existe quando os dois lados fecham: margem por produto, por cliente e por usuário.

Multi-produto · RBAC · Segredos criptografados · Sem arqueologia de planilha

Exemplo · mês corrente

MRR

R$ 248,4k

Margem bruta

63,3%

Custo / usuário

R$ 3,12

LTV:CAC

4,1×

Métricas de receita completas

MRR, ARR, cascata, NRR, GRR, coortes e funil de conversão.

Custo com dono

Nuvem, IA e despesas rateadas até o produto que as gerou.

Margem por usuário

Receita menos custo direto, no nível da pessoa e da sessão.

O que ele responde

As perguntas que nenhuma metade da conta responde sozinha

Uma ferramenta de receita sabe quanto entrou. Uma ferramenta de FinOps sabe quanto saiu. Nenhuma das duas fecha a conta de um cliente específico. Estas são as perguntas do DuckLedger.

Receita

Por que o MRR mudou este mês?
Cascata tipada: novo, expansão, reativação, contração e churn — cada movimento gravado uma vez, nunca revisado.
A base retém ou só cresce por cima do vazamento?
NRR, GRR e quick ratio ancorados no snapshot de abertura do mês.
Quantos trials viram cliente pagante?
Funil de trial e free→paid com desfecho registrado quando acontece, sobre resolvidos e não sobre iniciados.
Quanto vem do Pix, do cartão e das lojas?
Asaas, App Store, Google Play e RevenueCat em um ledger só, com taxa e estorno separados do bruto.

Custo

Qual produto gastou os R$ 8 mil de AWS?
Cost Explorer importado e rateado por workspace, não uma linha só de “infra”.
Quanto o modelo de IA custou por feature?
Custo por provedor, projeto e chave, atribuído ao produto que fez a chamada.
Este custo serve o cliente, compra o cliente, ou nenhum dos dois?
Classificação explícita — custo de receita, aquisição ou overhead. Sem classificar, a margem não é inventada.
Qual é o custo fixo real por produto?
Despesas manuais, recorrentes e importadas por CSV, com fornecedor e categoria.

Por usuário

Quanto custa atender este usuário?
Eventos de uso e traces com custo medido ou estimado, somados por pessoa e por sessão.
Este cliente paga o que consome?
Receita líquida atribuída ao cliente menos o custo direto dele — o resultado de contribuição.
Quanto custou aquela conversa de IA?
Trace por conversa, checkout ou job, com cada passo, provedor e moeda visíveis.
O LTV cobre o CAC — em lucro, não em receita?
LTV calculado sobre lucro bruto, payback por coorte e churn ponderado por margem.
A junta

Do checkout ao lucro são seis etapas. Quase ninguém atravessa a quarta.

Ferramentas de receita param na etapa 3. Ferramentas de custo de nuvem começam na 4 e nunca conhecem a receita. A pergunta “este cliente dá lucro?” mora exatamente na junta — e exige receita e custo do mesmo produto, no mesmo período, na mesma moeda.

  1. 1

    Cobrança

  2. 2

    Assinatura

  3. 3

    Analytics

  4. 4

    Custo

  5. 5

    Rateio

  6. 6

    Lucro

  • Ferramentas de receita23

    MRR, churn, coorte

  • Ferramentas de FinOps45

    custo de nuvem por tag

  • DuckLedger26

    atravessa a junta

A gateway move o dinheiro na etapa 1. O DuckLedger explica as cinco seguintes.

Lado da receita

Métricas de assinatura que fecham com o extrato

Não é um painel de MRR bonito por cima de um CSV. É um ledger de movimentos, snapshots diários e desfechos gravados quando acontecem — porque uma assinatura cancelada não lembra mais quanto valia.

MRR e ARR normalizados

Semanal, mensal, trimestral, semestral e anual comparados depois de normalizar. Trocar 99/mês por 1.800/ano é expansão de 51, não de 1.701.

Cascata de movimentos

Novo, expansão, reativação, contração e churn — com churn voluntário separado do involuntário pelo status de onde a assinatura saiu.

Coortes e retenção

Retenção por coorte, ARPU, tempo de vida e NRR/GRR ancorados no snapshot que abriu o mês.

Funil de trial e free→paid

Desfecho escrito uma vez e nunca recalculado. Taxa sobre resolvidos, com a população em aberto sempre visível ao lado.

Lojas e in-app purchase

RevenueCat resolve Apple, Google e web de uma vez; App Store e Play também conectam direto. Comissão e estorno separados do bruto.

Cobrança brasileira

Asaas nativo: Pix, boleto, cartão e assinaturas, com webhook idempotente e conciliação por conta de gateway.

Segmentação e projeção

Atributos de cliente, segmentos salvos e previsão de receita a partir dos movimentos observados.

Atribuição de receita

Cada pagamento resolvido até o produto que o gerou — e não “em algum lugar da gateway”.

Lado do custo

Todo custo com um dono e uma classificação

Custo sem produto não vira margem. O DuckLedger importa o gasto onde ele nasce, atribui ao workspace e obriga uma pergunta que a contabilidade não faz: isto serve o cliente, compra o cliente, ou nenhum dos dois?

AWS Cost Explorer

Sincronização automática do gasto por serviço, com despesa criada por competência e rateio por produto.

APIs de IA por provedor

OpenAI, Anthropic, OpenRouter, Gemini e mais, com sync diário e atribuição por projeto, chave e workspace.

Despesas de verdade

Manuais, recorrentes e importadas por CSV, com fornecedor, categoria e data de competência.

Classificação de custo

Custo de receita, aquisição ou overhead. Toda categoria nasce overhead, para que nada infle margem ou CAC no silêncio.

Rateio por produto

Custo compartilhado fica na organização; o P&L de cada workspace continua limpo e comparável.

Custo unitário

Motor de fórmula auditável: custo total sobre usuários ativos, operações ou requisições — a métrica que você define.

A conta que fecha

LTV em lucro bruto, não em receita acumulada

Um LTV de receita diz quanto o cliente vai pagar. Só o LTV sobre margem diz quanto disso você fica — e é a única versão comparável com o que custou trazê-lo. Quatro números que nenhuma ferramenta só de receita consegue produzir.

margem bruta  = (receita − custo de receita) / receita
CAC           = investimento de aquisição / novos clientes
LTV (margem)  = ARPU × meses de vida × margem bruta
LTV:CAC       = LTV (margem) / CAC
payback       = CAC / (ARPU × margem bruta)

Um mês que não trouxe ninguém não tem CAC zero: não tem CAC. Uma margem negativa não tem payback. O número volta nulo em vez de mentir.

Ilustração de métricas operacionais convergindo em um prisma de custo unitário

Coortes de lucro

Todo mundo mostra retenção de receita por coorte. Aqui a coorte acumula lucro bruto até cobrir o que custou adquiri-la — e o mês em que isso acontece tem nome.

Churn ponderado por margem

Perder um cliente de margem alta e um de margem negativa não é o mesmo evento. Um deles melhora a empresa.

Caixa e competência não se somam

A taxa de margem sai do P&L; a receita recorrente vive na sua própria base. Levar a taxa para o MRR é prática padrão — somar caixa com MRR é o erro que essa separação existe para impedir.

Por usuário e por sessão

O custo de servir uma pessoa, evento por evento

Custo médio por usuário ativo é uma divisão, não uma medição. Instrumente o que o produto realmente faz — e cada chamada de modelo, job e conversa passa a ter dono, sessão, moeda e valor.

SDK Node

Uma chave de ingestão e um pacote. Lote, retentativa e idempotência por ID de evento.

Supabase / PostgreSQL

O uso já existe nas suas tabelas: uma view somente leitura e uma consulta agendada.

PostHog

Eventos já padronizados entram direto, com host, projeto e chave pessoal.

await usage.withTrace(
  {
    kind: 'conversation',
    name: 'Support chat',
    subject: user.id,
  },
  async (trace) => {
    trace.step('retrieveContext');

    usage.track({
      type: 'ai.tokens_spent',
      data: {
        model: 'gpt-4o',
        prompt_tokens: 1200,
        completion_tokens: 400,
      },
    });
  },
);

Tokens sem custo informado são precificados pela tabela pública e marcados como estimados. Passe o custo medido e ele substitui a estimativa.

Ilustração de nós de produto convergindo em um ledger financeiro central
  • Traces que correlacionam o trabalho inteiro

    Conversa, checkout ou job: cada passo, provedor e hop entre serviços em uma linha só, com duração e custo.

  • Medido e estimado nunca se confundem

    O que o provedor cobrou e o que a tabela de preços calculou aparecem com rótulos diferentes na mesma tela.

  • Moedas ficam lado a lado

    Um trace que gastou USD no modelo e BRL na gateway custou duas coisas. Escolher uma taxa de câmbio para fundir as duas é decisão sua, não da célula.

  • Sujeito de uso ligado ao cliente pagante

    O ID interno do seu app vira identidade; uma conta pode pagar por vários usuários sem multiplicar a receita.

Como os números se comportam

Um número que não pode ser justificado não é exibido

Isto não é modéstia: é o que separa um painel de decisão de um painel decorativo. Quando falta base, o DuckLedger diz que falta.

Nulo em vez de zero

Gastar R$ 3 mil e não adquirir ninguém não é aquisição gratuita. Sem base, a resposta é nula — e a tela explica o que falta conectar.

Estimado é rotulado estimado

Custo calculado por tabela de preços nunca se veste de custo medido. O mesmo vale para nomes de trace inferidos pela rota.

Ambientes não se misturam

Sandbox e produção são arquivados pelo ambiente que o evento carrega, não pelo da conexão.

Nada é contado duas vezes

Webhooks idempotentes, aliases de loja resolvidos para um cliente só, e custo instrumentado conciliado com a fatura em vez de somado a ela.

Onde ele se encaixa

Metade da conta já tem ferramenta. A conta inteira, não.

Comparação por categoria de ferramenta, não por marca — porque a diferença não é de qualidade, é de escopo.

  • MRR, churn, coortes

    Ferramentas de receita
    Faz bem
    FinOps de nuvem
    Não faz
    Planilha + contador
    Faz em parte
    DuckLedger
    Faz bem
  • Assinaturas Apple e Google

    Ferramentas de receita
    Faz em parte
    FinOps de nuvem
    Não faz
    Planilha + contador
    Faz em parte
    DuckLedger
    Faz bem
  • Pix, boleto e cobrança BR

    Ferramentas de receita
    Não faz
    FinOps de nuvem
    Não faz
    Planilha + contador
    Faz bem
    DuckLedger
    Faz bem
  • Custo de nuvem por produto

    Ferramentas de receita
    Não faz
    FinOps de nuvem
    Faz bem
    Planilha + contador
    Faz em parte
    DuckLedger
    Faz bem
  • Custo de APIs de IA

    Ferramentas de receita
    Não faz
    FinOps de nuvem
    Faz em parte
    Planilha + contador
    Faz em parte
    DuckLedger
    Faz bem
  • Margem e lucro por produto

    Ferramentas de receita
    Não faz
    FinOps de nuvem
    Não faz
    Planilha + contador
    Faz em parte
    DuckLedger
    Faz bem
  • LTV sobre lucro bruto

    Ferramentas de receita
    Não faz
    FinOps de nuvem
    Não faz
    Planilha + contador
    Não faz
    DuckLedger
    Faz bem
  • Custo e receita por usuário

    Ferramentas de receita
    Não faz
    FinOps de nuvem
    Faz em parte
    Planilha + contador
    Não faz
    DuckLedger
    Faz bem
  • Resposta no mesmo dia

    Ferramentas de receita
    Faz bem
    FinOps de nuvem
    Faz bem
    Planilha + contador
    Não faz
    DuckLedger
    Faz bem
Como funciona

Da conexão à margem em quatro passos

Sem implantação de seis semanas. Você liga a estrutura uma vez e os números passam a compor sozinhos.

  1. 01

    Mapeie os produtos

    Uma organização, um workspace por produto. Custo compartilhado fica na org; o P&L de cada produto nasce comparável.

  2. 02

    Conecte a receita

    Asaas para Pix, boleto e cartão; RevenueCat ou as lojas para in-app purchase. Backfill uma vez e webhook para o resto.

  3. 03

    Conecte o custo

    AWS Cost Explorer, provedores de IA e despesas. Classifique cada categoria como custo de receita, aquisição ou overhead.

  4. 04

    Instrumente o uso

    SDK, banco ou PostHog. A partir daí a pergunta “quanto este usuário custa e gera” tem resposta com nome e sessão.

Ilustração de escudo e cadeado representando dados financeiros protegidos
Segurança

Dado financeiro tratado como sistema de produção

Chave de ingestão vive no seu servidor e tem escopo estreito de propósito: enviar evento, ler catálogo de medidor e registrar tipo faltante. Nada além disso.

  • Cookies httpOnly e refresh token rotativo
  • Segredos de gateway e provedor criptografados em repouso
  • Organizações, workspaces e RBAC por permissão desde o primeiro dia
  • Trilha de auditoria, inclusive para ações de máquina
  • Conexões de banco externo somente leitura, com verificação de certificado TLS
  • Webhooks assinados, com log de entrega auditável

Pare de responder “somos lucrativos?” com um export.

Se você opera produtos digitais e a resposta sobre receita mora em uma ferramenta, o custo em outra e a margem em nenhuma — é essa junta que o DuckLedger fecha.

Já é do time? Entre e continue de onde parou.