Voltar para projetos

Case de projeto

  • Projeto demonstrativo
  • Marketing Analytics e BI
  • Dados simulados
  • Repositório privado
  • Aplicação funcional

Ad Performance Intelligence

Dashboard analítico que consolida um cenário simulado de mídia paga para comparar canais, modelar indicadores e apoiar decisões de orçamento com regras explicáveis.

Projeto independente e demonstrativo, sem vínculo institucional ou reprodução de dados confidenciais de clientes. Google Ads e Meta Ads são canais representados no dataset; não existem integrações ativas com as plataformas.

  • Dados sintéticos determinísticos
  • Análise multicanal
  • Indicadores calculados
  • Recomendações por regras
  • Simulador demonstrativo
Meu papelMarketing Analytics, Business Intelligence e Desenvolvimento Web
Tecnologias utilizadas
  • Next.js 15
  • TypeScript
  • React
  • Recharts
  • TanStack Table
  • Zod
  • Three.js
  • Mais 1 tecnologia

Repositório privado; referência auditada na branch main, commit 87fc21b.

Código-fonte privadoAs evidências técnicas verificáveis estão documentadas neste case.
Visão geral publicada do dashboard Ad Performance Intelligence.
Captura publicada do dashboard em português, utilizada como capa do case técnico.

Visão geral

Resumo

Ad Performance Intelligence é um produto demonstrativo de Marketing Analytics e BI que organiza métricas simuladas de Google Ads e Meta Ads em uma leitura executiva de investimento, eficiência, funil e retorno atribuído.

Problema

A comparação de canais perde clareza quando investimento, entrega, conversão e retorno são lidos isoladamente ou com denominadores inconsistentes.

Meu papel

Modelagem do cenário analítico, implementação dos cálculos e regras, desenvolvimento da experiência web, documentação das premissas e validação dos contratos técnicos.

ROAS geral
18,5x
Demo publicada / /api/kpis sobre 1.800 registros simulados / 13 out. 2026
Conversões analisadas
12.798
Demo publicada / /api/kpis sobre 1.800 registros simulados / 13 out. 2026
CTR consolidado
3,3%
Demo publicada / /api/kpis sobre 1.800 registros simulados / 13 out. 2026

Dados e premissas

Os dados são sintéticos, determinísticos e definidos em módulos TypeScript versionados. A aplicação publicada não consulta Google Ads, Meta Ads, CRM ou data warehouse.

O cenário público contém dez campanhas e 1.800 fatos diários entre 3 de dezembro de 2025 e 31 de maio de 2026. Os valores são ilustrativos e não representam clientes, contas ou resultados empresariais.

Origem
Módulos TypeScript em src/data
Classificação
Dados sintéticos e simulados
Granularidade
Campanha por dia
Cobertura
10 campanhas · 180 dias · 1.800 fatos
Canais
Google Ads e Meta Ads
Persistência
Sem banco, upload ou gravação
Estrutura dos dados

Entidades modeladas

  • Campaign: canal, objetivo, região, período, orçamento e status.
  • DailyPerformance: entrega, custo, leads, conversões e receita atribuída por campanha e dia.
  • Lead: origem, score, qualidade, intenção e estágio simulados.
  • Channel, Benchmark e Recommendation: contexto dos canais, referências demonstrativas e regras heurísticas.

Arquitetura analítica

Cinco camadas refletem o código público e a aplicação publicada, sem caracterizar o projeto como integração oficial, ETL automatizado ou data warehouse.

  1. 1. Fonte de dados

    Seeds TypeScript definem dez campanhas e parâmetros fixos para Google Ads e Meta Ads.

  2. 2. Carregamento determinístico

    Módulos locais geram 180 dias de fatos com data inicial fixa e funções matemáticas reproduzíveis.

  3. 3. Modelagem

    campaignId relaciona campanhas, fatos diários e leads; canal, objetivo e região funcionam como dimensões.

  4. 4. Cálculo e regras

    Funções TypeScript calculam taxas e custos, enquanto regras heurísticas geram recomendações e estimativas.

  5. 5. Visualização e decisão

    Next.js, Recharts e TanStack Table apresentam KPIs, comparativos, funil, filtros e simulador.

Indicadores implementados

As fórmulas abaixo foram verificadas no código público. Divisões usam safeDivide e retornam zero quando o denominador é zero.

DefiniçãoUnidadeRegra de cálculoUsoLimitação
CTRImpressões que resultaram em clique.%cliques ÷ impressões × 100; denominador zero retorna 0.Ler resposta no topo do funil.Não mede qualidade nem conversão posterior.
CPCCusto médio por clique.R$ por cliqueinvestimento ÷ cliques; denominador zero retorna 0.Comparar aquisição de tráfego.Não demonstra valor ou intenção do tráfego.
CPLCusto médio por lead gerado.R$ por leadinvestimento ÷ leads; denominador zero retorna 0.Avaliar a captura de leads.Lead simulado não equivale a venda.
CPACusto médio por conversão atribuída.R$ por conversãoinvestimento ÷ conversões; denominador zero retorna 0.Comparar ações finais entre campanhas.Atribuição demonstrativa, sem incrementalidade.
Taxa de conversãoCliques que resultaram em conversão atribuída.%conversões ÷ cliques × 100; denominador zero retorna 0.Relacionar tráfego e ações finais.Não isola canal, oferta ou atendimento.
ROASReceita atribuída dividida pelo investimento em mídia.multiplicadorreceita atribuída ÷ investimento; denominador zero retorna 0.Contextualizar retorno atribuído.Não é ROI, receita empresarial total ou lucro.
Utilização do orçamentoParcela do orçamento representada pelo investimento.%investimento ÷ orçamento × 100; denominador zero retorna 0.Acompanhar ritmo de uso da verba simulada.Orçamento fixo, sem pacing de plataforma.
Qualidade média do leadMédia dos scores de leads do recorte.pontossoma dos lead scores ÷ quantidade de leads; conjunto vazio retorna 0.Adicionar contexto qualitativo ao volume de leads.Premissa sintética, não um modelo treinado.
Campaign Efficiency ScoreScore para ordenar sinais de eficiência.0 a 100Combina CTR, CPC, CPL, taxa de conversão, ROAS e qualidade do lead após normalização.Comparar campanhas do mesmo cenário.Pesos heurísticos; não é previsão ou garantia.

CTR

Impressões que resultaram em clique.

Unidade
%
Regra de cálculo
cliques ÷ impressões × 100; denominador zero retorna 0.
Uso
Ler resposta no topo do funil.
Limitação
Não mede qualidade nem conversão posterior.

CPC

Custo médio por clique.

Unidade
R$ por clique
Regra de cálculo
investimento ÷ cliques; denominador zero retorna 0.
Uso
Comparar aquisição de tráfego.
Limitação
Não demonstra valor ou intenção do tráfego.

CPL

Custo médio por lead gerado.

Unidade
R$ por lead
Regra de cálculo
investimento ÷ leads; denominador zero retorna 0.
Uso
Avaliar a captura de leads.
Limitação
Lead simulado não equivale a venda.

CPA

Custo médio por conversão atribuída.

Unidade
R$ por conversão
Regra de cálculo
investimento ÷ conversões; denominador zero retorna 0.
Uso
Comparar ações finais entre campanhas.
Limitação
Atribuição demonstrativa, sem incrementalidade.

Taxa de conversão

Cliques que resultaram em conversão atribuída.

Unidade
%
Regra de cálculo
conversões ÷ cliques × 100; denominador zero retorna 0.
Uso
Relacionar tráfego e ações finais.
Limitação
Não isola canal, oferta ou atendimento.

ROAS

Receita atribuída dividida pelo investimento em mídia.

Unidade
multiplicador
Regra de cálculo
receita atribuída ÷ investimento; denominador zero retorna 0.
Uso
Contextualizar retorno atribuído.
Limitação
Não é ROI, receita empresarial total ou lucro.

Utilização do orçamento

Parcela do orçamento representada pelo investimento.

Unidade
%
Regra de cálculo
investimento ÷ orçamento × 100; denominador zero retorna 0.
Uso
Acompanhar ritmo de uso da verba simulada.
Limitação
Orçamento fixo, sem pacing de plataforma.

Qualidade média do lead

Média dos scores de leads do recorte.

Unidade
pontos
Regra de cálculo
soma dos lead scores ÷ quantidade de leads; conjunto vazio retorna 0.
Uso
Adicionar contexto qualitativo ao volume de leads.
Limitação
Premissa sintética, não um modelo treinado.

Campaign Efficiency Score

Score para ordenar sinais de eficiência.

Unidade
0 a 100
Regra de cálculo
Combina CTR, CPC, CPL, taxa de conversão, ROAS e qualidade do lead após normalização.
Uso
Comparar campanhas do mesmo cenário.
Limitação
Pesos heurísticos; não é previsão ou garantia.

Decisões técnicas

Dataset sintético e determinístico em TypeScript

Motivo
Permite reproduzir a demonstração sem expor contas, campanhas ou informações de clientes.
Consequência / trade-off
O cenário não captura sazonalidade, ruído e qualidade de dados de plataformas reais.

Fórmulas centralizadas com divisão segura

Motivo
Mantém CTR, CPC, CPL, CPA, conversão e ROAS consistentes entre componentes e APIs.
Consequência / trade-off
Retornar zero evita valores inválidos, mas exige contexto para distinguir ausência de base de desempenho real.

Mesma fonte local para UI e Route Handlers

Motivo
Torna KPIs e respostas internas verificáveis sem infraestrutura ou credenciais externas.
Consequência / trade-off
Não há atualização automática, persistência ou isolamento por usuário.
Outras decisões técnicas

Recomendações e simulação por heurísticas explicáveis

Motivo
As regras tornam premissas, sinais e ações sugeridas auditáveis no código.
Consequência / trade-off
Os resultados não demonstram causalidade, otimização estatística ou um modelo de machine learning.

Evidências públicas

Aplicação verificada sem login; caminhos de código conferidos no repositório privado, branch main, commit 87fc21b.

Aplicação pública

Aplicação publicada

Dashboard funcional em português, com KPIs, filtros, comparativos, recomendações e simulador demonstrativo.

Abrir evidência

Código-fonte privado

Repositório no commit 87fc21b

Snapshot privado usado como referência desta auditoria.

Documentação pública

Estratégia de dados simulados

ADR registra dados determinísticos, ausência de sincronização e uso exclusivamente demonstrativo.

Referência de códigodocs/adr/002-data-strategy.md

Referência de código

Série diária determinística

Geração de 180 datas e fatos por campanha a partir de parâmetros fixos.

Referência de códigosrc/data/daily-performance.ts

Referência de código

Funções de métricas

Implementação de CTR, CPC, CPL, CPA, conversão, ROAS, utilização e score.

Referência de códigosrc/lib/analytics/metrics.ts

Referências de implementação

Endpoint público

Endpoint de KPIs

Route Handler que agrega o dataset local e identifica a resposta como simulada.

Referência de códigosrc/app/api/kpis/route.ts

Referência de código

Recommendation Engine

Regras heurísticas com métricas, motivos, ações sugeridas e trade-offs.

Referência de códigosrc/lib/analytics/recommendation-engine.ts

Referência de código

Simulador de orçamento

Estimativas derivadas de verba, eficiência histórica simulada e qualidade do lead.

Referência de códigosrc/lib/analytics/simulator.ts

Referência de código

Testes das métricas

Casos reproduzíveis para CTR, CPC, CPL, ROAS e score de eficiência.

Referência de códigosrc/tests/metrics.test.ts

Documentação pública

Documento de arquitetura

Separação entre apresentação, analytics, validação, dados, tipos e Route Handlers.

Referência de códigodocs/architecture.md

Cenário demonstrativo publicado

Dados simulados
R$ 398.713,16
Investimento agregado
Soma do custo dos 1.800 fatos diários simulados.
Dados simulados
3,33%
CTR consolidado
Cliques divididos por impressões no cenário completo.
Dados simulados
18,46x
ROAS demonstrativo
Receita atribuída simulada dividida pelo investimento.

Os três valores pertencem ao dataset simulado da aplicação. Não representam conta de mídia, cliente, melhoria comercial, lucro ou impacto empresarial.

Valores reproduzidos pelo endpoint público /api/kpis e pelas fórmulas versionadas na referência auditada.

Competências demonstradas

  • Marketing Analytics e Business Intelligence em um cenário multicanal.
  • Modelagem e documentação de indicadores.
  • Qualidade, consistência e rastreabilidade de dados simulados.
  • Visualização de dados com Recharts e tabelas analíticas.
  • Desenvolvimento e testes com Next.js, React, TypeScript e Vitest.

Limitações e próximos passos

Limitações confirmadas

  • Os dados são sintéticos e não contêm contas, campanhas ou resultados reais de clientes.
  • Não há integração ativa, atualização automática, banco, persistência, upload ou autenticação.
  • Receita atribuída e ROAS são valores demonstrativos; não medem lucro, ROI ou incrementalidade.
  • Recomendações, benchmarks e simulador são heurísticos; a aplicação está somente em português.

Evoluções possíveis

  • Integrar APIs oficiais e uma camada histórica persistente, com credenciais seguras e atualização incremental.
  • Modelar atribuição e monitorar qualidade, reconciliação e frescor dos dados.
  • Validar recomendações com experimentos antes de qualquer uso operacional.

Capturas da aplicação publicada em português; todos os números pertencem ao cenário simulado.

Mapa regional, benchmarks e simulador de orçamento do dashboard.
Aplicação publicada: leitura regional, benchmarks demonstrativos e simulador de orçamento.
Recomendações e análise detalhada de campanhas no produto publicado.
Aplicação publicada: recomendações heurísticas e declaração sobre o caráter simulado do projeto.

Detalhes técnicos opcionais

Como executar
  1. O repositório é privado; com acesso, use a branch main no commit de referência 87fc21b.
  2. Execute npm install e npm run dev para iniciar a aplicação Next.js.
  3. Acesse os Route Handlers ou use a interface para reproduzir os indicadores sobre o dataset simulado.
  4. Execute npm run test para validar as fórmulas e regras existentes.

Próximo projeto

Reconhecimento de Gestos de Mão em Tempo Real

Reconhecimento de 11 gestos de mão pela câmera, no navegador, com regras explicáveis e degradação para CPU.

Ver case completo