OOO Person-Days

Last updated: October 27, 2026

OOO Person-Days counts the person-days people spent out of office (OOO) in the selected scope and date range. Span uses the same OOO days to take time off out of its per-person rates, so this metric shows how much of that adjustment is happening.

Why it matters

OOO person-days answers "how many person-days of capacity did time off take?" It's the basis for:

  • Capacity planning: available capacity, not just headcount.

  • Reading other metrics: context when output drops during a high-OOO period.

  • Fair comparisons: comparing teams with different vacation patterns.

  • Seasonal planning: spotting summer and holiday periods for scheduling.

How it works

OOO Person-Days = count of person-days flagged out of office

Each day counts per person: three people each out for two days is 6 OOO person-days. Only weekdays can be OOO. Span counts days between each person's start and end dates, for everyone in scope, not only developers.

How OOO days affect other metrics:

  • Totals such as Total PRs Merged or Lines of Code: not adjusted. Time off lowers totals, which reflects what happened.

  • Per-PR metrics such as Comments Received / PR or PR Revert Rate: not adjusted, because they're relative to PRs, not time.

  • "/ week" rates such as PRs Merged / Week: OOO days leave the denominator, and PRs merged on an OOO day leave the numerator. Reviews and issues completed on an OOO day stay in the numerator. A day that isn't OOO counts as a full active day, even with a short out-of-office block. Span doesn't invent activity for time off, so a week fully out of office shows a rate of 0 at weekly granularity.

  • Calendar metrics such as focus time and meeting hours: OOO days leave both the hours and the day count.

Setup

Choose one OOO source for your organization in Settings → Org Calendar → Out of Office Days Source.

Calendar Integration (default). Span reads out-of-office events from Google Calendar or Microsoft (Outlook) calendar. Connect your calendar in Settings → Integrations, and ask people to use the out-of-office event type (Google "Out of office", Microsoft "Away") for time off. A weekday counts as OOO when out-of-office events cover more than 4 hours between 8am and 6pm in the person's local time zone. Brief absences, such as a doctor's appointment, don't mark the day. A full day does, and so does a half day longer than 4 hours, such as 8am to 1pm. A half day of exactly 4 hours, such as 1pm to 5pm, doesn't.

Event

Hours between 8am and 6pm

Counted?

All-day Monday event

10 hours

Yes

2-hour event (10am to 12pm)

2 hours

No

Half-day event (8am to 1pm)

5 hours

Yes

Half-day event (1pm to 5pm)

4 hours

No

Weekend event

Not a weekday

No

An event that starts at or after 6pm moves to the next day; one that ends before 8am moves to the previous day.

HRIS Integration. Span reads absence records from your HR system through Kombo. Connect your HRIS in Settings → Integrations, then pick HRIS Integration as the source. Every weekday inside an absence counts as OOO. Choose which absence types count with the type filter on the same page:

  • All: every absence record counts.

  • Include: only the types you list count, for example Vacation, Sick Leave, and Personal Day.

  • Exclude: every type counts except the ones you list, for example Work from Home.

Calendar

HRIS

Data source

Employee calendar events

HR system records

Accuracy

Depends on calendar habits

System of record

Setup

Simple

Needs an HRIS integration that supports absences

Filtering

Fixed 4-hour rule

By absence type

Best for

Teams that mark OOO in calendars

Organizations with formal HR processes

Where to find it: Insights → Productivity → Focus time, the "OOO" card on a person's Time tab, team views, custom reports and dashboards, and the metrics API. An Avg OOO days variant divides OOO person-days by person-days employed.

Things to know

  • Worked example (counting): on a team of 5 over one week, Person A is out all week (5), Person B Monday and Tuesday (2), Person D Friday (1), and C and E aren't out. Total: 8 OOO person-days. Across an organization of 50 people over a 20-weekday month, 150 OOO person-days out of 1,000 possible leaves 850 available (85%).

  • Worked example (rates): you merge 20 PRs in a 30-day month and are out for one 5-weekday week. PR rates count every calendar day you were available, weekends included, so you have 25 active days. PRs Merged / Week = 20 ÷ 25 × 7 = 5.6. Without the OOO adjustment it would read 20 ÷ 30 × 7 = 4.7. If you had blocked only 1pm to 5pm on each of those 5 days, no day would be OOO and the rate would read 4.7.

  • Calendar blocks need the right type: a regular meeting block called "Vacation" doesn't count.

  • Holidays: company holidays count only when they appear as OOO events or HRIS absences for each person.

  • Requested absences count: with HRIS, absences with approved, requested, or unknown status count as OOO.

  • Half days: a calendar OOO block of 4 hours or less between 8am and 6pm doesn't count. HR PTO balances that track partial days won't match Span's whole-day count.

  • Weekends are never OOO, from either source.

  • Travelers: all-day OOO events use the event's own dates.

  • HRIS and PR rates: with the HRIS source, PRs and commits on an HRIS-only absence day still count in "/ week" numerators while the day leaves the denominator, which can raise those rates slightly.

Related articles

Connecting an OOO Data Source in Span

How to read Span's "/ week" metrics

Focus Time

How do working hours and time zones factor into Span metrics?

Need help?

Contact your Span account team or reach out to support@span.app.