
📈 A previsão de receita é uma das análises mais valiosas para qualquer negócio. Neste artigo, você vai aprender como aplicar uma regressão linear usando DAX no Power BI para estimar receitas futuras com base em dados históricos, sem precisar de linguagens externas. Vamos construir uma medida inteligente, visualizá-la em um gráfico e até incluir faixa de confiança estatística. Tudo passo a passo!
Neste artigo, você vai aprender:
✅ Como aplicar regressão linear com DAX
✅ Como construir uma medida preditiva baseada em dados históricos
✅ Como criar gráficos com faixa de confiança
✅ Como exibir previsões em cartões e dashboards interativos
No Power BI, conseguimos fazer isso de forma 100% nativa com DAX, sem precisar de modelos externos de Machine Learning.
Como Criar uma Previsão de Receita com Tendência Linear no Power BI
🧠 Veja o que esta DAX faz:
🟣 Pega os últimos 90 dias de vendas;
🟣 Calcula a reta de regressão linear (Y = Alfa + BetaX) diretamente em DAX;
🟣 Estima a receita esperada para o próximo período, projetando o resultado de forma automática.
🧠 Etapa 1: Entendendo a Lógica da Regressão Linear
A Regressão Linear busca ajustar uma reta aos dados históricos, seguindo a fórmula:
𝑌 = 𝛼 ⋅ 𝑋 + 𝛽
Onde:
Y é a variável dependente (receita)
X é o índice temporal (posição da data)
α (Alfa) é o coeficiente angular (inclinação da reta)
β (Beta) é o intercepto (valor de Y quando X = 0)
🛠️ Etapa 2: Criando a Medida DAX
Abra o Power BI e vá até a tabela onde deseja inserir a medida (ex: Vendas). Crie uma nova medida chamada PrevisaoReceita com o seguinte código:
PrevisaoReceita =
-- Define a data mais recente disponível no calendário
VAR UltimaData = MAX('Calendario'[Date])
-- Define o número de dias que serão considerados na análise (últimos 90 dias)
VAR DatasConsideradas = 90
-- Cria uma tabela com as datas dos últimos 90 dias
VAR DatasRecentes =
DATESINPERIOD('Calendario'[Date], UltimaData, -DatasConsideradas, DAY)
-- Cria a tabela base com as datas e o total de vendas (Y) por dia
VAR TabelaBase =
ADDCOLUMNS(
SUMMARIZE(DatasRecentes, 'Calendario'[Date]),
"Y", CALCULATE(SUM(Vendas[Total R$])),
"X", RANKX(DatasRecentes, 'Calendario'[Date], , ASC) -- Índice temporal (X)
)
-- Calcula a média dos valores de X e Y
VAR MediaX = AVERAGEX(TabelaBase, [X])
VAR MediaY = AVERAGEX(TabelaBase, [Y])
-- Calcula os desvios em relação às médias
VAR TabelaDesvios =
ADDCOLUMNS(
TabelaBase,
"DesvioX", [X] - MediaX,
"DesvioY", [Y] - MediaY,
"ProdutoDesvios", ([X] - MediaX) * ([Y] - MediaY),
"QuadradoDesvioX", POWER([X] - MediaX, 2)
)
-- Calcula o coeficiente angular (Alfa) da regressão linear
VAR Alfa =
DIVIDE(
SUMX(TabelaDesvios, [ProdutoDesvios]),
SUMX(TabelaDesvios, [QuadradoDesvioX])
)
-- Calcula o intercepto (Beta) da regressão linear
VAR Beta = MediaY - Alfa * MediaX
-- Define o índice da próxima data (previsão futura)
VAR ProximoIndex = MAXX(TabelaBase, [X]) + 1
-- Aplica a fórmula da regressão linear: Y = Alfa * X + Beta
VAR ReceitaPrevista = Alfa * ProximoIndex + Beta
-- Retorna o valor previsto de receita
RETURN
ReceitaPrevista
📊 Etapa 3: Criando o Gráfico de Previsão
- Insira um gráfico de linha no seu relatório.
- No eixo X, coloque 'Calendario'[Date].
- Nos valores, insira:
- Vendas[Total R$] → valores reais
- PrevisaoReceita → linha de tendência
💡 Dica: Use cores diferentes para destacar a previsão (ex: roxo) e os dados reais (ex: azul).
📐 Etapa 4: Adicionando Intervalo de Confiança (Opcional)
Para enriquecer a análise, você pode calcular o desvio padrão dos resíduos e criar uma faixa de confiança:
DesvioPadraoResiduos =
VAR Tabela =
ADDCOLUMNS(
TabelaBase,
"YPrevisto", Alfa * [X] + Beta,
"Erro", [Y] - (Alfa * [X] + Beta)
)
RETURN
SQRT(AVERAGEX(Tabela, POWER([Erro], 2)))
Depois, crie medidas para os limites:
LimiteSuperior = [PrevisaoReceita] + 1.96 * [DesvioPadraoResiduos]
LimiteInferior = [PrevisaoReceita] - 1.96 * [DesvioPadraoResiduos]
Use essas medidas para criar uma área sombreada no gráfico, representando a faixa de confiança de 95%.
🧾 Etapa 5: Exibindo a Previsão em Cartões
Crie um cartão com a previsão para a próxima data:
ReceitaPrevistaHoje =
CALCULATE([PrevisaoReceita], 'Calendario'[Date] = TODAY())
Nessa abordagem, você transforma dados históricos em insights preditivos usando estatística avançada dentro do Power BI. A Regressão Linear é simples, poderosa e pode ser adaptada para diversos cenários: previsão de vendas, produção, demanda, entre outros.
Se quiser ir além, você pode aplicar modelos polinomiais, sazonalidade ou até integrar com Python/R para modelos mais robustos.
Isso significa transformar dados históricos em Inteligência Preditiva para dar suporte a decisões estratégicas, sem depender de processos manuais ou ferramentas externas. Tudo é calculado e redesenhado por aqui com DAX.
📊 O futuro da análise não é apenas olhar para o que já aconteceu, mas sim antecipar o que vem pela frente com inteligência e rapidez.
👉 Siga André Bernardes no Linkedin. Clique aqui e contate-me via What's App.
Nenhum comentário:
Postar um comentário