A partir de dados da Winkpedia, dispostos em /data/search_data.csv, respoder as questões abaixo:
A Winkpedia reuniu dados de buscas e a navegação depois das buscas e dispos nas seguintes variáveis:
Vamos visualizar a disposição dessas variáveis dentro do dataset
head(data %>% arrange(session_id))
data %>% ggplot(aes(x = num_clicks)) + geom_histogram(binwidth = 1)
## Warning in as.POSIXlt.POSIXct(x, tz = tz): unknown timezone '%d/%m/%Y'
data %>%
group_by(session_start_date) %>%
mutate(clicks_per_day = sum(num_clicks)) %>%
ggplot(aes(x = session_start_date, y = clicks_per_day, colour=clicks_per_day)) +
geom_line() +
labs(x = "Data", y = "Cliques por Dia") +
theme(legend.position = "none")
Vemos no gráfico acima que número de cliques foi maior no início de Março.
clicks <- data %>%
filter(num_clicks > 0) %>%
group_by(session_start_date, group) %>%
summarise( clicked_sessions = n_distinct(session_id) )
sessions <- data %>%
group_by(session_start_date, group) %>%
summarise( total_sessions = n_distinct(session_id) )
sessions_by_date = clicks %>%
inner_join(sessions, by = c("session_start_date", "group")) %>%
mutate(clickthrough_rate = clicked_sessions/total_sessions)
ggplot(data = sessions_by_date, aes(x = session_start_date, y = clickthrough_rate, group = group, color = group)) +
geom_line() + labs(x = "Data", y = "Taxa de Cliques") + guides(color = guide_legend("Grupos"))
Analisando o gráfico acima, é fácil ver que o grupo A possui uma taxa de cliques maior.
first_search <- data %>%
filter(num_clicks > 0) %>%
group_by(session_id) %>%
summarise(first_search_index = min(search_index))
ggplot(first_search , aes(x = first_search_index)) +
geom_histogram() +
labs(y="Frequência", x="Primeiro Clique para Buscar")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Podemos ver que o primeiro resultado é o mais clicado. No dia-a-dia, isso indica a eficiência do mecânismo de busca, afinal, na maioria das vezes os primeiros resultados correspondem ao que o usuário queria.
empty_results_search <- data %>%
filter(results == 0) %>%
group_by(session_start_date) %>%
summarise(num_results_empty = n())
global_results <- data %>%
group_by(session_start_date) %>%
summarise(total_results = n())
zero_global_result_rate <- empty_results_search %>%
inner_join(global_results, by=c("session_start_date")) %>%
mutate(zero_results_rate = num_results_empty/total_results)
ggplot(data=zero_global_result_rate, aes(x=session_start_date, y=zero_results_rate)) +
geom_line() +
labs(x="Data", y="Taxa de Resultado Vazio")
Vemos que a taxa dispara na proximidade do dia 8 de Março.
group_results <- data %>%
group_by(session_start_date, group) %>%
summarise(total_results = n())
zero_group_result_rate <- empty_results_search %>%
inner_join(group_results, by=c("session_start_date")) %>%
mutate(zero_results_rate = num_results_empty/total_results)
ggplot(data=zero_group_result_rate, aes(x=session_start_date, y=zero_results_rate, group=group, color=group)) +
geom_line() +
labs(x="Data", y="Taxa de Resultado Vazio")
Analisando o gráfico que discrimina grupo, vemos que o grupo B teve uma taxa de resultados vazios maior do que no grupo A no dia 6.