Understanding FTE Days in the Workstreams Report

Last updated: March 4, 2026


What is an FTE Day?

An FTE Day (Full-Time Equivalent Day) is Span's unit for measuring engineering effort. It answers the question: "How many engineer-days of work were invested in this workstream?"

One FTE Day = one engineer having at least one recorded activity (a merged PR, a commit, or an issue update) on a given calendar day. A person is counted once per day regardless of how many activities they have on that day.

The Formula

FTE Days = total number of distinct person-days with activity attributed to a workstream

For example: if 3 engineers each contribute on 3 different days within a period, that workstream has 9 FTE Days.

Where Does the Data Come From?

Span calculates FTE Days using activity data pulled directly from your connected tools — no manual time tracking required.

Sources:

  • GitHub / GitLab — merged pull requests and commits (timestamps used)

  • Jira / Linear — issue progress and status updates (timestamps used)

Span's AI then attributes each PR and issue to a workstream by analyzing code diffs, file paths, commit messages, issue titles/descriptions, and historical patterns. This means effort flows into workstreams automatically based on what was actually built — not labels or estimates.

How to Interpret FTE Days in the Report

In the Activity Grid (table view) Each row shows the total FTE Days invested in a workstream for the selected date range. Use this to compare relative effort across workstreams and spot where engineering capacity is concentrated.

In the Tree Map Box size represents FTE Days: bigger boxes = more effort invested. Color indicates growth trend (green = growing, red = shrinking), helping you see at a glance whether a workstream is gaining or losing focus.

In the Time Series chart FTE Days broken down week-by-week, so you can see spikes, ramp-ups, and tapering off over time.

FTE People (Derived Metric)

To convert FTE Days into an average headcount equivalent for a period:

FTE People = FTE Days ÷ Number of Days in Period

Example: 9 FTE Days over a 7-day sprint = 1.29 FTE People, meaning the equivalent of ~1.3 full-time engineers were working on that workstream continuously during that sprint.

This is useful for capacity planning and communicating effort to non-technical stakeholders.

FTE Days Cost (Optional)

If cost estimation is enabled in your Span workspace, each FTE Day is weighted by the contributing engineer's salary band to produce an FTE Days Cost figure. This lets you:

  • Understand the financial investment behind each workstream

  • Support R&D capitalization reporting

  • Compare cost-per-initiative across your engineering portfolio

Cost data comes from HRIS or salary band configurations set up in Span — it is never estimated or approximated without explicit input.

Important Caveats

  • Daily granularity only — Span does not track hours within a day. An engineer who spends 30 minutes on a task counts the same as one who spends 8 hours, as long as both have activity on that day.

  • Activity-based, not assignment-based — FTE Days reflect actual recorded activity, not who is "assigned" to a workstream.

  • Unlinked Work — activity that Span's AI couldn't confidently attribute to a workstream appears under "Unlinked Work." Reviewing this periodically helps ensure coverage is accurate.

  • Data updates daily — new PRs and issue updates are reflected in FTE Days the following day.

What is the % of Total column telling me?

The percentage of total FTE Days that a given workstream accounts for, across all workstreams in the selected time period.

Formula

% of Total = (Workstream FTE Days ÷ Total FTE Days across all workstreams) × 100

Example:

  • Feature Development: 100 FTE Days → 50%

  • Platform Work: 75 FTE Days → 37.5%

  • Unlinked Work: 25 FTE Days → 12.5%

  • Total: 200 FTE Days

Does it include Unlinked Work? Yes — Unlinked Work is included in the denominator (the total), and appears as its own row with its own percentage. So all rows in the grid should sum to ~100%.

Important nuances

  • Filters affect the total — if you filter by team, group, or date range, the % of Total recalculates within that filtered view, not against the org-wide total.

  • Zero-activity workstreams — workstreams with no FTE Days in the selected period won't appear in the grid, so the denominator only reflects workstreams with actual activity.

  • Cumulative % view — the report also offers a cumulative percentage toggle, which shows a running total (useful for Pareto-style analysis, e.g. "which workstreams make up 80% of our effort?").

How to interpret it

  • Portfolio balance — quickly see if effort is concentrated in a few workstreams or spread across many.

  • Strategic alignment check — does the % breakdown match where your org intended to invest?

  • Unlinked Work as a health signal — if Unlinked Work is consistently above ~15–20% of total, it may indicate classification gaps worth investigating (generic PRs, new technical areas, missing issue context).

Frequently Asked Questions

Q: Why doesn't the FTE Days number match the headcount I'd expect? FTE Days measures active engineering days — days where recorded activity occurred — not calendar days or contracted hours. Engineers on vacation, in meetings, or doing work not tracked by connected tools (e.g., design reviews, internal docs) will not contribute FTE Days for those days. A lower-than-expected number often reflects this gap rather than underperformance.

Q: Can one engineer contribute FTE Days to multiple workstreams on the same day? Yes. If an engineer merges a PR attributed to Workstream A and closes an issue attributed to Workstream B on the same day, that counts as 1 FTE Day toward each workstream. The once-per-day deduplication applies within a workstream, not across workstreams.

Q: How does Span decide which workstream a PR or issue belongs to? Span's AI analyzes code diffs, modified file paths, commit messages, issue titles, and descriptions — combined with historical patterns in your codebase — to classify work into workstreams. No manual tagging is required. If a work item can't be confidently classified, it appears under "Unlinked Work."

Q: What counts as "activity" for FTE Day purposes? Three types of activity are tracked: a merged pull request, a commit, or an issue progress update (e.g., status change, resolution). At least one of these must occur on a given day for that day to count toward FTE Days.

Q: Why does some work show as "Unlinked Work"? Work items that lack sufficient context for confident classification land here. Common causes include very generic PR/commit messages, one-off changes with no associated issue, or work in areas of the codebase with no established workstream pattern yet. Reviewing Unlinked Work periodically helps ensure your workstream coverage stays accurate.

Q: How is FTE Days Cost calculated? When cost estimation is enabled, Span applies each contributor's salary band to their FTE Day contributions. The result is a dollar figure representing the approximate engineering cost invested in a workstream. Salary data comes from your HRIS integration or manually configured salary bands in Span — it is not estimated or inferred.

Q: If I merge two workstreams, what happens to the FTE Days history? All historical FTE Days from the source workstream are reassigned to the target workstream. Reports will reflect the combined history going forward, and the merge event is recorded in the audit log. No data is lost.

Q: How often is the data refreshed? Workstream data is updated daily. New PR merges and issue updates from the previous day are reflected the next morning.

Q: Can I export FTE Days data? Yes. Use the export option on the Activity Grid to download workstream data as a CSV for use in spreadsheets or external reporting tools.

Q: What date range should I use for meaningful analysis? A range of 4–12 weeks is recommended for trend analysis. Shorter windows (under 2 weeks) can be noisy; longer windows may obscure recent shifts in priorities. The default view shows the last 12 weeks.