Skip to content

Instantly share code, notes, and snippets.

@jtrecenti
Created August 14, 2025 00:00
Show Gist options
  • Save jtrecenti/6324b086d7a77ac89b24bb25815613d2 to your computer and use it in GitHub Desktop.
Save jtrecenti/6324b086d7a77ac89b24bb25815613d2 to your computer and use it in GitHub Desktop.
---
title: "Análise exploratória de dados"
format: html
---
```{r}
pak::pak("jtrecenti/aprendizap")
```
```{r}
library(aprendizap)
azap_list()
```
```{r}
dim_teachers <- azap_read(
"dim_teachers.parquet"
)
```
```{r}
dplyr::glimpse(dim_teachers)
```
```{r}
# duvida: por que tem tantos missings?
# certeza: missings não têm relação com a data de entrada
# hipótese: os missings são aleatórios
```
```{r}
dim_teachers |>
dplyr::pull(data_entrada) |>
range()
```
```{r}
dim_teachers |>
dplyr::count(estado, sort = TRUE) |>
print(n = 300)
```
```{r}
dim_teachers |>
dplyr::filter(!is.na(estado)) |>
dplyr::pull(data_entrada) |>
range()
```
## Forma direcionada
Como a quantidade de cadastros está evoluindo ao longo do tempo?
```{r}
da_no_tempo <- dim_teachers |>
dplyr::mutate(mes = as.Date(lubridate::floor_date(data_entrada, "month"))) |>
dplyr::count(mes) |>
dplyr::mutate(acu = cumsum(n))
```
```{r}
p1 <- da_no_tempo |>
ggplot2::ggplot(ggplot2::aes(mes, n)) +
ggplot2::geom_line()
```
```{r}
p2 <- da_no_tempo |>
ggplot2::ggplot(ggplot2::aes(mes, acu)) +
ggplot2::geom_line()
```
```{r}
library(patchwork)
p1 / p2
```
```{r}
# dúvida: visualizou_metodologia_ativa NA é 'não'?
# dúvida: é possível calcular o número de usuários ativos?
dim_teachers |>
dplyr::count(visualizou_metodologia_ativa)
```
```{r}
fct_teachers_contents_interactions <- azap_read(
"fct_teachers_contents_interactions.parquet"
)
```
```{r}
fct_teachers_contents_interactions |>
dplyr::glimpse()
```
```{r}
stg_formation <- azap_read(
"stg_formation.parquet"
)
```
```{r}
stg_formation |>
dplyr::glimpse()
```
```{r}
stg_formation |>
dplyr::count(type)
```
```{r}
# dúvida: quem são esses dois?
stg_formation |>
dplyr::anti_join(dim_teachers, c("unique_id_aprendizap" = "unique_id")) |>
dplyr::count(unique_id_aprendizap)
```
```{r}
dim_teachers
```
# O que temos até agora
- **dúvida**: quem são esses dois que estão em stg mas não em dim?
- **dúvida**: por que tem tantos missings?
- **dúvida**: visualizou_metodologia_ativa NA é 'não'?
- **dúvida**: é possível calcular o número de usuários ativos?
- **hipótese**: os missings são aleatórios
- **certeza**: missings não têm relação com a data de entrada
## Sugestões de análises para os "squads"
- **Dimensão 1**: é possível estimar desengajamento ao longo do tempo? Por exemplo, é possível criar uma estatística de intervalo de tempo entre primeira e última interação?
- **Dimensão 2**: que estatísticas são possíveis de obter a partir do cruzamento entre interações e etapa/série?
- **Dimensão 3**: análise do tempo médio de sessão. Está caindo?
- **Dimensão 4**: existem usuários que estão cadastrados, mas nunca tiveram interações? Quantos? O que podemos fazer com eles?
- **Dimensão 5**: o que é possível extrair de interessante a partir das tabelas da Mari IA?
- **Dimensão 6**: É possível estimar desengajamento a partir do progresso nas formações?
Outras sugestões: imagem da Nath.
Entregável: lista de dúvidas, hipóteses e certezas para cada dimensão.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment