SQL & teste de hipótese · 2025
Zuber — Caronas em Chicago
O clima muda mesmo a duração das corridas Loop–O’Hare aos sábados, de forma confiável o bastante para entrar no planejamento de frota e no preço?
Python · BeautifulSoup · SQL (PostgreSQL) · SciPy
A pergunta
A Zuber, empresa de caronas compartilhadas em Chicago, precisava saber se o clima é uma variável que vale incorporar ao planejamento de frota, às estimativas de chegada e ao preço dinâmico — especificamente, se corridas do Loop ao aeroporto O'Hare demoram mais em sábados de chuva ou tempestade do que em sábados limpos.
Os dados
Registros de clima de Chicago para novembro de 2017, raspados de uma tabela HTML com requests
e BeautifulSoup. Volume e duração das corridas puxados diretamente com SQL do banco da Zuber
(trips, cabs, neighborhoods, weather_records). O teste de hipótese roda sobre corridas
do Loop (neighborhood_id 50) ao O'Hare (neighborhood_id 63) aos sábados: 180 corridas sob clima
"Bad" (chuva ou tempestade na descrição) contra 888 sob "Good".
Método, e por que este método
SQL primeiro: contagem de corridas por companhia de táxi (15–16 de novembro de 2017), por
padrão de nome ("Yellow" ou "Blue", primeira semana de novembro), e Flash Cab mais Taxi
Affiliation Services contra todo o resto agrupado como "Other" (mesma semana). A condição
climática foi rotulada "Bad" quando a descrição continha "rain" ou "storm", e "Good" caso
contrário, depois cruzada com as corridas por timestamp
(trips.start_ts = weather_records.ts), filtrando a rota Loop→O'Hare aos sábados
(EXTRACT(DOW FROM start_ts) = 6).
Para o teste de hipótese: H0 é que a duração média é igual em clima Bad e Good; H1 é que
difere. Alfa de 0,05. Antes de rodar o teste, as variâncias das duas amostras foram checadas:
520.294 para Bad contra 576.382 para Good — diferentes. Por isso o teste rodou com
equal_var=False, que aplica o t de Welch, ajustando os graus de liberdade para um
resultado mais confiável que o t de Student padrão.
Achados
Por companhia: a Flash Cab liderou com 19.558 corridas em 15–16 de novembro, quase o dobro da segunda colocada. Entre companhias com "Yellow" ou "Blue" no nome (primeira semana de novembro), destacaram-se Yellow Cab (33.668) e Taxi Affiliation Service Yellow (29.213). Agrupando tudo menos Flash Cab e Taxi Affiliation Services como "Other" na mesma semana: Other somou 335.771 corridas contra 64.084 da Flash Cab e 37.583 da Taxi Affiliation Services — o resto do mercado é altamente fragmentado.
Por bairro de destino: Loop e River North lideram com folga (10.727 e 9.524 corridas médias respectivamente), refletindo o núcleo financeiro/cultural do centro de Chicago e sua concentração de restaurantes e vida noturna. O O'Hare fica em 5º (2.547) apesar de ser área majoritariamente residencial, puxado pelo tráfego do aeroporto.
O teste de hipótese: p = 6,74e-12, muito abaixo do alfa (0,05), então H0 é rejeitada — o clima afeta a duração das corridas nesta rota. Um boxplot confirma visualmente: a mediana de duração em dias de clima Bad passa de 2.500 segundos, contra menos de 2.000 em dias Good. Os dois grupos têm outliers; os de clima Good passam de 7.000 segundos, possivelmente incidentes de trânsito ou eventos excepcionais em dias que de resto eram limpos.
A decisão que habilita
O clima é uma variável que vale incorporar às operações da Zuber: em sábados chuvosos, corridas Loop–O'Hare demoram significativamente mais, o que pesa diretamente no planejamento de frota, nas estimativas de chegada e no preço dinâmico dessa rota.