Skip to content

BU-Spark/ds-wgbh-bus-equity

Repository files navigation

WGBH Impact and Equity: Boston Bus Equity (Fall 2024 Project)

Overview

This repository contains all code, data, and documentation for the Boston Bus Equity project, conducted in partnership with Paul Singer, Senior Editor, Equity & Justice at GBH News. This project, part of BU’s DS701 practicum course, aims to explore the impact of MBTA bus performance on Boston residents, examining service disparities and trends across different neighborhoods. The analysis will help inform news stories on the accessibility and equity of Boston’s public transportation system.

Project Summary

This project aims to deliver a detailed analysis of the Massachusetts Bay Transportation Authority (MBTA) bus performance in 2019 and 2022. The main focus is to compare the ridership and reliability data for each bus route between the two years. This study will identify any areas where bus service could be improved to better meet community needs. By analyzing the performance for each route, this report can inform data-driven decision-making for policymakers and MBTA to enhance overall transit system performance to better serve Boston residents and communities.

Key Questions

  • What is the ridership per bus route?
  • What are the end-to-end travel times for each bus route in the city?
  • On average, how long does an individual have to wait for a bus (on time vs. delayed)?
  • What is the average delay time of all routes across the entire city?
  • What is the average delay time of the target bus routes (22, 29, 15, 45, 28, 44, 42, 17, 23, 31, 26, 111, 24, 33, 14 - from Livable Streets report)?
  • Are there disparities in the service levels of different routes (which lines are late more often than others)?

Repository Structure

  • dataset-documentation/: Documentation and preliminary data cleaning notes.
  • notebooks/: Jupyter notebooks for data analysis and visualization, including the latest work on answering base project questions.
  • utils/data_cleaning/: Python scripts for data cleaning and pre-processing.
  • .github/workflows/: GitHub Actions for CI/CD and code quality checks.
  • requirements.txt: Python dependencies for project setup.
  • README.md: Project overview and repository navigation guide (this file).

Datasets

  • The datasets for this project are listed below. Please followed the utils/data_cleaning for more about how datasets are cleaned for this project.

Ridership

Reliability

Getting Started

Prerequisites

  • Python 3.8 or above
  • Required libraries are listed in requirements.txt.

Utilizing Jupyter Notebooks for Analysis

The notebooks/ folder contains Jupyter notebooks used for data analysis and visualization. Here are step-by-step instructions to use them effectively:

  1. Setup Environment:

    • Ensure Python 3.8 or above is installed on your machine.
    • Install the required dependencies by running:
      pip install -r requirements.txt
    • Optionally, create a virtual environment for the project to isolate dependencies.
  2. Access Notebooks:

    • Navigate to the notebooks/ directory.
    • Open the notebook of interest using Jupyter Notebook or JupyterLab by running:
      jupyter notebook
  3. Notebook Structure:

    • Each notebook is structured to address specific key questions from the project.
    • Sections typically include:
      • Introduction: Overview of the analysis.
      • Data Loading and Preprocessing: Steps to prepare the data for analysis.
      • Exploratory Data Analysis (EDA): Visualization and descriptive statistics.
      • Results and Insights: Key findings from the analysis.
  4. Running Notebooks:

    • Execute cells sequentially to ensure dependencies are met.
    • Modify code as needed to explore different scenarios or test hypotheses.
  5. Saving Outputs:

    • Use built-in notebook features to export results as HTML or PDF.
    • Save visualizations and tables for inclusion in reports or presentations.

Contributions

Contributions to this project are welcome. Please follow these steps:

  1. Fork the repository and create a new branch for your changes.
  2. Make edits or add new features.
  3. Submit a pull request with a detailed description of your changes.

License

This project is licensed under the GPL-3.0 license. See the LICENSE file for more details.