Você está acompanhando o número de usuários ativos de um aplicativo. A retenção varia por conta de mudanças no produto, concorrência e campanhas de engajamento.
Dados de usuários ativos por mês:
\left[x_{1}, x_{2}, x_{3}, x_{4}, x_{5}, x_{6}, x_{7}\right]=[1000,920,850,950,870,880,910]
(a) Por que uma equação como x_{n}=0.9 x_{n-1} não representa bem os dados reais?
(b) Como uma RNN pode prever o número de usuários ativos no próximo mês \left(x_{8}\right) ?
(c) Quais variáveis de contexto podem melhorar a performance do modelo?

Passo 1

O enunciado nos dá uma série temporal de usuários ativos por mês
[x_{1},x_{2},x_{3},x_{4},x_{5},x_{6},x_{7}] = [1000,920,850,950,870,880,910]
e pede:
(a) por que um modelo do tipo
x_{n} = 0.9\,x_{n-1}
não representa bem esses dados;
(b) como uma RNN poderia prever x_{8};
(c) que variáveis de contexto incluir para melhorar a predição.
O conteúdo é modelagem de séries temporais e redes neurais recorrentes.

Passo 2

(a) O modelo
x_{n} = 0.9\,x_{n-1}
é um AR(1) determinístico com decaimento fixo de 10% a cada mês. Na prática, temos:
  1. Flutuações irregulares (o valor sobe de 850 para 950 em n=4).
  2. Ruído e choques externos (campanhas, concorrência).
  3. Não captura sazonalidade nem mudanças de tendência.
    Logo, um decaimento constante não consegue acompanhar aumentos repentinos nem variações de magnitude.

Passo 3

(b) Uma RNN prevê x_{8} aprendendo padrões de dependência temporal. Funciona assim:
  1. Para cada mês t a RNN atualiza seu estado oculto h_{t} via
h_{t} = \sigma\bigl(W_{hh}\,h_{t-1} + W_{xh}\,x_{t} + b_{h}\bigr),
onde \sigma é uma função de ativação (ex.: tanh).
2. Gera a saída estimada \hat{x}_{t+1} por
\hat{x}_{t+1} = W_{hy}\,h_{t} + b_{y}.
  1. Treina os pesos (W_{hh},W_{xh},W_{hy},b_{h},b_{y}) minimizando o erro entre \hat{x}_{t+1} e x_{t+1} nos dados de treino.
  2. Depois de treinar até t=7, alimenta x_{7} e h_{7} para gerar \hat{x}_{8}.

Passo 4

(c) Para melhorar a predição, podemos enriquecer o vetor de entrada em cada passo com variáveis de contexto que afetam retenção, por exemplo:
• Gasto em marketing ou número de campanhas no mês t.
• Lançamentos de novas funcionalidades ou versões do app.
• Indicadores de concorrência (preço ou tráfego dos rivais).
• Sazonalidade (mês do ano, feriados).
• Métricas de engajamento (tempo médio no app, sessões diárias).
• Eventos externos (pandemias, crises econômicas).

Resposta

(a) Porque um decaimento fixo de 10% não captura variações, choques e reversões de tendência observados nos dados reais.
(b) Treinando uma RNN que atualiza seu estado oculto h_{t} com
h_{t} = \sigma(W_{hh}\,h_{t-1}+W_{xh}\,x_{t}+b_{h}),\n
e produzindo a previsão
\hat{x}_{t+1}=W_{hy}\,h_{t}+b_{y},\n
podemos, após treinar até t=7, gerar \hat{x}_{8}.
(c) Variáveis de contexto como gasto em marketing, lançamentos de produto, indicadores de concorrência, sazonalidade, métricas de engajamento e eventos externos ajudam a capturar melhor as oscilações da série.

Exercícios relacionados