Engineer Efficiency Report

Use this report to assess the historical efficiency of Scrum engineers keeping in mind that this data, like Scrum Team Efficiency, is a diagnostic not a ranking. Metrics like “Throughput”, “Cycle Time” and “High Complexity/Priority” need to be taken together in order to assess the effectiveness of a resource.

About this report

Note below that complexity-weighted cycle time metric exists specifically so an engineer who takes on harder stories isn't penalized for a longer absolute cycle time; the quadrant chart's labels describe output/speed, not quality or effort. For example, Engineer A (or whichever engineer the filtered data shows in the "High output" quadrants with a high High-complexity/priority mix % in the table) vs. the teammate with the lowest mix % - "same team, deliberately different work profiles, from the guaranteed archetypes." Read the quadrant labels aloud - "High output / fast," etc. - and note none of them say “good" or "bad."

Dataset

Synthetic Jira/ServiceNow-style data, regenerated fresh on every app startup (seed 42, fibonacci story-point scale, generated 2026-08-24T02:02:51.692605+00:00). Not real individual performance data - see "How to read this report" below.

Throughput vs. cycle time

Each dot is one engineer, anonymized as "Engineer A/B/C..." within their team. Quadrant boundaries are the median of whatever's currently shown (org-wide, or one team via the filter above) - not a fixed threshold. Quadrant position is descriptive, not a ranking: lower output can reflect deliberate assignment to fewer high-complexity items, not lower effort.

Engineers

EngineerTeamDeliveredThroughput (pts/sprint) Complexity-weighted cycle time (days/pt)High-complexity/priority mix Bug-to-story ratioRework rate
Engineer A Team Falcon 14 9.0 0.92 71.4% 7.1% 14.3% off target
Engineer B Team Falcon 23 3.5 1.93 30.4% 0.0% 0.0% on target
Engineer C Team Falcon 14 4.0 1.39 42.9% 0.0% 0.0% on target
Engineer D Team Falcon 17 5.0 1.57 29.4% 0.0% 11.8% off target
Engineer E Team Falcon 26 10.0 1.32 42.3% 11.5% 11.5% off target
Engineer F Team Falcon 15 3.0 1.29 26.7% 0.0% 6.7% off target
Engineer A Team Nova 5 0.0 0.96 60.0% 0.0% 0.0% on target
Engineer B Team Nova 5 1.0 0.88 60.0% 0.0% 0.0% on target
Engineer C Team Nova 7 1.5 1.16 0.0% 0.0% 0.0% on target
Engineer D Team Nova 7 1.5 0.78 28.6% 14.3% 0.0% on target
Engineer E Team Nova 6 1.0 1.06 33.3% 0.0% 16.7% off target
Engineer F Team Nova 8 2.0 0.67 37.5% 12.5% 0.0% on target
Engineer G Team Nova 7 2.0 1.17 57.1% 0.0% 0.0% on target
Engineer H Team Nova 6 3.5 0.59 33.3% 0.0% 0.0% on target
Engineer A Team Orion 14 13.0 1.03 78.6% 7.1% 7.1% off target
Engineer B Team Orion 7 1.5 2.02 57.1% 0.0% 0.0% on target
Engineer C Team Orion 15 4.0 1.25 20.0% 0.0% 6.7% off target
Engineer D Team Orion 13 3.0 1.27 15.4% 0.0% 0.0% on target
Engineer E Team Orion 10 3.0 0.99 20.0% 0.0% 10.0% off target
Engineer A Team Phoenix 9 2.0 1.18 55.6% 11.1% 22.2% off target
Engineer B Team Phoenix 14 3.0 0.91 21.4% 7.1% 0.0% on target
Engineer C Team Phoenix 11 3.5 1.07 27.3% 0.0% 9.1% off target
Engineer D Team Phoenix 12 5.0 0.78 25.0% 0.0% 0.0% on target
Engineer E Team Phoenix 8 1.0 1.89 25.0% 12.5% 12.5% off target
Engineer F Team Phoenix 13 4.5 0.78 30.8% 0.0% 0.0% on target
Engineer A Team Atlas 22 16.0 1.05 68.2% 4.5% 18.2% off target
Engineer B Team Atlas 18 4.0 1.48 27.8% 0.0% 27.8% off target
Engineer C Team Atlas 19 5.0 1.24 10.5% 5.3% 21.1% off target
Engineer D Team Atlas 17 6.5 0.97 35.3% 0.0% 5.9% off target
Engineer E Team Atlas 19 19.0 0.64 57.9% 0.0% 10.5% off target
Engineer F Team Atlas 24 5.5 1.32 50.0% 0.0% 20.8% off target
Engineer A Team Comet 17 14.5 0.94 64.7% 0.0% 11.8% off target
Engineer B Team Comet 20 4.5 1.20 15.0% 0.0% 5.0% on target
Engineer C Team Comet 21 6.5 0.89 33.3% 4.8% 14.3% off target
Engineer D Team Comet 13 5.0 0.97 30.8% 0.0% 7.7% off target
Engineer E Team Comet 16 10.0 1.18 50.0% 0.0% 0.0% on target
Engineer F Team Comet 15 3.5 1.12 46.7% 6.7% 0.0% on target
Engineer A Team Titan 11 9.0 0.81 72.7% 0.0% 18.2% off target
Engineer B Team Titan 9 1.5 1.09 55.6% 11.1% 22.2% off target
Engineer C Team Titan 10 2.0 1.27 40.0% 10.0% 30.0% off target
Engineer D Team Titan 15 6.0 0.84 26.7% 0.0% 20.0% off target
Engineer E Team Titan 9 2.0 0.71 44.4% 0.0% 11.1% off target
Engineer F Team Titan 11 2.0 1.10 27.3% 0.0% 27.3% off target
Engineer G Team Titan 9 1.5 1.14 55.6% 0.0% 22.2% off target
Engineer H Team Titan 8 2.5 1.19 37.5% 0.0% 37.5% off target
Engineer A Team Lynx 10 8.0 1.27 90.0% 0.0% 0.0% on target
Engineer B Team Lynx 7 1.0 2.03 28.6% 0.0% 14.3% off target
Engineer C Team Lynx 9 1.5 1.74 22.2% 0.0% 0.0% on target
Engineer D Team Lynx 10 3.5 0.96 50.0% 0.0% 0.0% on target
Engineer E Team Lynx 12 6.5 1.36 58.3% 0.0% 0.0% on target
Engineer F Team Lynx 8 2.5 1.13 25.0% 0.0% 0.0% on target

How to read this report

Diagnostic, not a ranking. These are individual metrics profiles, not a leaderboard - there is no combined "score" anywhere on this page. The complexity-weighted cycle time metric exists specifically so an engineer who takes on harder stories isn't penalized for a longer absolute cycle time; the quadrant chart's labels describe output/speed, not quality or effort.

Small sample sizes. An engineer with few delivered stories in the trailing window will show noisy rates - treat single-digit denominators (see "Delivered" in the table) with caution.

Synthetic data. This dataset is generated, not real individual performance history - see the Dataset note above. A synthetic dataset with no true confounding structure can also show patterns that would not hold in real data; nothing here should be read as a causal explanation for why a number is what it is.

Metric definitions

Throughput
Story points delivered per sprint (median over the trailing window) - points, not raw ticket count, so completing a few large stories counts the same as completing many small ones of equal total size.
Complexity-weighted cycle time
Median of (cycle time ÷ story points) across delivered stories - a days-per-point rate, so an engineer who takes on bigger stories isn't penalized for a longer absolute cycle time.
High-complexity/priority mix
Share of delivered work that was High/Critical priority or at/above the 75th-percentile point value (7.2 on the fibonacci scale).
Bug-to-story ratio
Bugs later linked back to this engineer's delivered stories, divided by stories delivered.
Rework rate
Share of delivered stories later reopened.

Development notes

This application consists of a data generator, metrics/analytics engine, and this live web app. It was built as a deliberately gated, three-phase build (data generator → metrics/analytics engine → web app). The database regenerates from scratch on every app startup.

A synthetic dataset has been modeled on Jira/ServiceNow-style Scrum records: Teams, Scrum Masters, Engineers, Epics, Sprints, Stories/Bugs/Tasks/Spikes, and a full status-transition history (for cycle time / lead time / blocked-time calculations). As real Jira exports are messy, realistic messiness is intentionally injected, along with logic to handle/account for that noise, since this is exactly the kind of disagreement a real Jira export's "Resolved" field and changelog can show.

It's built with deliberate, configurable statistical variance such that at least one team has elevated scope-change/reopen rates (poor Scrum process health) and each team has at least one engineer skewed toward high-complexity/high-priority work and one skewed toward low-priority support work. All for demonstration purposes.

Tech stack

Python 3, Flask, SQLite via stdlib sqlite3, Jinja2, Chart.js from a CDN, python-dotenv, gunicorn, and pytest. The dataset generator and metrics engine are pure Python, which is exactly what makes regenerating the whole dataset from scratch on every app startup fast enough to do.