Understanding FTE Days in the Workstreams Report
Last updated: October 27, 2026
FTE-days (full-time equivalent days) are the effort numbers in the Workstreams report. This article explains how Span counts them, how a person's day is shared across workstreams, and how to read the grid, treemap, and % of total.
Why it matters
FTE-days answer "how many engineer-days went into this workstream?" without timesheets. Knowing how Span counts them helps you explain the numbers to leadership and spot where coverage is thin.
For engineering leaders: compare effort across workstreams and see which ones are growing or shrinking.
For finance: workstream FTE-days use the same unit as allocation and cost capitalization, so the totals reconcile.
How it works
Span measures each person's day. Every day a person has activity is worth 1.0 FTE-day. Activity means commits on a pull request, merged pull requests, pull request reviews, and issues that sit In Progress or move straight to Done. Span splits that 1.0 across the issues and unlinked pull requests the person touched that day. An item the person only reviewed weighs half as much as an item they worked on.
FTE-day share of an item = item weight / sum of that person's item weights that dayEach share goes to one workstream. Span assigns each daily share to the workstream of its issue. A pull request with no linked issue goes to that pull request's workstream. If Span can't place the work, it goes to the Unlinked row.
Span finds workstreams with AI once a week. Span groups related epics, issues, pull requests, and projects from the last 90 days into named workstreams and sub-workstreams, and writes a description for each (marked "Generated by AI"). Data in the report runs up to the latest weekly run, and a banner shows the date when the selected month or quarter isn't complete yet.
Where you see FTE-days in the report
Activity grid: FTE-days per workstream for the selected range, weekly activity (FTE-d/wk), % of total, the teams contributing to each workstream, and cost when cost estimates are on.
Activity growth treemap: box size is FTE-days. Color shows the growth band: Growing fast (above +60%), Growing (+25% to +60%), Stable (−25% to +25%), Shrinking (−60% to −25%), or Shrinking fast (below −60%). Span compares average weekly effort in the second half of the range with the first half.
Effort chart: on each workstream's detail page, FTE-days week by week, so you can see ramp-ups and tapering.
FTE (people) converts FTE-days into an average headcount for the range:
FTE = FTE-days / calendar days in the range (weekends included)% of total is each workstream's share of all FTE-days in the current view:
% of total = workstream FTE-days / total FTE-days across all workstreams × 100The total includes the Unlinked row, so the rows add up to 100% when you show all work.
FTE-days cost appears when an admin has turned on cost estimates. Span multiplies each person's FTE-days by their annual salary divided by 260. Salaries come from Settings → Investment → Cost Estimates, where an admin enters a default salary plus salaries by job level or by job title. Span doesn't import salaries from your HR system.
How to read the report
Open Insights → Allocation → Workstreams.
Pick Month, Quarter, or the last three months (the default) in the date control.
Use the work filter to choose how much of the list to show. The default, Top 80% of Work, lists the largest workstreams that together make up 80% of effort. Choose Show All Work to list every workstream with activity.
To see dollars, open Display settings and turn on Show Cost Estimates.
To export, click Generate Report and pick a month or quarter. Span downloads a CSV with workstream data for all teams.
Things to know
One day is shared, not repeated. A person who works on two workstreams in one day adds part of a day to each. The shares always add up to 1.0, so per-workstream totals look smaller than a count of "days anyone touched it."
Span counts days, not hours. Thirty minutes of activity and eight hours both earn a full day, split across the work touched.
Effort comes from activity, not assignment. Being assigned to an issue only counts while it sits In Progress. Commits, merges, and reviews count for whoever did them.
Days with no activity count zero. Vacation, meeting-only days, and work outside Git and your issue tracker (design, docs, planning) don't add FTE-days, so totals usually run below headcount.
Filters change the total. Filtering by team or person recalculates % of total within that view. Workstreams with no FTE-days in the range don't appear.
New workstreams can shift. Workstreams younger than about 30 days can change between weekly runs until someone edits or maps them.
Watch the Unlinked row. A large or growing Unlinked share usually means many pull requests have no linked issue. Linking pull requests to issues moves that effort into named workstreams.
Merging can't be undone. When you merge one workstream into another, its activity moves to the target workstream.
Worked example
Three engineers each have activity on three days in a week. On each of those days, each engineer splits time evenly between an issue in Workstream A and an issue in Workstream B.
Workstream A gets 3 people × 3 days × 0.5 = 4.5 FTE-days. Workstream B also gets 4.5.
Over the 7-day week, Workstream A is 4.5 / 7 = 0.64 FTE.
If the engineers had spent those days only on Workstream A, it would have 9 FTE-days, or 9 / 7 = 1.29 FTE.
With an Unlinked row of 1.0 FTE-day added, the view totals 10.0 FTE-days: A is 45%, B is 45%, and Unlinked is 10%.
Related articles
Workstreams: AI-Powered Allocation
Allocation Guide: Refining Your Workstreams
Need help?
Contact your Span account team or reach out to support@span.app.