Skip to content

Exemplos de Fatos

Esta página mostra como aplicar na prática os conceitos discutidos em Fatos: Ensinando seu Negócio. Cada exemplo tem um caso "bem feito" e um anti-exemplo do mesmo conceito pulverizado.


Exemplo 1 — Faturamento bem feito

Uma única definição cobrindo cinco métricas relacionadas.

CampoValor
NomeFaturamento
PromptFaturamento comercial da empresa. Considera apenas vendas confirmadas.
Valor Principal[Fato Vendas]."VALOR_LIQUIDO" (soma)
Valores AlternativosLucro, Margem (%), Ticket Médio, Quantidade Vendida, CMV
Coluna de Data[Calendário]."DATA" (Data de Emissão)
Filtros PadrãoStatus = "Confirmado"

Por que este fato é bom:

  • O nome é o termo que a empresa usa no dia a dia. Ninguém pergunta "qual o SUM_VLR_LIQ?" — todo mundo pergunta "qual o faturamento?".
  • O Valor Principal carrega a decisão crítica: é o Valor Líquido, não bruto. Essa escolha estaria ambígua sem o fato.
  • Os Valores Alternativos absorvem cinco perguntas relacionadas sem inflar o catálogo. Lucro, Margem, Ticket Médio, Quantidade e CMV compartilham o mesmo contexto (mesma tabela, mesma data, mesmos filtros padrão). Faz sentido viverem juntos.
  • A Coluna de Data garante que "faturamento do mês passado", "faturamento de 2024" e "faturamento ontem" todos ancoram na Data de Emissão — sem o chat ter que escolher entre data de emissão, vencimento ou pagamento.
  • O Filtro Padrão Status = "Confirmado" é o tipo de regra que não pode ser esquecida. Sem ele, "faturamento" passaria a incluir vendas canceladas — distorcendo todas as respostas.

Perguntas que este único fato cobre:

  • "Qual o faturamento de março?"
  • "Qual o lucro do trimestre passado?"
  • "Qual o ticket médio desse ano?"
  • "Quantas vendas confirmadas tivemos ontem?"
  • "Compare a margem de 2023 com 2024."
  • "Faturamento por filial nos últimos 30 dias."
  • "Top 10 produtos por faturamento."

Note que agrupamento (por filial, por produto), período (mês, trimestre, ontem) e ranking (top 10) são decididos pela pergunta, não pelo fato. Um fato bem definido é genérico no que muda, específico no que não pode mudar.


Anti-exemplo 1 — Faturamento pulverizado

O mesmo conceito de faturamento, dividido em seis fatos diferentes:

FatoValor PrincipalColuna de DataFiltros
VendasVALOR_LIQUIDO (soma)Data de EmissãoConfirmado
Vendas MensaisVALOR_LIQUIDO (soma)Data de EmissãoConfirmado
Vendas por FilialVALOR_LIQUIDO (soma)Data de EmissãoConfirmado
Vendas por ProdutoVALOR_LIQUIDO (soma)Data de EmissãoConfirmado
Ticket MédioVALOR_LIQUIDO / QTDEData de EmissãoConfirmado
LucroLUCRO_LIQUIDO (soma)Data de EmissãoConfirmado

Por que isso piora

1. Os quatro primeiros são literalmente o mesmo fato. "Vendas Mensais", "Vendas por Filial", "Vendas por Produto" são a mesma definição ("Vendas") com agrupamentos diferentes. Agrupamento é decidido pela pergunta, não pelo fato. Cadastrar versões pré-quebradas não ajuda o chat — confunde.

2. Ticket Médio e Lucro deveriam ser Valores Alternativos. Eles compartilham mesma tabela, mesma data, mesmos filtros. Não são conceitos diferentes — são medidas diferentes do mesmo conceito.

3. O catálogo cresce sem ganho real. Em vez de 1 fato cobrindo 7 perguntas, você tem 6 fatos cobrindo as mesmas 7 perguntas. O chat agora precisa filtrar entre seis opções que parecem todas válidas.

4. Inconsistência inevitável. Quando alguém pergunta "qual foi o faturamento do mês?", o chat pode usar "Vendas" ou "Vendas Mensais" — e cada um pode aplicar lógica ligeiramente diferente se você editar um sem editar o outro. Manter seis fatos sincronizados manualmente é fonte garantida de bugs.

Sintoma típico

"O chat às vezes responde uma coisa e às vezes responde outra para a mesma pergunta." Se isso acontece, vale conferir se você não tem múltiplos fatos cobrindo o mesmo conceito.


Exemplo 2 — Inadimplência (filtros padrão críticos)

Um conceito onde os filtros padrão são tudo. Sem eles, o número que sai é completamente diferente.

CampoValor
NomeInadimplência
PromptValor de contas a receber em atraso há mais de 30 dias. Considera apenas títulos em aberto, não negociados.
Valor Principal[Contas a Receber]."VALOR_TITULO" (soma)
Valores AlternativosQuantidade de Títulos em Aberto, Dias Médios de Atraso
Coluna de Data[Contas a Receber]."DATA_VENCIMENTO"
Filtros PadrãoStatus = "Aberto" E Dias de Atraso > 30 E Tipo Negociação != "Renegociado"

O que esse fato resolve:

A tabela de Contas a Receber tem títulos em vários status. Sem os filtros padrão, "inadimplência" seria interpretado como "tudo a receber" — número várias vezes maior que a inadimplência real.

A definição de "inadimplência" também varia entre empresas:

  • Algumas consideram a partir de 30 dias de atraso, outras 60 ou 90.
  • Algumas excluem títulos renegociados, outras incluem.
  • Algumas consideram apenas Pessoa Jurídica.

O fato congela essas decisões. Quando alguém da empresa pergunta "qual a inadimplência hoje?", o chat aplica a regra exata da sua empresa, sem precisar reaprender a cada conversa.

Os Valores Alternativos seguem o padrão de "compartilham contexto": quantidade de títulos e dias médios de atraso usam a mesma tabela, mesma data e mesmos filtros — então fazem parte do mesmo fato.


Anti-exemplo 2 — Nomes parecidos com escopos sutilmente diferentes

Esse é o anti-padrão mais difícil de detectar, porque na superfície parece organizado.

FatoFiltros Padrão
Receita ConfirmadaStatus = "Confirmado"
Receita FaturadaStatus IN ("Confirmado", "Faturado")
Receita LíquidaStatus = "Confirmado" E coluna usada: VALOR_LIQUIDO (descontando impostos)

À primeira vista pode parecer que são três conceitos diferentes. Na prática:

  • "Receita Confirmada" e "Receita Líquida" têm os mesmos filtros — diferença é qual coluna usar. Isso é Valores Alternativos, não fatos diferentes.
  • "Receita Faturada" tem um filtro mais amplo. Pode ser conceito diferente, pode não ser — depende se a empresa realmente trata "faturada" como métrica separada ou se é só um sinônimo informal.

A pergunta-teste

"Se duas pessoas diferentes da empresa, ao ouvir esses três nomes, descrevem a mesma métrica, eu tenho um fato disfarçado de três. Se descrevem coisas genuinamente diferentes, eu tenho três fatos."

Na prática, na maioria das empresas:

  • "Receita Confirmada" e "Receita Líquida" são a mesma coisa com métricas variantes → consolide em um fato "Receita" com Valor Líquido como principal e Valor Bruto como alternativo.
  • "Receita Faturada" pode ser um conceito real e separado se a empresa de fato distingue (ex.: receita reconhecida contabilmente vs receita confirmada comercialmente).

O que fazer

Sempre que dois fatos têm nomes parecidos:

  1. Pergunte às pessoas que realmente fazem as perguntas se elas distinguem os dois conceitos no dia a dia.
  2. Se a resposta for "é a mesma coisa" — consolide.
  3. Se a resposta for "são coisas bem diferentes" — mantenha separados, mas escreva um Prompt claro em cada um explicando a diferença, para o chat conseguir distinguir.

Quando vale separar de verdade

Nem todo desdobramento é dicionário gigante. Tem casos onde dois fatos genuinamente diferentes coexistem.

Receita Comercial vs Receita Financeira

Receita ComercialReceita Financeira
TabelaVendasMovimentação Financeira
Valor PrincipalVALOR_LIQUIDO (vendas)VALOR_RECEITA (juros, multas, taxas)
Coluna de DataData de EmissãoData de Movimentação
FiltrosStatus = "Confirmado"Tipo IN ("Juros", "Multa", "Taxa")

Esses são dois conceitos genuinamente diferentes:

  • Vivem em tabelas diferentes.
  • Têm naturezas de negócio diferentes (operacional vs financeiro).
  • Quando alguém pergunta "qual a receita do mês?", a resposta certa depende do contexto — talvez uma soma das duas, talvez só uma.

A presença de duas tabelas, duas datas e dois conjuntos de filtros distintos é o sinal claro de que são dois fatos: refletem o modelo real do negócio.

Outros casos legítimos de separar

  • Métricas operacionais vs métricas estratégicas que usam definições diferentes (ex.: "Vendas Brutas Operacionais" para o gerente da loja vs "Vendas Líquidas Contábeis" para o financeiro).
  • Métricas por linha de produto quando cada linha tem regras de cálculo materialmente diferentes (não só "filtro por linha", mas fórmulas distintas).
  • Conceitos sazonais ou de campanha que coexistem com a métrica padrão (ex.: "Faturamento da Black Friday" com janela e filtros próprios).

A pergunta que separa "vale separar" de "vale consolidar":

"Se eu consolidar esses dois conceitos num único fato com Valores Alternativos, eu perco alguma definição importante? Algum filtro fica errado para algum dos casos?"

Se a resposta é sim — são dois fatos. Se a resposta é não — é um fato com Valores Alternativos.


Resumindo a régua

Use esta régua mental cada vez que você for criar um fato novo:

Pergunte-seSe sim...Se não...
O nome é como as pessoas da empresa de fato falam?ContinueRenomeie antes de cadastrar
Já existe um fato com mesma tabela, mesma data, mesmos filtros?Adicione como Valor Alternativo do existenteContinue
A diferença para um fato existente é só "como agrupar" ou "qual período"?Não cadastre — agrupamento e período são decididos pela perguntaContinue
A diferença para um fato existente é uma nuance de uma frase?Não cadastre — use o campo Prompt do existenteContinue
Tabelas, datas ou filtros genuinamente diferentes do que já existe?Crie o fato novoReavalie — talvez não seja conceito separado

Quando em dúvida: menos é mais. É fácil adicionar um fato novo depois. É muito mais difícil descobrir que o catálogo cresceu demais e ter que limpar duzentos fatos.


Próximos passos