Zac Stryker Home Projects Blog Resume About Contact GitHub
← Back to blog

FTE Adjustment Model: Modeling Productivity Ramps During Employee Leave

Overview

Many companies need to track FTE (Full-Time Equivalent) values for planning, budgeting, and resource allocation. When employees take extended leave, most systems treat capacity as a binary state: either 1.0 FTE (fully present) or 0.0 FTE (absent).

In reality, employee productivity doesn't drop instantly to zero when leave begins, nor does it snap back to 100% immediately upon return. Employees typically experience a gradual ramp-down period before extended leave as they transfer knowledge and wrap up projects. Similarly, they need a ramp-up period after returning to reintegrate and regain full productivity.

This model addresses that gap by calculating adjusted FTE values that account for these transition periods, giving stakeholders a more accurate picture of available capacity.

Business Goals

More Accurate Planning
Realistic Budget Forecasts
Better Resource Allocation
Improved Capacity Models

How It Works

The model applies weighted FTE multipliers during four distinct phases:

P1
Ramp Down Start
P2
Ramp Down Spillover
Absence
P3
Ramp Up Start
P4
Ramp Up Spillover
  • Ramp Down: 14 calendar days before absence begins, FTE is weighted at 75%
  • Absence: During the leave period, FTE is 0%
  • Ramp Up: 28 calendar days after absence ends, FTE is weighted at 50%

Phase Breakdown

The algorithm breaks the ramp-down and ramp-up periods into four potential monthly adjustments, each with its own calculation:

P1
Ramp Down Start
Month where ramp-down begins
P1 =
D1
M1
+
R1
M1
× 0.75
D1 = Days before ramp down
M1 = Total days in month
R1 = Days during ramp down (up to 14)
Effect: Adds unweighted FTE before ramp down to weighted FTE during ramp down. If R1 < 14 days, remaining ramp down days spill into P2
P2
Ramp Down Spillover
Continuation into next month (if needed)
P2 =
R2
M2
× 0.75
R2 = Days remaining from P1
M2 = Total days in spillover month
Effect: If ramp down extends beyond P1 month end, applies 75% FTE weighting to remaining ramp down days. Otherwise, 0.
P3
Ramp Up Start
Month where ramp-up begins
P3 =
R3
M3
× 0.5 +
D3
M3
R3 = Days during ramp up (up to 28)
M3 = Total days in month
D3 = Days after ramp up ends
Effect: Adds weighted FTE during ramp up to unweighted FTE after ramp up. If ramp up extends beyond month end, remaining ramp up days spill into P4
P4
Ramp Up Spillover
Continuation into next month (if needed)
P4 =
R4
M4
× 0.5 +
D4
M4
R4 = Days remaining from P3
M4 = Total days in spillover month
D4 = Days after ramp up ends
Effect: If ramp up extends beyond P3 month end, applies 50% FTE weighting to remaining ramp up days, then unweighted FTE after. Otherwise, 0.

Algorithm Implementation

We perform the same basic calculation on each period:
(Unweighted Days / Total Days) + ((Ramp Weight Factor) × (Weighted Days / Total Days))

The Ramp Weight Factor is 0.75 for ramp-down periods (P1, P2) and 0.50 for ramp-up periods (P3, P4)
BEG_RD_PD as P1_PD,
(D1 / M1) + ((R1 / M1) * 0.75) as P1DAYS,

BEG_ABS_PD as P2_PD,
((R2 / M2) * 0.75) as P2DAYS,

END_ABS_PD as P3_PD,
((R3 / M3) * 0.5) + (D3 / M3) as P3DAYS,

END_RU_PD as P4_PD,
((R4 / M4) * 0.5) + (D4 / M4) as P4DAYS
What it does: Calculates the FTE adjustment for each phase using a consistent two-part formula:

Phase 1 (Ramp-Down Start):
Unweighted Days / Days in Month — The proportion of the month before ramp-down begins (full FTE)
+
Weighted Days / Days in Month × 0.75 — The proportion of the month during ramp-down (capped at 14 days)

Phase 2 (Ramp-Down Spillover):
Weighted Days / Days in Month × 0.75 — If ramp-down extends into the next month, the remaining days are weighted at 75%

Phase 3 (Ramp-Up Start):
Weighted Days / Days in Month × 0.5 — The proportion of the month during ramp-up (capped at 28 days)
+
Unweighted Days / Days in Month — The proportion of the month after ramp-up ends (full FTE)

Phase 4 (Ramp-Up Spillover):
Weighted Days / Days in Month × 0.5 — If ramp-up extends into the next month, the remaining ramp days are weighted at 50%
+
Unweighted Days / Days in Month — The proportion of the month after ramp-up ends (full FTE)

This approach ensures that FTE adjustments are prorated correctly based on how many days each phase impacts in each month.

Employee Ramp Down Start Ramp Down End P1 FTE Calculation P2 FTE Calculation
Employee 1 2024-07-21 2024-08-04 (20/31) + ((11/31) × 0.75) ((3/31) × 0.75)
Employee 2 2025-03-15 2025-03-29 (14/31) + ((14/31) × 0.75) 0
Employee 3 2025-05-08 2025-05-22 (7/31) + ((14/31) × 0.75) 0

* Note that the ramp-down for Employee 1 extends into the next month, creating a non-zero P2 value.

Unpivot and Aggregate by Employee / Month

After applying the algorithm to all four phases, we wind up with a dataset that looks like this:

Employee P1 P1 FTE P2 P2 FTE P3 P3 FTE P4 P4 FTE
Employee 1 2024070.911 2024080.073 2025010.161 2025020.679
Employee 2 2025030.790 NULL0.000 2025070.145 2025080.694
Employee 3 2025050.565 NULL0.000 2025090.500 NULL0.000
SELECT t.*
into #FTE_TABLE
FROM #tmp
CROSS APPLY (
    VALUES
        (EMPLOYEE_NAME, [P1 MONTH], [P1 FTE])
      , (EMPLOYEE_NAME, [P2 MONTH], [P2 FTE])
      , (EMPLOYEE_NAME, [P3 MONTH], [P3 FTE])
      , (EMPLOYEE_NAME, [P4 MONTH], [P4 FTE])
) t(EMPLOYEE_NAME, MONTH, FTE)

-- Final aggregation into Employee/Month grouping
select
  EMPLOYEE_NAME,
  MONTH,
  SUM(FTE) as FTE
from #FTE_TABLE
group by EMPLOYEE_NAME, MONTH
What it does: The CROSS APPLY with VALUES acts as an unpivot, transforming the wide format (P1, P2, P3, P4 columns) into a long format with one row per employee-month combination. This makes it easy to aggregate and report on FTE by month.
Employee Month FTE
Employee 12024070.911
Employee 12024080.073
Employee 12025010.161
Employee 12025020.679
Employee 22025030.790
Employee 22025070.145
Employee 22025080.694
Employee 32025050.565
Employee 32025090.500

Results Visualized

  • Gradual Transitions: FTE values don't drop instantly to 0. They follow a graduated path, showing that productivity ramps down over time as employees prepare for leave.
  • Recovery Period: FTE values climb back gradually rather than jumping to full capacity. This captures the reintegration period that naturally occurs after extended leave.
  • Staggered Impact: Employee 1's ramp-down spans two months while the others span one month. The model adapts to different calendar alignments and leave timing.
  • Planning Accuracy: Stakeholders can more accurately forecast capacity needs, budget requirements, and staffing gaps rather than measuring FTE as "here/not here".

Bottom Line: The model takes in BEG_ABS and END_ABS dates and transforms them into a nuanced capacity forecast that accounts for employee transition periods, providing more realistic FTE counts for budgeting and resource allocation decisions.