← Back to Projects

GDOT PM3 Reporting Tool

GDOT PM3 Reporting Tool logo

2020 · Transportation Analytics · Civic Tech · Data Engineering · Python

GDOT PM3 Reporting Tool

I designed and built the GDOT PM3 Reporting Tool, a Python-based analytics pipeline for the Georgia Department of Transportation that turns large transportation datasets into usable performance estimates. The goal was not primarily to support the formal reporting cycle, but to give GDOT a practical internal system for generating updated estimates between reporting intervals so teams could track whether planning and operations work was improving outcomes.

The tool combines NPMRDS travel time data, TMC roadway metadata, GDOT speed-limit inputs, American Community Survey tables, and CMAQ emissions records into a reproducible workflow that can run from either a command-line interface or a lightweight desktop GUI.

GDOT PM3 Reporting Tool UI panel example

Overview

The core engineering challenge was processing year-scale transportation data on commodity hardware while still producing outputs that were repeatable and traceable.

To support that, I implemented:

The system computes the core PM3 measures, including:

It then exports both a consolidated report and supporting intermediate datasets for auditability.

Standards Context

The tool operates in the context of PM3 system performance reporting under 23 CFR Part 490, but the important practical value is that it lets GDOT rerun the same analysis as new source data becomes available instead of waiting for the next formal reporting deadline.

The implementation was guided by FHWA’s published PM3 methodology rather than ad hoc local rules, including:

Those references shaped the handling of LOTTR and TTTR calculations, PHED thresholding and hourly volume estimation, applicable facility and urbanized-area filters, and the ACS-based non-SOV methodology.

My Contributions

I wrote the application logic, configuration system, GUI launcher, processing monitor, data-loading utilities, and reporting outputs.

From a software engineering standpoint, the project reflects a pragmatic approach to civic-data tooling:

Highlights

Tech

Python, pandas, NumPy, Tkinter, psutil, JSON-based configuration, large CSV batch processing