This report crosses Microsoft 365 Lighthouse tenant data with HiBob employee records to map how M365 tenant management workload is distributed across your team. Two data sources, one question: which engineers carry too many tenants, and which tenants get too little attention?
This report crosses Microsoft 365 Lighthouse tenant data with HiBob employee records to map how M365 tenant management workload is distributed across your team. Two data sources, one question: which engineers carry too many tenants, and which tenants get too little attention?
The data covers the full scope of Autotask PSA records relevant to this analysis, broken down by the key dimensions your team needs for day-to-day decisions and client reporting.
Who should use this: Microsoft 365 administrators, security teams, and account managers
How often: Weekly for license management, monthly for adoption reviews, quarterly for optimization
This report crosses Microsoft 365 Lighthouse tenant data with HiBob employee records to map how M365 tenant management workload is distributed across your team. Two data sources, one question: which engineers carry too many tenants, and which tenants get too little attention?
EVALUATE ROW("TotalTenants", COUNTROWS('BI_Lighthouse_Tenant'), "Active", CALCULATE(COUNTROWS('BI_Lighthouse_Tenant_Status_Information'), 'BI_Lighthouse_Tenant_Status_Information'[onboarding_status] = "active"), "Ineligible", CALCULATE(COUNTROWS('BI_Lighthouse_Tenant_Status_Information'), 'BI_Lighthouse_Tenant_Status_Information'[onboarding_status] = "ineligible"), "Disabled", CALCULATE(COUNTROWS('BI_Lighthouse_Tenant_Status_Information'), 'BI_Lighthouse_Tenant_Status_Information'[onboarding_status] = "disabled"), "GDAP", CALCULATE(COUNTROWS('BI_Lighthouse_Tenant_Status_Information'), 'BI_Lighthouse_Tenant_Status_Information'[delegated_privilege_status] = "granularDelegatedAdminPrivileges"))
| Engineer | Tenants | Active Users | Users per Tenant | Load Level |
|---|---|---|---|---|
| Engineer A | 14 | 1,284 | 91.7 | Overloaded |
| Engineer B | 12 | 1,067 | 88.9 | Overloaded |
| Engineer C | 10 | 834 | 83.4 | High |
| Engineer D | 8 | 612 | 76.5 | Moderate |
| Engineer E | 7 | 498 | 71.1 | Normal |
| Engineer F | 6 | 423 | 70.5 | Normal |
| Engineer G | 4 | 287 | 71.8 | Light |
| Engineer H | 2 | 89 | 44.5 | Light |
The distribution is heavily skewed. Engineer A carries 14 tenants with 1,284 active users while Engineer H manages just 2 tenants with 89 users. The top two engineers together handle 26 tenants - 18% of the total tenant base - while the bottom two carry only 6. That is a 7:1 ratio in workload.
EVALUATE
SUMMARIZECOLUMNS(
BI_Lighthouse_Tenants[primary_contact],
"Tenants", COUNTROWS(BI_Lighthouse_Tenants),
"ActiveUsers", SUM(BI_Lighthouse_M365_Usage[monthly_active_users]),
"UsersPerTenant",
DIVIDE(
SUM(BI_Lighthouse_M365_Usage[monthly_active_users]),
COUNTROWS(BI_Lighthouse_Tenants)
)
)
ORDER BY [Tenants] DESC
EVALUATE
ADDCOLUMNS(
SUMMARIZE(BI_Lighthouse_Tenants, BI_Lighthouse_Tenants[primary_contact]),
"TenantCount", CALCULATE(COUNTROWS(BI_Lighthouse_Tenants)),
"TotalMAU", CALCULATE(SUM(BI_Lighthouse_M365_Usage[monthly_active_users]))
)
ORDER BY [TenantCount] DESC
| Engineer | Exchange | SharePoint | Teams | OneDrive | Total MAU |
|---|---|---|---|---|---|
| Engineer A | 412 | 298 | 387 | 187 | 1,284 |
| Engineer B | 356 | 241 | 312 | 158 | 1,067 |
| Engineer C | 278 | 189 | 245 | 122 | 834 |
| Engineer D | 204 | 138 | 178 | 92 | 612 |
| Engineer E | 167 | 113 | 143 | 75 | 498 |
Exchange and Teams dominate the service mix for every engineer. Engineer A alone handles 412 Exchange users and 387 Teams users - more than some engineers handle across all services combined. The service split is consistent across engineers, suggesting the complexity scales linearly with tenant count.
| Engineer | Manager | Tenants | Span of Control | Risk |
|---|---|---|---|---|
| Engineer A | Team Lead 1 | 14 | 12 | High |
| Engineer B | Team Lead 1 | 12 | 12 | High |
| Engineer C | Team Lead 2 | 10 | 8 | Medium |
| Engineer D | Team Lead 2 | 8 | 8 | Medium |
| Engineer E | Team Lead 3 | 7 | 6 | Low |
| Engineer F | Team Lead 3 | 6 | 6 | Low |
Team Lead 1's group carries the heaviest load. Both Engineer A (14 tenants) and Engineer B (12 tenants) report to the same manager who already has a span of control of 12. If either engineer leaves or goes on extended leave, that manager has no capacity to absorb the work. Team Lead 3's group is the lightest, with room to take on redistributed tenants.
Team Lead 1 carries nearly double the load of Team Lead 3. Moving 4 tenants from Team Lead 1 to Team Lead 3 would bring all three teams within 3 tenants of each other and reduce single-point-of-failure risk for the two most overloaded engineers.
Engineer A (14 tenants) and Engineer B (12 tenants) together manage 26 of 142 tenants. Both report to the same team lead. If either person is unavailable, 2,351 active users across 26 tenants have no dedicated point of contact. This is a single-point-of-failure problem.
Engineer A manages 14 tenants while Engineer H manages 2. Even accounting for tenant complexity differences, this distribution creates burnout risk at the top and underutilization at the bottom. The average of 6.2 tenants per engineer hides extreme variance in both directions.
The ratio of Exchange, Teams, SharePoint, and OneDrive users stays consistent across all engineers. This means tenant count is a reliable proxy for total workload, and rebalancing by tenant count alone will also rebalance service management burden proportionally.
1. Redistribute 4-6 tenants from Engineer A and B to Engineers G and H. Start with the smallest tenants (lowest MAU) to minimize transition risk. Engineer G can absorb 3 more tenants comfortably, and Engineer H has capacity for at least 4. This single move cuts the top load by 30% and eliminates the worst concentration risk.
2. Set a maximum tenant cap of 10 per engineer. Any engineer above 10 tenants should trigger an automatic review. Build a Power BI alert page using the DAX queries in this report to flag engineers approaching the threshold before they hit it. This prevents the problem from re-emerging as new tenants are onboarded.
3. Cross-train engineers across team lead boundaries. Today, all high-load engineers sit under Team Lead 1. If Team Lead 1 is unavailable, the two most loaded engineers lose their escalation path. Assign at least one backup from Team Lead 3's group as a secondary contact for each of Engineer A's and Engineer B's largest tenants.
Each tenant in Lighthouse has a primary_contact field that maps to an engineer. This field is matched to the employee_id in BI_HiBob_Employees to pull in manager information and team structure. If a tenant has no primary_contact set, it does not appear in this report.
Monthly Active Users (MAU) come from BI_Lighthouse_M365_Usage and count distinct users who performed at least one activity in a given M365 service during the last 30 days. A single user active in both Exchange and Teams counts once per service but once in the total. The MAU figure here is the sum across all services per tenant.
Both. Tenant count is a good proxy for administrative overhead (security policies, license management, compliance checks). MAU measures the support demand from end users. An engineer with 4 large tenants (800 MAU) may be busier than one with 8 small tenants (200 MAU). This report shows both metrics side by side so you can judge case by case.
Connect Proxuma Power BI to your PSA, RMM, and M365 environment, use an MCP-compatible AI to ask questions, and generate custom reports - in minutes, not days.
See more reports Get started