Capacity: person-months and work hours

This document describes how person-months (PM) are converted to work hours in Rediflow, and how that affects the Capacity page and (when person capacity is enabled) the Team matrix and target hours for team members.

What is the divisor?

The system converts between person-months (PM) and work hours using a divisor: the number of work hours that count as one person-month.

  • Hours = PM × divisor (e.g. 2 PM × 160 h/PM = 320 h).
  • PM = hours ÷ divisor (e.g. 320 h ÷ 160 = 2 PM).

Capacity demand (Project plan (PROJPLAN), Estimated (EST), Actual) is stored in person-months (PM). When you need to show or communicate values in hours (e.g. for reports or for team members’ target hours), the app uses the divisor to convert.

Where is the divisor defined?

The divisor can be set at several levels; the app chooses one in this order (first match wins for the given month):

  1. Project × employee group – For a specific project and employee group (worker group), if defined. This allows e.g. “researchers: 140 h/PM, admins: 120 h/PM” per project.
  2. Project – A time-temporal rate for the project (from a given date), or a single project-level default in project settings.
  3. System – A time-temporal default (from a given date) or a single system default (e.g. 160 h/PM) from configuration.

So: employee group A can have a different divisor than employee group B (e.g. different collective agreements). When the app tells a team member “your target hours next month,” it uses that person’s employee group divisor.

Capacity page: “Show in hours”

On the project Capacity page (Project plan (PROJPLAN), Estimated (EST) capacity, Actual person-months):

  • Values are shown in person-months (PM) by default.
  • You can turn on “Show in hours” (or similar toggle). The app then converts each month’s PM totals to hours using the project’s divisor (or system default if the project has none). This helps with reporting and comparing with external hour-based data.

No person or employee group is involved here: the same project divisor is used for all months when “Show in hours” is on.

Team matrix and target hours (when person capacity is on)

When person capacity is enabled (People, Team, employee groups, assignments):

  • The Team matrix shows each team member’s allocation (hours or Full-time equivalent (FTE) %) per project month.
  • Target hours for each person and month: the app takes the project’s Estimated (EST) (estimated person-months) for that month, works out that person’s share of the total allocation, and converts that share from PM to hours using that person’s employee group divisor. So:
    • Your target hours = (your share of project EST in PM) × (your group’s hours per PM).

That way, when you communicate “next month’s project, tasks and target hours” to a team member, the number is in hours and uses the divisor that applies to their employee group (e.g. by law or collective agreement).

Time-temporal divisors

Divisors can change over time (e.g. 160 h/PM until 2024, 168 h/PM from 2025). Where supported, each divisor row has an effective from date. For a given month, the app uses the latest divisor whose effective date is on or before the first day of that month. So past months use the old rate, future months use the new rate, without changing stored PM values.

Person capacity budget (FTE only)

A person's capacity budget is workdays × daily work hours × Full-time equivalent (FTE). FTE is time-temporal (person FTE periods on the person detail page; default 1.0). The budget is then reduced by leaves (absences) and assignments consume the remainder; the system checks that allocations do not exceed available capacity.

Person assignments: one per person per project

Critical design decision: Each person has at most one assignment per project, and at most one role per project.

  • What you can do: Set start/end dates, role, and allocation for each assignment; vary allocation per month via month overrides.
  • What you cannot do: Multiple assignments for the same person on the same project; different roles for the same person on the same project (e.g. PM in Q1, Developer in Q2).

Rediflow is capacity planning at month level, not work shift planning (day/week scheduling). The one-assignment, one-role rule keeps the model simple and aligned with portfolio planning.

Summary

Where What you see Divisor used
Capacity (PM) Project plan (PROJPLAN) / Estimated (EST) / Actual in person-months Not used
Capacity (hours) Same in work hours Project (or system) default
Team target hours Each person’s target hours per month That person’s employee group divisor

Demand stays in PM; hours are derived when needed. That keeps one source of truth and makes budgeting and communication clear.