How supervisor R&D is calculated

Most of your R&D percentages come straight from the work itself — the tickets, projects, and pull requests your team logs in Jira or Linear.

A guide to understanding how Neo.Tax calculates R&D time for managers and supervisors


Why this exists

Most of your R&D percentages come straight from the work itself — the tickets, projects, and pull requests your team logs in Jira or Linear. That works great for individual contributors who are assigned and complete trackable work.

It works less well for managers and supervisors. A senior engineering manager might spend most of their week in design reviews, architecture discussions, unblocking their team, and steering technical direction — all of which is genuine R&D activity — but very little of that shows up as assigned tickets under their own name. If we only counted their tickets, we’d dramatically understate the qualified time of the people leading the R&D.

Neo.Tax**’s supervisor allocation** corrects for this. It uses a defensible, consistent method to estimate a supervisor’s R&D involvement based on the R&D work of the people they manage — on the well-supported premise that a manager’s qualified time tends to mirror the qualified time of their team.


Who counts as a “supervisor”

A supervisor is anyone who has at least one direct report in your payroll/org data. In the Wages page or R&D reports you’ll see this reflected in the Manager column — any employee with one or more direct report is treated as a supervisor and is eligible for this allocation.

Individual contributors (no direct reports) are never adjusted by this method — their R&D % continues to come directly from their own work.


The method, in one line

Updated R&D % = (50% × the supervisor’s own R&D %) + (50% × the average R&D % of their direct reports)

In other words, we blend the supervisor’s own measured R&D with the average R&D of their team, weighting each half equally.

A few important details:

  • “Average of direct reports” = the sum of each direct report’s R&D % divided by the number of direct reports. Every direct report counts equally, whether or not they themselves do R&D.
  • The supervisor’s own R&D % is whatever we already measured from their own activity — which may be 0%.
  • This is the single, consistent methodology we apply across all customers. It’s intentionally not configurable per-supervisor, which keeps the approach uniform and defensible if your credit is ever examined.

What happens to the project breakdown

Adjusting the headline R&D % is only half the picture — we also have to decide which R&D projects that updated time is attributed to. We do this proportionally:

  1. Keep the supervisor’s own R&D project allocations, scaled down to half. If they personally logged 40% on “Search Infrastructure,” that becomes 20% in the blended result.
  2. Fill the rest from their team’s R&D projects, proportionally. The other half of the updated R&D % is distributed across the projects their direct reports worked on, in proportion to how much the team collectively worked on each.

Where a supervisor and their team work on the same project, the two contributions stack. Where the team works on projects the supervisor never touched, those projects appear in the supervisor’s updated breakdown for the first time.

Non-R&D and Non-Project time are adjusted to keep everything summing to 100%.


Example 1 — A manager who does no R&D of their own

Priya is an engineering manager. She spends her time on planning, code review, hiring, and unblocking her team, so she isn’t assigned tickets herself. Based on her own activity alone, her measured R&D comes out to 0%.

She has 4 direct reports, with these R&D percentages:

Direct reportR&D %
Engineer A80%
Engineer B60%
Engineer C90%
Engineer D70%
Average75%

Applying the formula:

Updated R&D % = (0.5 × 0%) + (0.5 × 75%) = 0% + 37.5% = 37.5%

Priya goes from 0% → 37.5%.

Project breakdown: Because Priya had no R&D projects of her own, all of her updated 37.5% is filled from her team’s R&D work, proportionally. If her reports collectively spent their R&D time as 50% on Checkout Redesign, 30% on Payments API, and 20% on Fraud Detection, Priya’s updated allocation becomes:

ProjectCalculationUpdated allocation
Checkout Redesign37.5% × 50%18.75%
Payments API37.5% × 30%11.25%
Fraud Detection37.5% × 20%7.5%

This captures the reality that Priya’s qualified time was spent leading and reviewing exactly this work — even though none of it was filed under her name.


Example 2 — A manager who does some R&D

Marcus is a hands-on team lead. He still ships code, so his own measured R&D is 60%, split across two projects:

  • Search Infrastructure: 40%
  • Internal Tooling: 20%

His 3 direct reports average 80% R&D.

Applying the formula:

Updated R&D % = (0.5 × 60%) + (0.5 × 80%) = 30% + 40% = 70%

Marcus goes from 60% → 70%.

Project breakdown: This time there are two pieces.

Step 1 — His own projects, scaled to half (the first 30%):

ProjectCalculationContribution
Search Infrastructure40% × 0.520%
Internal Tooling20% × 0.510%

Step 2 — His team’s R&D projects, proportionally filling the other 40%. Say his reports’ R&D time breaks down as 50% Search Infrastructure, 30% Data Pipeline, 20% Internal Tooling:

ProjectCalculationContribution
Search Infrastructure40% × 50%20%
Data Pipeline40% × 30%12%
Internal Tooling40% × 20%8%

Combined result:

ProjectFrom his own workFrom his teamUpdated allocation
Search Infrastructure20%20%40%
Internal Tooling10%8%18%
Data Pipeline—12%12%
Total70%

Notice how Search Infrastructure (worked on by both Marcus and his team) stacks, while Data Pipeline — something only his reports touched — now appears in his breakdown for the first time.


How to read the preview

Before anything is applied, we generate a preview so you can review every adjustment line by line. The key columns:

ColumnWhat it tells you
Direct Reports CountHow many people report to this employee (and therefore whether they’re treated as a supervisor)
Original R&D %What we measured from the employee’s own work, before any adjustment
Avg Subordinate R&D %The average R&D % across their direct reports — the team signal feeding the blend
Updated R&D %The blended result after applying the 50/50 method
Original / Updated QRE $The dollar impact — qualified wages before and after the adjustment
R&D Project Allocations (Updated, was Original)The per-project breakdown, showing each new allocation alongside the prior one

Employees who aren’t supervisors, or whose blended result doesn’t change, will show identical Original and Updated values.


Frequently asked questions

Does this apply to everyone, or only engineering?

It applies to anyone with direct reports, in any department. In practice the meaningful adjustments land on people who manage R&D teams, because the team signal (average direct-report R&D %) is only large when their reports do substantial R&D. A manager whose reports do no R&D will see little or no change.

Why 50/50 and not some other split?

The equal weighting balances two real signals — what the supervisor personally did, and the R&D character of the team they lead — without letting either dominate. It’s the consistent methodology we’ve used with R&D customers, which matters for defensibility: the same rule is applied to every supervisor.

Can a supervisor’s R&D % go down**?**

Yes. If a supervisor’s own R&D % is higher than their team’s average, the blend pulls them toward the team average and their number decreases. The method is symmetric — it’s an estimate of true involvement, not a one-way boost.

Will this ever change my filed numbers without my approval?

No. The supervisor allocation is always generated as a preview first. Nothing is applied to your final R&D percentages or QREs until you’ve reviewed and chosen to apply it.

What about a manager’s manager (second-level supervisors)?

The same logic can roll up the org chart. Discuss with NeoTax customer support to preview and apply this.


Questions about a specific employee or adjustment in your report? Reach out to your Neo.Tax contact and we’ll walk through the calculation with you.

Esc
↑ ↓ to move Enter to open