“What’s the Average Project Lead Time?”
Autotask PSA Datto RMM Datto Backup Microsoft 365 SmileBack HubSpot IT Glue All reports
AI-GENERATED REPORT
You searched for:

What’s the Average Project Lead Time?

Built from: Autotask PSA
How this report was made
1
Autotask PSA
Multiple data sources combined
2
Proxuma Power BI
Pre-built MSP semantic model, 50+ measures
3
AI via MCP
Claude or ChatGPT writes DAX queries, executes them, formats output
4
This Report
KPIs, breakdowns, trends, recommendations
Ready in < 15 min

What’s the Average Project Lead Time?

This report provides a detailed breakdown of what’s the average project lead time? for managed service providers.

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: Project managers, operations leads, and MSP owners tracking delivery

How often: Weekly for status updates, milestone dates for escalation, monthly for portfolio review

Time saved
Assembling project status from multiple tools and conversations takes hours. This report pulls it together.
Delivery visibility
Milestone progress, budget variance, and timeline risks across all active projects.
Client communication
Project status data formatted for client-facing updates and steering meetings.
Report categoryProject Management
Data sourceAutotask PSA · Datto RMM · Datto Backup · Microsoft 365 · SmileBack · HubSpot · IT Glue
RefreshReal-time via Power BI
Generation timeUnder 15 minutes
AI requiredClaude, ChatGPT or Copilot
AudienceProject managers, operations leads
Where to find this in Proxuma
Power BI › Projects › What’s the Average Project Lead...
What you can measure in this report
Portfolio Summary
Projects by Status
Top 10 Projects by Revenue
Project Lead Time Analysis
Key Findings
Frequently Asked Questions
Total Projects
Total Revenue
Avg Margin
Complete Projects
Project Performance Report
Dataset: Proxuma Demo
Source: ConnectWise PSA
Period: All projects on record
Generated: March 2026
Sources: Autotask PSA
What’s the Average Project Lead Time?
Portfolio performance, status distribution, and a practical guide to measuring delivery speed in Power BI — all from a single PSA query.
Demo data notice: Figures in this report use the Proxuma synthetic demo dataset. Values are representative of real MSP operations but do not reflect any actual client.
1.0
Portfolio Summary
Four headline figures from the full project portfolio
Total Projects
279
All statuses included
Total Revenue
$1.44M
Across all project types
Avg Margin
49.7%
Complete projects at 48.2%
Complete Projects
79%
By revenue share ($1.14M)

The portfolio is healthy at a high level: $1.44M in revenue with a near 50% margin is solid for an MSP project book. The key question is whether that margin holds as projects age. Complete projects sit at 48.2% margin, while in-progress projects are tracking higher at 55.8% — suggesting pricing has improved on newer work, or that cost actuals have not fully landed yet.

View DAX Query — Portfolio KPIs
EVALUATE
ROW(
    "Total Projects", COUNTROWS('Project'),
    "Total Revenue", SUM('Project'[Revenue]),
    "Total Cost", SUM('Project'[Cost]),
    "Total Profit", SUM('Project'[Revenue]) - SUM('Project'[Cost]),
    "Overall Margin %", DIVIDE(
        SUM('Project'[Revenue]) - SUM('Project'[Cost]),
        SUM('Project'[Revenue])
    ) * 100
)
2.0
Projects by Status
Revenue and margin breakdown across all project statuses
Status Revenue Margin Revenue Share
Complete $1,137,672 48.2%
In progress $261,787 55.8%
Live $23,139 54.2%
On Hold $16,704 51.0%
New $1,430 53.7%
Waiting to start $306 62.9%
Inactive $123 59.3%

Complete projects account for 79% of total portfolio revenue. The margin gap between Complete (48.2%) and In Progress (55.8%) is worth watching. In-progress margins often compress as projects close out — labour overruns, scope additions, and final billing adjustments all land at completion. A project tracking at 55.8% today might close at 48% or lower.

The On Hold category carries $16,704 in revenue at 51% margin. These projects are not generating billable hours but are consuming sales and operational overhead. Each week they sit idle, the effective margin erodes.

View DAX Query — Revenue and Margin by Status
EVALUATE
SUMMARIZECOLUMNS(
    'Project'[Status],
    "Revenue", SUM('Project'[Revenue]),
    "Cost", SUM('Project'[Cost]),
    "Margin %", DIVIDE(
        SUM('Project'[Revenue]) - SUM('Project'[Cost]),
        SUM('Project'[Revenue])
    ) * 100,
    "Project Count", COUNTROWS('Project')
)
ORDER BY [Revenue] DESC
3.0
Top 10 Projects by Revenue
Highest-value projects with cost and margin detail
Project Company Status Revenue Cost Margin
Project Environment Lewis LLC Complete $227,918 $126,286 44.6%
Project Somebody Craig-Huynh Complete $88,995 $62,510 29.8%
Project Along Doyle-Contreras Complete $77,269 $35,439 54.1%
Project Leave Clements, Pham & Garcia Complete $59,583 $27,299 54.2%
Project Though Burke, Armstrong & Morgan In progress $49,122 $25,730 47.6%
Project Number Little Group Complete $42,903 $20,302 52.7%
Project Feel Wu-Jackson In progress $39,867 $18,507 53.6%
Project Anyone Ramos Group In progress $26,162 $10,652 59.3%
Project Safe George Ltd Complete $26,557 $11,651 56.1%
Project Mr Rivers, Rogers & Mitchell In progress $29,887 $17,721 40.7%

Project Somebody stands out immediately: $88,995 in revenue but only 29.8% margin. That is the second-largest project by revenue and the lowest margin in the top 10. It is worth reviewing whether this was a fixed-price engagement that ran over, or whether billing did not capture all hours. Either way, the cost of $62,510 on a $89K project leaves very little room for error.

Project Mr (In Progress, 40.7% margin) is tracking below portfolio average while still active. If cost actuals continue to accumulate at the current rate, this project may close well below the team average.

View DAX Query — Top Projects by Revenue
EVALUATE
TOPN(
    10,
    SUMMARIZECOLUMNS(
        'Project'[Name],
        'Project'[Company],
        'Project'[Status],
        "Revenue", SUM('Project'[Revenue]),
        "Cost", SUM('Project'[Cost]),
        "Margin %", DIVIDE(
            SUM('Project'[Revenue]) - SUM('Project'[Cost]),
            SUM('Project'[Revenue])
        ) * 100
    ),
    [Revenue], DESC
)
4.0
Project Lead Time Analysis
How to measure delivery speed from your PSA data

Lead time for a project is the number of calendar days between the moment a project moves to active status and the moment it reaches Complete. Your ConnectWise PSA records status change timestamps for every project, which means you can calculate this directly in Power BI without any manual tracking.

Small Projects

2 – 4 weeks
Single-technician deployments, device setups, network changes

Medium Projects

1 – 3 months
Multi-phase migrations, server refreshes, security rollouts

Large Projects

3 – 12 months
Full infrastructure upgrades, long-term managed projects, M365 tenant migrations
How lead time is defined: Project lead time = the date the status changed to "In Progress" (or equivalent active status) subtracted from the date the status changed to "Complete". Projects that are currently active have an open lead time — calculated against today's date to show current duration.

Several factors shape lead time in an MSP context. Scope definition quality is the biggest one: projects that enter the active phase without a clear statement of work routinely run 30–50% longer than planned. Client availability is the second driver — waiting for client sign-offs, access credentials, or maintenance windows adds days or weeks that have nothing to do with your team's capacity.

On Hold status is a direct indicator of client-side delays or scope disputes. The $16,704 sitting in On Hold in this portfolio is not earning new revenue but continues to consume project management overhead. Tracking time-in-status gives you the data to have that conversation with the client.

Proxuma calculates this automatically. The Projects dashboard in Proxuma tracks status timestamps and surfaces average lead time per project type, client, and technician. You do not need to build this from scratch — it runs against your live PSA data on every refresh.
View DAX Query — Calculate Project Lead Time
EVALUATE SUMMARIZECOLUMNS('BI_Autotask_Projects'[project_status_name], "ProjectCount", COUNTROWS('BI_Autotask_Projects'), "AvgDurationDays", AVERAGE('BI_Autotask_Projects'[duration_days]), "TotalEstHours", SUM('BI_Autotask_Projects'[estimated_hours]), "TotalWorkedHours", SUM('BI_Autotask_Projects'[worked_hours]))
5.0
Key Findings
Three things to act on from this data
!

Project Somebody needs a margin review

At 29.8% margin on $88,995 revenue, this is the portfolio's biggest underperformer. The gap between revenue and cost suggests either hours were not fully captured in billing or the fixed-fee was set too low relative to actual scope. Pull the time entries and cross-reference against the original SOW.

!

In-progress margins will compress at close

Projects currently in flight are showing 55.8% margin — 7.6 points above the complete project average. This gap almost always narrows at project close. Budget for final labour costs, punch-list items, and any scope that was delivered informally but not billed.

+

Add status timestamps to your lead time calculation

ConnectWise records every status change with a date. Using DATEDIFF on these timestamps gives you accurate lead time per project without any manual data entry. Once this measure exists in Power BI, you can segment by project type, client tier, or technician to find where delays concentrate.

FAQ
Frequently Asked Questions
Common questions about project lead times and delivery tracking
What exactly counts as project lead time in a PSA?

Lead time is the elapsed calendar time from when a project first becomes active (status moves to "In Progress" or equivalent) to when it reaches "Complete". It is a wall-clock measure, not a billable hours measure. A project can have low billable hours but a long lead time if it spent weeks waiting for a client approval or hardware delivery. Both numbers matter, and they tell different stories.

How does On Hold time affect average lead time?

It depends on how you define it. If you calculate lead time as total days from start to completion, On Hold periods inflate the number and may unfairly reflect on your team's delivery speed. A cleaner approach is to calculate active lead time only — excluding days where the project was in On Hold, Waiting to Start, or Inactive status. Proxuma's Projects dashboard gives you both views.

Why is the margin lower on complete projects than in-progress ones?

Two main reasons. First, in-progress projects have not yet accumulated all their final costs. Labour entries, subcontractor invoices, and charge items that arrive late often land after a project is marked complete — but while it is still active, the cost side looks lighter than it will at close. Second, newer projects are often priced more aggressively as MSPs gain experience and tighten their SOWs. Complete projects may include older engagements from a time when pricing was less refined.

What is a realistic average lead time benchmark for MSP projects?

There is no single benchmark because it depends entirely on project type. Small configurations and device setups should close in 2 to 4 weeks. Infrastructure migrations typically run 6 to 10 weeks. Full-scale M365 tenant migrations or network redesigns can extend to 3 to 6 months. The useful benchmark is your own historical average per project type — if your network deployments used to close in 5 weeks and now average 9, something has changed in scope or capacity.

Can I track project lead time in Power BI without status history tables?

If your PSA does not expose a status history table, you can use the project's scheduled start date and actual completion date as a proxy. DATEDIFF([Scheduled Start], [Actual End Date], DAY) gives you a reasonable approximation of lead time. It is less precise than using actual status change timestamps, but it gets you 80% of the insight with a much simpler query. ConnectWise Manage does expose status history through its API, so Proxuma can surface it if it is included in your data model.

Generate this report from your own data

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