O que é uma média móvel?

1 jul., 2026

thumbnail for this post
Fonte da imagem: elaboração própria



Média móvel era um conceito que nunca tinha feito parte da minha realidade, até que chegou 2020. E com ele, a pandemia de COVID-19 e os gráficos com quantidade de casos e suas médias móveis em todos os telejornais do país.

Foi aí que eu fiz questão de entender essa medida – inclusive para explicá-la, como eu fiz nesse post do meu Instagram.

Os anos se passaram, a popularidade da média móvel diminuiu, mas eventualmente eu atendo algum cliente que precisa calculá-la. E sinto falta de um material mais estruturado que explique o que é uma média móvel e qual o cálculo por trás dessa medida. Então, a proposta deste post é preencher essa lacuna.

Por que calcular uma média móvel?

Na minha opinião, o exemplo da quantidade de casos novos de COVID-19 segue sendo o mais didático. Então, vamos a ele. Em julho de 2020, o cenário era esse:

A partir de 11 de março, novos casos de COVID-19 eram registrados todos os dias no Brasil. O maior pico do período foi o registro de 67.860 casos novos em 23 de julho.

No entanto, há uma grande flutuação na quantidade de casos novos. No gráfico de linhas, observamos subidas seguidas de quedas. Perceba como a quantidade de casos novos varia muito de um dia para o outro, ao redor da data do pico (23/07):

Data

Casos novos

Dia da semana

18/07/2020

34.177

Sábado

19/07/2020

28.532

Domingo

20/07/2020

23.529

Segunda-feira

21/07/2020

20.257

Terça-feira

22/07/2020

41.008

Quarta-feira

23/07/2020

67.860

Quinta-feira

24/07/2020

59.961

Sexta-feira

25/07/2020

55.891

Sábado

26/07/2020

51.147

Domingo

27/07/2020

24.578

Segunda-feira

28/07/2020

23.284

Terça-feira

29/07/2020

40.816

Quarta-feira

Há um padrão de aumento e queda que se repete, aproximadamente, a cada sete dias. Em geral, quantidades menores de casos são observadas às segundas e terças, enquanto quantidades maiores são registradas entre quinta e sábado.

Essa variação não representa necessariamente uma flutuação real na quantidade de novos casos em cada dia. A principal hipótese levantada na época era um atraso na notificação dos casos e no processamento dos resultados dos testes, fazendo com que os registros se concentrassem em determinados dias da semana.

A questão é que essa flutuação atrapalha a análise da tendência dos dados. Ao olharmos para o gráfico, temos dificuldade de identificar se a quantidade de casos está aumentando ou diminuindo. Esse é exatamente o tipo de situação em que a média móvel pode ser mais informativa.

O que, afinal, é uma média móvel?

Ainda que o nome não seja dos mais intuitivos, a média móvel é uma sequência de médias calculadas sobre um período fixo de observações. Esse período, também chamado de janela, depende do contexto da análise.

No caso da COVID-19, faz sentido utilizar um período de sete dias, já que os registros apresentam um padrão semanal de aumento e redução de casos. Ao calcular a média dos últimos sete dias, esse padrão é suavizado, facilitando a visualização da tendência da série de dados.

Vamos calcular manualmente uma média móvel para entendê-la. Imagine que temos o seguinte conjunto de dados:

Como o período é de sete dias, a primeira média só pode ser calculada quando o sétimo dia da série é observado. Essa primeira média corresponde à média dos sete primeiros dias:

A segunda média será calculada quando for coletado o oitavo dia. E corresponderá à média dos últimos sete dias. Isso significa que agora a média desconsiderará o primeiro dia e passará a considerar o oitavo:

E assim sucessivamente. A cada novo dia observado, a janela de sete dias desloca-se uma posição para frente, descartando o dia mais antigo e incluindo o mais recente. É justamente esse deslocamento da janela ao longo do tempo que dá origem ao nome média móvel.

Ao final, para essa base de dados, vamos obter as seguintes médias móveis:

A média móvel no exemplo do COVID-19

Ao calcularmos a média móvel (representada pela linha azul no gráfico), obtemos uma série com muito menos flutuações do que os dados originais. Com isso, a tendência fica muito mais nítida. Por exemplo, agora conseguimos observar com mais clareza uma tendência de aumento no final da série de dados.

Como calcular a média móvel no Excel?

Imagine que você tem uma base de dados com um dia por linha e deseja considerar um período de sete dias. Para calcular a média móvel no Excel, insira a fórmula da média (=MÉDIA()) na linha correspondente ao sétimo dia. Nessa célula, a função deve calcular a média dos sete primeiros dias da série.

Em seguida, basta arrastar a fórmula até o final da planilha. A cada nova linha, o Excel ajustará automaticamente as células sendo consideradas no cálculo, fazendo com que a média seja calculada sempre com base nos últimos sete dias:

Como calcular a média móvel no R?

Há mais de uma forma de calcular a média móvel no R. Mas duas funções são razoavelmente populares para esse cálculo: a função rollmean do pacote zoo e a função slide_dbl do pacote slider.

Para os exemplos abaixo, considere que temos a seguinte base de dados:

##          data casos_novos
## 1  2020-03-07           5
## 2  2020-03-08           0
## 3  2020-03-09          12
## 4  2020-03-10           0
## 5  2020-03-11           9
## 6  2020-03-12          18
## 7  2020-03-13          25
## 8  2020-03-14          21
## 9  2020-03-15          23
## 10 2020-03-16          79
## 11 2020-03-17          34
## 12 2020-03-18          57
## 13 2020-03-19         137
## 14 2020-03-20         193
## 15 2020-03-21         283
## 16 2020-03-22         224
## 17 2020-03-23         418
## 18 2020-03-24         345
## 19 2020-03-25         310
## 20 2020-03-26         232
## 21 2020-03-27         482
## 22 2020-03-28         502
## 23 2020-03-29         487
## 24 2020-03-30         352
## 25 2020-03-31         323
## 26 2020-04-01        1138

Com a função rollmean do pacote zoo

Para usarmos a função rollmean() precisamos definir 4 argumentos:

  • x: variável para a qual se deseja calcular a média móvel
    • No nosso exemplo, a variável casos_novos
  • k: quantidade de linhas a ser considerada no cálculo
    • No nosso caso, cada linha corresponde a um dia e queremos considerar um período de 7 dias; logo, k = 7
  • fill: valor utilizado para preencher as posições em que a média móvel ainda não pode ser calculada
    • No exemplo, vamos deixar como valor ausente, NA
  • align: define em qual linha do intervalo a média será registrada
    • Ao utilizar align = "right", média dos dias 1 a 7 será registrada no dia 7, a média dos dias 2 a 8 será registrada no dia 8, e assim sucessivamente – ou seja, a média será registrada no último dia do período
    • Essa configuração é a mesma que utilizamos no cálculo manual e no exemplo em Excel
library(dplyr)
library(zoo)

dados |> 
  mutate(media_movel = zoo::rollmean(x = casos_novos, k = 7,
                                     fill = NA, align = "right"))
##          data casos_novos media_movel
## 1  2020-03-07           5          NA
## 2  2020-03-08           0          NA
## 3  2020-03-09          12          NA
## 4  2020-03-10           0          NA
## 5  2020-03-11           9          NA
## 6  2020-03-12          18          NA
## 7  2020-03-13          25    9.857143
## 8  2020-03-14          21   12.142857
## 9  2020-03-15          23   15.428571
## 10 2020-03-16          79   25.000000
## 11 2020-03-17          34   29.857143
## 12 2020-03-18          57   36.714286
## 13 2020-03-19         137   53.714286
## 14 2020-03-20         193   77.714286
## 15 2020-03-21         283  115.142857
## 16 2020-03-22         224  143.857143
## 17 2020-03-23         418  192.285714
## 18 2020-03-24         345  236.714286
## 19 2020-03-25         310  272.857143
## 20 2020-03-26         232  286.428571
## 21 2020-03-27         482  327.714286
## 22 2020-03-28         502  359.000000
## 23 2020-03-29         487  396.571429
## 24 2020-03-30         352  387.142857
## 25 2020-03-31         323  384.000000
## 26 2020-04-01        1138  502.285714

Com a função slide_dbl do pacote slider

Para usarmos a função slide_dbl() precisamos definir também 4 argumentos:

  • .x: variável para a qual se deseja calcular a média móvel
    • No nosso exemplo, a variável casos_novos
  • .f: função a ser utilizada no cálculo
    • No nosso caso, vamos usar a função mean, que calcula a média
    • A função slide_dbl() pode ser utilizada para diversos outros cálculos – por exemplo, bastaria substituir mean por sum para calcular uma soma móvel
  • .before: quantidade de observações anteriores que devem ser incluídas no cálculo
    • Como queremos calcular uma média móvel de sete dias, definimos .before = 6, indicando que serão considerados o dia atual e os seis dias anteriores
  • .complete: indica se o cálculo só deve ser realizado quando houver observações suficientes para completar o período
    • Ao utilizarmos .complete = TRUE, os seis primeiros dias da série recebem NA, pois ainda não há sete observações disponíveis para calcular a média móvel
library(dplyr)
library(slider)

dados |>
  mutate(media_movel = slider::slide_dbl(.x = casos_novos, .f = mean,
                                         .before = 6, .complete = TRUE))
##          data casos_novos media_movel
## 1  2020-03-07           5          NA
## 2  2020-03-08           0          NA
## 3  2020-03-09          12          NA
## 4  2020-03-10           0          NA
## 5  2020-03-11           9          NA
## 6  2020-03-12          18          NA
## 7  2020-03-13          25    9.857143
## 8  2020-03-14          21   12.142857
## 9  2020-03-15          23   15.428571
## 10 2020-03-16          79   25.000000
## 11 2020-03-17          34   29.857143
## 12 2020-03-18          57   36.714286
## 13 2020-03-19         137   53.714286
## 14 2020-03-20         193   77.714286
## 15 2020-03-21         283  115.142857
## 16 2020-03-22         224  143.857143
## 17 2020-03-23         418  192.285714
## 18 2020-03-24         345  236.714286
## 19 2020-03-25         310  272.857143
## 20 2020-03-26         232  286.428571
## 21 2020-03-27         482  327.714286
## 22 2020-03-28         502  359.000000
## 23 2020-03-29         487  396.571429
## 24 2020-03-30         352  387.142857
## 25 2020-03-31         323  384.000000
## 26 2020-04-01        1138  502.285714

Como citar esse post, nas normas da ABNT

PERES, Fernanda F. O que é uma média móvel?. Blog Fernanda Peres, São Paulo, 01 jul. 2026. Disponível em: https://fernandafperes.com.br/blog/media-movel/.





Qual a probabilidade de ganhar na Quina? »





comments powered by Disqus