FlowLens

No data loaded
Data guide

Drop your CSV here or click to browse

Works with any CSV containing workflow stage date columns  ·  Data stays on your machine

Column mapping

Change these anytime — charts update instantly
When the item entered your flow — e.g. "In Dev", "Committed"
When the item was done — e.g. "Closed", "Released"
Ticket reference for tooltips
Display name for tooltips
Ticket URL — click dots on charts to open in a new tab
Days the item was blocked — used in flow efficiency
Boolean flag — Yes/No, True/False, 1/0. If not mapped, blocked indicators are hidden.
Filters Any column — all active filters combine (AND)
1
2
3
Items completed
Cycle time p50
Cycle time p85
Throughput avg/wk
WIP (today)
Flow efficiency
Items blocked
Flow
Detail
Speed
Cycle time is measured from your configured start stage (e.g. To Do) to your end stage (e.g. Done). It is the total time an item spent in your system — including queues. This is what your stakeholders experience as "how long did that take?"
The 85th percentile is your Service Level Expectation — commit to delivering 85% of items within this number of days. It's realistic (not best-case) and builds trust over time.
How fast do we finish?
Cycle time percentiles — how long completed items actually took
No data yet
Forecast
Monte Carlo simulation runs your historical weekly throughput through 10,000 simulated 30-day periods to estimate how many items you are likely to complete. The result is a probability distribution — not a single number.
How to read it: "85% chance of 6 or more" means that in 85% of simulated futures you complete at least 6 items. More reliable than velocity because it captures the natural variability in your actual delivery, not an idealised average.
What can we close this month?
Monte Carlo — likely completions in the next 30 days
No data yet
WIP
Work in progress = items that have entered your start stage but not yet reached your end stage as of today.
Little's Law: Cycle Time = WIP ÷ Throughput High WIP directly causes long cycle times. Reducing WIP is usually the fastest lever for improving delivery speed.
How much are we juggling?
Items currently in progress
Risk
Smelly tickets are WIP items older than your 85th percentile cycle time. By definition, 85% of your completed items finished faster than this threshold — so anything still in progress beyond it is a statistical outlier worth reviewing.
The name comes from code smell — not necessarily broken, but worth a closer look. Ask: is it blocked? Forgotten? Too large to finish? The older it gets, the more it is slowing everything else down (Little's Law).
Smelly tickets
WIP items in progress longer than your 85th percentile cycle time
No data yet
Focus
Multitasking index = for each item that was started, count how many other items were already in progress at that moment. Average this across all items. A high number means the team is constantly context-switching.
Research suggests that switching between more than 2–3 tasks simultaneously causes significant overhead. Each switch costs focus time and delays everything in flight. High multitasking index is a leading indicator of long cycle times.
How to improve it: Set a WIP limit. Finish existing items before starting new ones. Even one person fully finishing one thing before picking up another makes a measurable difference.
How many balls in the air when we start something?
Average in-progress items at the moment each new item is started
No data yet
Are we finishing what we start?
What this shows — items started (entered your start stage) vs items completed (reached your end stage) each week. When the green "completed" bars are consistently higher than blue "started" bars, your backlog is shrinking. When started consistently outpaces completed, WIP grows and cycle times will lengthen.
What to look for — a healthy team finishes roughly as much as it starts each week (steady state). A team that repeatedly starts more than it finishes is accumulating WIP debt — Little's Law guarantees this will show up as longer cycle times. Spikes in "started" without matching spikes in "completed" often signal unplanned work or poor commitment discipline.
The commitment point matters — if your start column is your backlog (not your commitment point), this chart will show large volumes of items "starting" that haven't actually been committed to. Map your start column to the column where work is actively pulled, not where it's first created.
Items started vs completed per week
Are tickets getting stale?
What this shows — WIP count (green bars, left axis) and average age of in-progress items in days (purple line, right axis) over time. Rising bars mean more work is being started. Rising average age means items are sitting longer before completing.
Average age is the key signal — if it's climbing while WIP count is flat, the same items are ageing in place and nothing is finishing. That's a flow problem. Use the Aging WIP tab to find exactly which items are driving it.
Healthy pattern — WIP count is flat or gently declining, average age is flat or declining. This means the team is completing work at least as fast as new work arrives.
WIP count (bars) and average age in days (line)

Cycle Time Control Chart

Each dot is one completed item. Percentile lines show where most of your work lands — aim to keep items below the 85th.
What is cycle time?Cycle time is how long it takes to complete an item, measured from when it enters your start stage to when it enters your end stage (as set in column mapping). It is the customer's experience of wait time.
What do the percentile lines mean?50% of items complete within the green line. 85% complete within the orange line. Use the 85th as your Service Level Expectation (SLE) — a realistic commitment: "We will deliver 85% of items within X days."
Orange dots were blocked at some point during their journey. Compare blocked vs unblocked dots to see how much blocking inflates cycle time.
What to look for: Dots clustering tightly below the 85th line = predictable team. Outliers above the 95th = worth a conversation. Trend upward over time = system is slowing — check WIP.
50th percentile
70th percentile
85th percentile
95th percentile

Throughput

Items completed per week. The orange line is a 4-week rolling average — flat and steady is what you want.
What is throughput?The number of items completed in a given week. This is the engine of your system — throughput drives forecasts, and combined with WIP it determines cycle time.
Why use a rolling average?Weekly counts are noisy (holidays, sprints, batch releases). The 4-week rolling average smooths this out so you can see the real trend.
What to look for: Steady or rising average = healthy. A sustained drop = investigate (team capacity, blocking, process issues). Spiky pattern with long gaps = work is being batched rather than flowing continuously.
Throughput and forecasting: The Monte Carlo forecast on the Flow Insights tab samples this historical throughput distribution to estimate future completions. More stable throughput = tighter, more reliable forecast range.

Team Health

A scorecard comparing the current period against the previous period of the same length. Green = improving or stable. Amber = watch. Red = take action.
What this shows — key flow metrics for the selected period, compared to the same-length period before it. Each card shows the current value, the direction of change, and a traffic light signal.
Throughput — items completed per week. Higher is better. Declining throughput is the first sign of a flow problem.
Cycle time (p50) — median time from commitment to done. Lower is better. Rising cycle time usually follows rising WIP — Little's Law in action.
System WIP (avg/wk) — average number of committed-but-not-done items per week across the period. This is a historical average, not today's live count — it will differ from the WIP number in the summary bar, which shows current items only.
Backlog size — items in pre-commitment stages (before your Start column). Only available if you have stages configured before your Start column. Growing backlog means demand is exceeding commitment rate.
FFE time (p50) — median time items spend in the backlog before commitment. Only available with pre-commitment stages. Rising FFE means decisions are taking longer — a prioritisation or capacity issue upstream of your flow.
Flow efficiency — percentage of cycle time spent in active work vs queues. Requires stages to be marked P (process) or Q (queue) in Config.
Important: If your Start column is where work first enters the system (not where the team commits to it), backlog and FFE metrics cannot be separated from system metrics. Learn about the commitment point →
Period
All metrics below cover the selected period only. The summary bar at the top uses your full date-filter range — numbers will differ.

WIP Over Time

Work in progress count each week. A stable or declining WIP leads to more predictable flow — rising WIP means more is starting than finishing.
Little's LawThe most important equation in flow metrics: Cycle Time = WIP ÷ Throughput If WIP doubles and throughput stays flat, cycle time doubles. You cannot improve cycle time without managing WIP.
Rising WIP means more is being started than finished. This is the single most common cause of long cycle times — not team capacity or skill, but too many things in flight at once.
What to look for: Flat or declining WIP = sustainable system. Steadily rising WIP = overloaded system heading for slowdown. A sudden WIP spike = something got stuck (check Aging WIP for the culprit).
What to do: Set a WIP limit. Stop starting, start finishing. Even a soft limit ("flag it if WIP goes above X") creates useful conversation.

Cumulative Flow Diagram

Done anchors the bottom — its slope is your throughput. To Do sits at the top — its growth is your commitment rate.
How to read the bandsEach coloured band is a workflow stage. The height of the band at any point = WIP in that stage. A band that widens over time = work is accumulating there — a bottleneck. A flat or shrinking band = flow is moving through.
Slopes and linesThe slope of any line = its throughput rate (items per day). Two lines with the same slope = balanced flow between those stages. The horizontal distance between any two lines at a point = approximate cycle time between those stages.
Stage snapshot panelHover over the chart to see WIP per stage for that week. The ~Xd is an approximate cycle time for that stage using Little's Law: CT ≈ WIP ÷ throughput rate It reflects flow at that point in time — not the same as historical average stage time.
What to look for: Parallel lines with equal slope = smooth, predictable flow. Diverging lines = WIP growing. Flat bottom (Done) line = throughput has stalled. A big orange or red band = your bottleneck.
Band height = WIP in that stage Band widens = work piling up, possible bottleneck Line slope = throughput rate Horizontal distance between two lines = cycle time Flat line = no flow through that stage
Zoom:
Hover over the chart to see stage breakdown
Click chart to place a marker · click again to add a second
* Cycle time approximated using Little's Law (WIP ÷ recent throughput)

Cycle Time Distribution

How often items take a given number of days. A tight cluster to the left = predictable team. Long tail to the right = outliers worth investigating.
What this showsThe shape of your delivery. Each bar = how many items completed at that cycle time. The shaded background regions correspond to percentile bands (50th, 70th, 85th, 95th).
Tight cluster on the left means most work completes quickly and consistently — highly predictable. The team has found a reliable way of working.
Long right tail means some items take much longer than most. This makes forecasting harder and erodes stakeholder trust. Usually caused by: items being too large, blockers, context switching, or items sitting in queues.
Two peaks (bimodal) suggests two different types of work with different natural cycle times — consider whether they should be tracked separately.

Flow Efficiency Distribution

How much of each item's total time was spent in active (process) stages vs waiting in queues or blocked. High 100% bar usually means items went straight from open to done — filter it out to read the real pattern.
What is flow efficiency? Active time (stages marked P) divided by total time including queues (stages marked Q) and blocked days. 100% means an item moved continuously with no waiting — in practice this often means dates were entered in a single click rather than reflecting real activity.
Why filter out 100% (or near-100%)? Automation and manual date cleanup inflate the top bar and compress everything else. Hide those items to see where real work actually spends time waiting.
What good looks like: Most flow metrics teams aim for 20–40% flow efficiency — the majority of cycle time is wait time, not active work. Higher is better, but a realistic average is more useful than one inflated by data quality issues.
Stage types matter: Mark each stage P (process) or Q (queue) in the workflow configuration above. Queue stages and blocked days count as wait time.
%

Aging WIP

Items in progress by current workflow stage and age. Colour shows where each item sits against your completed cycle time percentiles.
What this showsEvery dot is a work item currently in progress. X-axis = which stage it is currently in. Y-axis = how many days it has been in the system (age from start date to today).
Colour = risk level compared to your historical cycle time percentiles:
🟢 Green — below your 50th percentile. On track, no concern.
🟡 Yellow — between 50th and 70th. Worth keeping an eye on.
🟠 Orange — between 70th and 85th. At risk. Consider a conversation.
🔴 Red — above 85th percentile. 85% of completed items finished faster than this. Needs attention now.
Click any dot to see the ticket details below the chart. Click "Open ticket →" to open it in a new tab.
What to look for: Red dots in early stages (To Do, Doing) are most concerning — they have a long way to go. Red dots in Done but not yet closed = process issue, not delivery issue.

Fuzzy Front End & Lead Time

How long items wait in the backlog before commitment, and total lead time from creation to completion.
Fuzzy Front End (FFE) is the time from when an item enters the backlog to when the team commits to doing it (your Start column). This is the prioritisation and selection phase — it reflects how quickly your team makes decisions, not how fast it delivers.
Commitment point is the moment an item moves from the backlog into active flow. Cycle time should always be measured from this point, not from creation. Items can sit in the backlog for months — including that time inflates cycle time and hides delivery capability.
Lead time = FFE time + cycle time. This is the total elapsed time from backlog entry to completion — what the business or customer actually experiences.
Slice by — use the dropdown to break FFE down by any column in your data (demand type, team, assignment group). This reveals which types of work sit longest before commitment.
No backlog stages detected. To enable this tab, add your pre-commitment stages (e.g. Idea, Backlog, Ready) to the workflow stage list in Config and drag them above your Start column. Stages before the Start column are treated as the fuzzy front end.

Learn about the commitment point and FFE →

Blocked Items

Impact of blocking on cycle time, and which items are currently stuck.

Imported Data

AI Prompt Generator BETA

Generates a structured prompt from your data — copy it into any AI tool. Nothing is sent automatically. You control exactly where it goes — Copilot, Claude, ChatGPT, or anything else.
How it works: Click Generate to build a prompt from your current data. Copy it. Paste it into your preferred AI assistant. The AI has no access to your data — only what you choose to paste.

Monte Carlo Forecast

Probability-based delivery ranges from your historical throughput. Not a commitment — a planning tool.
These are probability ranges, not commitments. They assume throughput stays roughly consistent and scope stays fixed. Both will change. Use the 85th percentile as your planning boundary — it's realistic without being reckless. The 50th percentile will be wrong half the time.
Built by Simeon Herbert  ·  MIT licence