Consolidação Temporal Oficial
Granularidade Temporal do DBCHECKOUT
Padrão oficial de consolidação temporal em 4 níveis: Ano, Mês, Semana e Dia
Princípio Fundamental
Todo dado consolidado no DBCHECKOUT deve obedecer, obrigatoriamente, a quatro granularidades temporais
Ano
Visão anual
Mês
Visão mensal
Semana
Visão semanal
Dia
Visão diária
Nada de consolidação solta
Nada de GROUP BY date_trunc em runtime
Tudo pré-calculado, versionado e consistente
Dimensão Tempo (BASE DO SISTEMA)
Tabela dim_tempo - Obrigatória e Imutável
SQL SchemaPostgreSQL
CREATE TABLE dim_tempo ( data DATE PRIMARY KEY, ano INT, mes INT, mes_nome VARCHAR(20), semana_ano INT, semana_mes INT, dia_mes INT, dia_semana INT, dia_nome VARCHAR(15), is_fim_semana BOOLEAN );
Imutável
Dados não são alterados após criação
Consistência
Garante alinhamento entre MySQL / Postgres / IA / Frontend
Modelo de Consolidação
Regra de Ouro: Não existe KPI sem chave temporal explícita
Toda tabela consolidada deve conter:
ano | mes | semana | data
1
Consolidação Diária (BASE)
Fonte ÚnicaCREATE TABLE kpi_vendas_dia ( rede_id UUID, loja_id UUID, data DATE, ano INT, mes INT, semana INT, faturamento NUMERIC(14,2), pedidos INT, quantidade INT, ticket_medio NUMERIC(10,2), margem NUMERIC(14,2), PRIMARY KEY (rede_id, loja_id, data) );
✓ Todas as outras consolidações derivam daqui
2
Consolidação Semanal
DerivadaCREATE TABLE kpi_vendas_semana ( rede_id UUID, loja_id UUID, ano INT, semana INT, faturamento NUMERIC(14,2), pedidos INT, ticket_medio NUMERIC(10,2), PRIMARY KEY (rede_id, loja_id, ano, semana) );
3
Consolidação Mensal
DerivadaCREATE TABLE kpi_vendas_mes ( rede_id UUID, loja_id UUID, ano INT, mes INT, faturamento NUMERIC(14,2), pedidos INT, ticket_medio NUMERIC(10,2), PRIMARY KEY (rede_id, loja_id, ano, mes) );
4
Consolidação Anual
DerivadaCREATE TABLE kpi_vendas_ano ( rede_id UUID, loja_id UUID, ano INT, faturamento NUMERIC(14,2), pedidos INT, ticket_medio NUMERIC(10,2), PRIMARY KEY (rede_id, loja_id, ano) );
Pipeline de Consolidação
Fluxo obrigatório - Nunca pular etapas
LEGADO
MySQL
STAGING
Dados crus
DIÁRIA
Base
SEMANAL
Agregada
MENSAL
Agregada
ANUAL
Agregada
Nunca pular etapas
Nunca recalcular direto do legado
Regras de Processamento
Ordem
1. Dia
2. Semana
3. Mês
4. Ano
Reprocessamento
✓ Permitido por data
✗ Nunca por período aberto
Imutabilidade
Dia fechado = não recalcula
Correção = versão nova (log)
Definição de Semana (ISO 8601)
Segunda-feira = início da semana. Evita divergência entre anos.
WEEK(data, 3) -- MySQL ISOImpacto na IA
Dados estruturados para análise inteligente
Payload JSONEstruturado
{
"ano": 2026,
"mes": 1,
"semana": 4,
"data": "2026-01-29",
"faturamento": 48230.50,
"pedidos": 554,
"ticket_medio": 87.09
}Análises Possíveis
• Comparação M/M (mês sobre mês)
• Comparação S/S (semana sobre semana)
• Sazonalidade
• Previsão de demanda
Confiabilidade
IA recebe dados consistentes e pré-validados, garantindo insights precisos
Impacto no Frontend (React)
Filtros temporais oficiais
Ano
Visão estratégica
Mês
Visão tática
Semana
Visão operacional
Dia
Visão detalhada
Comportamento Responsivo
Mobile
Dia / Semana
Tablet
Semana / Mês
Desktop
Mês / Ano
Importante: O frontend não calcula datas, apenas escolhe a granularidade
Benefícios desta Decisão
Performance Extrema
Dados pré-calculados eliminam processamento em tempo real
KPIs Consistentes
Mesma métrica sempre retorna o mesmo valor
Comparações Corretas
Períodos alinhados garantem análises precisas
IA Confiável
Insights baseados em dados estruturados
Cache Simples
Estratégia de cache por granularidade
Multi-loja Escalável
Suporta milhares de lojas sem degradação
Erros que Você Evita
GROUP BY date() em produção
Cálculos em tempo real degradam performance
Comparações incoerentes
Períodos desalinhados geram análises incorretas
Filtros quebrados
Inconsistência temporal quebra filtros do dashboard
IA errática
Dados inconsistentes geram insights não confiáveis
Retrabalho futuro
Refatoração custosa para corrigir arquitetura temporal
Veredito Técnico
Essa decisão coloca o DBCHECKOUT no nível de BI corporativo
Dimensão tempo correta
Consolidação escalável
Base sólida para IA
Frontend rápido