Shane Christian
  • Home
  • Resume
  • Projects

Project Details

  • Workforce Turnover Analytics
  • The Problem
  • The Solution
  • Results & Impact
  • Technical Stack
  • Key Skills Demonstrated

Workforce Turnover Analytics

Rebuilding a broken turnover report into a production tool — and catching a statistical artifact before it misled a real staffing decision

Workforce Turnover Analytics

Role: Lead Developer & Analyst · Organization: Select Water Solutions · Status: Production

FastAPI Pandas PostgreSQL Power BI

The Problem

The company’s turnover-analytics report — tracking voluntary and involuntary attrition by tenure band — was failing outright on every request when I picked it up. Underneath that, the report’s logic had several deeper correctness bugs: totals that didn’t reconcile with their own breakdown rows, a termination category that was silently excluded from the dashboard’s filter options despite real data existing for it, and a formula that could mathematically explode toward infinite turnover rates for any business unit being wound down.

The Solution

Stabilized and rebuilt

Fixed the underlying errors causing the page to fail, then rebuilt the tenure-bucket calculations directly against the report’s real per-row data rather than a reconstruction that would have double-counted employees across months — verified by cross-checking computed totals against the raw source data before shipping.

Expanded to the real classification set

The report’s Term Type filter only exposed two categories (Voluntary/Involuntary) when the underlying data actually carried seven, including RIF, Divestiture, Reorganization, and No-Show categories that had been silently miscounted or hidden. Rebuilt the classification logic to expose and correctly total all seven.

Catching a statistical artifact before it misled anyone

While validating results for a business unit that was being wound down, I noticed its turnover rate climbing toward 900%+ — an obviously wrong number for a shrinking, not accelerating, organization. I traced it to a mathematical artifact: a shrinking headcount denominator combined with a fixed trickle of leftover terminations mathematically explodes the rate formula as the denominator approaches zero, even with no real change in attrition behavior. Rather than let a misleading number reach leadership, I added a minimum-roster floor that suppresses the rate calculation (displaying “—” instead of a false figure) whenever a business unit’s headcount drops below a meaningful threshold.

flowchart LR
    A[Shrinking Roster] --> B{Roster < Floor?}
    B -->|Yes| C["Suppress Rate — Show '–'"]
    B -->|No| D[Compute Real Rate]

Results & Impact

Production

Promoted from broken page to live tool

7

Termination categories correctly tracked

900%+

False rate-spike caught before reaching leadership

Reconciled

Grand totals now match their own breakdown rows

What Changed for the Business

  • A working tool — from a page that 500’d on every request to a production dashboard leadership relies on
  • Correct classification — every real termination category is now visible and counted, not silently folded into the wrong bucket
  • Trustworthy rates — a rate that would have mathematically lied about a dissolving org’s attrition is suppressed instead of shipped

Technical Stack

Component Technology Purpose
Backend FastAPI (Python), Pandas Tenure-bucket aggregation, rate calculations
Data Source PostgreSQL, dbt Turnover/headcount warehouse model
Visualization Custom JS charts Year-of-Service / Days-of-Service breakdowns
Testing pytest Aggregation-parity and rate-suppression regression tests

Key Skills Demonstrated

Statistical Judgment

Recognized a mathematically-explosive rate formula as an artifact, not real signal

Data Reconciliation

Rebuilt totals to match their own breakdown rows, verified against raw source data

Production Debugging

Diagnosed and fixed a completely broken page down to its root cause

HR/People Analytics

Correctly classified and tracked all real termination categories, not just the obvious ones

← Back to All Projects ← Prev: EHS Compliance Dashboard Next: Disposal Facility Volumes →

© 2026 Edward Shane Christian

 

Built with Quarto