Automatic classification of field work, productivity, and cost from raw telemetry
An end-to-end analytics platform that turns raw GPS pings into a measured record of field work —
what got done, what was skipped, and what the next job should cost.
The Challenge
The client runs field crews across multiple states, performing work along long geographic routes.
The only objective record of that work was raw GPS telemetry — a position ping from each unit every
few seconds — plus end-of-day paperwork filled out by hand.
No Objective Record of Work
Nobody could answer basic questions — how much work got done, which stretches are finished, which were skipped — without manually reconstructing the day.
Manual Reporting & Validation
Progress reporting depended on operator logs, and invoicing validation meant checking hand-filled paperwork against memory.
Bids Built on Gut Feel
Without measured production rates, estimates for how long the next job would take — and what it should cost — rested on experience and intuition.
The Solution
An end-to-end analytics platform that turns raw telemetry into answers automatically —
from ingestion, through a geospatial classification model, to an interactive review application.
Geospatial Data Pipeline
An automated service pulls GPS telemetry from the tracking provider's API into a PostgreSQL warehouse hosted in Azure, and a dbt project transforms the raw pings into cleaned, analytics-ready tables — immutable raw data, validated positions enriched with terrain and route geometry, and business metrics on top.
Ingest Telemetry
GPS pings pulled automatically from the tracking provider's API.
PostgreSQL on Azure
Raw pings land unmodified in a cloud-hosted warehouse.
dbt Transformations
Layered models clean, validate, and enrich each position with terrain and route geometry.
Classification Model
Python scores every fix as work or transit and credits it to precise route segments.
Review App
A React front end maps progress, plays back each day, and forecasts cost.
Runs automatically every night — raw pings land in the warehouse and classified, mapped results are waiting in the app by morning.
Field-Behavior Classification Model
A Python model combines each unit's movement patterns — speed, heading, position relative to the route, height above terrain — with GIS data to decide, fix by fix, whether the crew was working or in transit. Work is credited to precise segments of the route, producing not just "hours worked" but a map of exactly what was completed, skipped, or needs review.
Cost Model Trained on Completed Work
A companion model learns production rates from the segments crews have already finished and predicts the effort remaining on unworked ones — turning measured history into forward-looking cost forecasts.
Interactive Review Application
Everything surfaces in a React app: interactive maps with a full playback of each day's activity, per-segment progress, productivity statistics, and cost forecasts. Reviewers inspect any stretch the model was unsure about, correct its classification, and save the result — keeping a human in the loop where it matters.
Results
Overnight, Automatic Reporting
Reporting that previously required manually piecing together logs and paperwork now happens automatically overnight — managers open the app in the morning and see yesterday's production on the map.
Objective Productivity Measurement
Productivity is measured consistently across crews and days from the telemetry itself, rather than self-reported.
Skipped Work Caught Early
Skipped or incomplete sections are flagged the moment the surrounding work is done, instead of being discovered later in the field.
Data-Driven Cost Forecasts
With production rates measured per segment, the client forecasts the time and cost of upcoming work from data instead of intuition.