Learnables

Revenue Forecasting for General Contractors: A Practical Framework

Most GCs track project financials but can't answer what they'll bill next quarter. Here's the three-layer framework that connects WIP, backlog, and weighted pipeline into a rolling revenue forecast.

· 16 min read
Edward Gonzalez

Edward Gonzalez

Founder

Revenue Forecasting for General Contractors: A Practical Framework

Ask any GC owner what they billed last month and they’ll have an answer within sixty seconds. Ask them what they’ll bill six months from now and you’ll get a long pause, a squint at a whiteboard, and something that sounds more like a weather prediction than a financial plan.

That gap isn’t laziness. It’s structural. General contractors operate in a revenue environment unlike almost any other business: long project cycles that span years, billing curves that shift with every change order and weather delay, and a pursuit pipeline where today’s handshake becomes next year’s revenue. The tools most GCs rely on: WIP reports, ERP dashboards, the CFO’s gut (which is not an accounting method, technically). All of them were built to answer where the money has been, not where it’s going.

This is a guide for GC leadership: owners, VPs, and CFOs who need a revenue forecast they can hand to their bonding agent, present to the board, or use to decide whether to hire two more project managers in Q3. Not theory. A framework.

Revenue forecasting for general contractors is the process of projecting future billings and cash receipts across a firm’s entire portfolio by combining three data streams: work-in-progress on active projects, signed backlog not yet started, and probability-weighted pursuit pipeline. Unlike project-level cost forecasting, revenue forecasting answers a company-level question: what will this firm bill, collect, and earn over the next 12 to 18 months?


Why Revenue Forecasting Is Different for General Contractors

Revenue forecasting for a SaaS company is straightforward: multiply subscribers by monthly price, add expected new bookings, subtract churn. Revenue forecasting for a general contractor is a different animal entirely.

Three things make it uniquely difficult:

  • Long project cycles. A commercial GC’s projects span 12 to 36 months. You can’t forecast annual revenue by looking at monthly sales data. The contracts you signed 18 months ago are still driving today’s billings.
  • Non-linear billing. A $20 million project does not produce $1.67 million per month for twelve months. Revenue follows an S-curve: slow during mobilization, peaking through active construction, and tapering during punchlist and closeout. More on that shortly.
  • Revenue from three pools. At any given moment, a GC’s future revenue comes from three distinct sources: active projects being billed (WIP), signed contracts not yet started (backlog), and pursuits that may or may not be won (pipeline). Most GCs track one or two of these. Almost none combine all three.

According to CFMA’s 2024 Construction Financial Benchmarker, the average commercial contractor’s net income before taxes sits at 6.3% of revenue. At the lower end of the spectrum, margins compress to 2% to 4%. When you’re operating on margins that thin, a 10% revenue miss isn’t a rounding error; it’s the difference between a profitable year and a conversation with your bonding company you’d rather not have.

That’s why this matters. Not as an academic exercise, but as the difference between running your business and your business running you. The hidden cost of poor preconstruction visibility isn’t just wasted estimating hours; it’s revenue you never saw coming (or never saw leaving).


The WIP Report Is Not a Revenue Forecast

Let’s start with the tool most GCs already have: the work-in-progress report. Your WIP tells you critical things about your current projects: what you’ve billed, what you’ve earned, what’s left to complete, whether you’re overbilled or underbilled on each job. It’s the backbone of construction accounting.

But a WIP report and a revenue forecast answer fundamentally different questions.

Your WIP looks backward and sideways. It tells you the financial health of projects you already have under contract. A revenue forecast looks forward: it projects what cash will flow into your business over the next 3, 6, and 12 months, including from projects you haven’t won yet.

Running a construction company on WIP alone is like driving by looking only in the rearview mirror. You can see exactly where you’ve been. You’ll also miss the turn.

WIP ReportRevenue Forecast
PurposeFinancial status of active contractsProjected billings across the entire firm
Data sourceAccounting system / ERPWIP + backlog + preconstruction pipeline
Time horizonCurrent period (what’s been billed and earned)12–18 months forward
Who uses itController, project accountant, suretyOwner, CFO, VP of Operations
What it can’t tell youWhat revenue arrives 90–180 days from nowExact cost-to-complete on individual line items
Blind spotPursuit pipeline is invisibleRequires cross-functional data input

The WIP report is essential. But it was designed to satisfy your surety and your accountant, not to help you make forward-looking decisions about hiring, bonding, or whether to chase that $30 million healthcare project. For that, you need to see the full picture: what you’re building now, what you’ve signed but haven’t started, and what you’re likely to win.


How to Build a Weighted Pipeline for Revenue Forecasting

Most GCs don’t weight their pipeline. Not because the math is hard, but because nobody ever showed them how, and doing it in a spreadsheet is tedious enough to skip. That changes today.

Your preconstruction team is sitting on financial intelligence they don’t realize they have. Every active pursuit has a contract value. Every pursuit has a stage (lead, qualification, proposal, interview, award). And whether your team tracks it explicitly or not, every pursuit has a probability of winning.

Think of it like a batting average. You don’t plan your season assuming you’ll get a hit every at-bat. You plan around your on-base percentage: a realistic measure of how often you actually reach base, given enough swings. Weighted pipeline is the same idea applied to your pursuit portfolio: not what you could win, but what you’re likely to win, based on the probabilities.

That turns a wish list into a number your CFO can actually use.

The formula is simple: Contract Value × Win Probability = Weighted Revenue.

A $10 million project at 40% probability contributes $4 million to your weighted pipeline. A $5 million project at 80% probability contributes $4 million. Same weighted value, different risk profiles.

Sum all active pursuits weighted by their probability, and you have a defensible view of expected future revenue. Not a best-case scenario. Not a worst-case scenario. A working model grounded in your own pursuit data.

Setting Win Probability by Pursuit Stage

If you’ve never assigned win probabilities before, start with industry benchmarks and calibrate from there:

  • Hard competitive bid: 10% to 20% win rate. You’re one of eight subs; the low number wins unless relationships say otherwise.
  • Invited/selective bid: 20% to 35%. Smaller short list, but still competitive.
  • Negotiated/relationship-based: 35% to 50%. You’re in the room because they want you; the question is terms, not selection.
  • Verbal award / near-certain: 75% to 90%. Leave room for the deal that falls apart at the last minute (and one always will).

These are starting points. Over time, your own data will tell you what your actual win rates are by market sector, project size, and delivery method. That historical data is what separates a forecast from a guess.

The pipeline coverage rule of thumb: carry 3x to 4x your revenue target in weighted pipeline. If your target is $50 million, your active pipeline should hold $150 million to $200 million in total opportunity value. That accounts for the bids you’ll lose and the projects that will slip.

If you’re using a preconstruction platform like Buildr that tracks pursuit stages and win probability natively, this number updates in real time as your business development (BD) team works. If you’re tracking pursuits in a spreadsheet, you’re doing this math manually, and it’s probably stale by Friday. Your go/no-go process feeds directly into the quality of this pipeline; the more selective you are about which pursuits enter the funnel, the more accurate your weighted revenue becomes.


S-Curve Billing: Why Backlog Does Not Equal Next Month’s Revenue

Here’s where most revenue forecasting conversations stop too early.

You’ve won a $15 million contract. Construction starts in four months. Your backlog just grew by $15 million. But how much of that $15 million shows up as revenue this year?

The answer depends entirely on the billing curve.

Construction billing does not flow evenly across a project’s life. Revenue follows an S-curve: slow in the mobilization phase as you’re getting permits, ordering materials, and setting up the site; accelerating through the construction peak when multiple trades are active and monthly billing is at its highest; and tapering during closeout as you’re chasing punchlist items and waiting on final inspections.

Think of it like a road trip. The first hour is stop-and-go through the city. The middle four hours are highway miles. The last thirty minutes is circling for parking. You don’t divide total distance by total hours and assume a constant speed.

A GC managing a portfolio of five overlapping projects must model each project’s billing curve separately, then stack them, to know what their actual monthly revenue will look like. That $15 million contract starting in June might contribute $200,000 in Q3 (mobilization), $4 million in Q4 (ramp-up), and $6 million in the first half of next year (peak construction). Very different from the “$15 million in backlog” line item on your balance sheet.

Buildr’s forecasting tools let you assign a curve type to each project: a standard S-curve, linear distribution, front-loaded, back-loaded, or a custom monthly breakdown. As you close billing periods each month, the system automatically reforecasts remaining months against actuals. That means your forecast gets more accurate as each project progresses, not less.

According to FMI’s research on backlog risk, signed contracts can carry hidden risks: labor shortages, material cost shifts, and scheduling conflicts that prevent a contractor from converting backlog to billings on schedule. Backlog you can’t staff is backlog you can’t bill. The S-curve model forces that reality into the forecast rather than hiding it behind a lump-sum number.


Building a Rolling 12-Month Revenue Forecast

Now let’s put the three layers together. This is the framework.

Think of a rolling forecast like a weather radar rather than yesterday’s newspaper. The newspaper told you what happened. The radar shows you what’s coming, updates every hour, and gets sharper the closer the storm gets. A rolling 12-month revenue forecast works the same way: it never goes stale. Unlike an annual budget that’s obsolete by February, the rolling model refreshes each month. New signed work rolls in, completed work rolls off, and pursuit probabilities update as projects advance through pipeline stages. What you get is a live view of your revenue horizon and a clear picture of where the gaps are before they become crises.

A CFMA-documented case study found that a mechanical contractor implementing this approach achieved forecast accuracy within 0.5% of net income, dramatically reducing reliance on the traditional annual budget process.

Here are the five steps:

Step 1: Map Your Signed Backlog by Month

Start with what you know. Every signed contract has a value, a construction start date, and an expected end date. Apply a billing curve (S-curve, linear, or custom) to each project and distribute expected monthly billings across the forecast horizon.

This is your highest-confidence revenue. It’s under contract. The only variables are timing and change orders. This layer is your floor: the minimum revenue you can plan against.

Step 2: Layer In WIP Actuals

For projects already underway, replace projected billing with actual billing data for closed months. Then reforecast the remaining months based on revenue-to-complete and your billing curve.

This is where your WIP report meets your forecast. The WIP gives you what’s happened; the curve projects what’s left. This is also where you’ll catch profit fade early. If a project is ahead of schedule, the remaining months compress. If it’s behind, they stretch. When actuals diverge from the curve, that divergence is data: it tells you the project is running fast or slow before your PM officially reports it.

Step 3: Add Weighted Pipeline Revenue

Now add the forward-looking layer. For each active pursuit, multiply contract value by win probability and distribute the expected revenue across the forecast horizon using estimated construction dates and a default billing curve.

A $12 million pursuit at 30% probability with an estimated 18-month construction period starting in Q4 contributes $3.6 million in weighted revenue, distributed across months 7 through 24 of your forecast.

This layer carries real uncertainty, and that’s fine. Uncertainty isn’t a flaw here; it’s the whole point. You are buying time to respond. A revenue gap that shows up in month nine gives you six months to fill it. A gap you don’t see until month eight is a crisis.

Step 4: Identify Revenue Gaps and Trigger Action

With all three layers stacked, you can see the shape of your revenue horizon: the months that are full, the months that are thin, and the months that are empty.

Revenue gaps are the whole point of the exercise. A visible gap six months out gives you options:

  • Increase pursuit activity in specific market sectors
  • Accelerate proposals on high-probability opportunities
  • Adjust workforce plans and overhead commitments
  • Have an honest conversation with your bonding agent before they have to ask

If you’re tracking preconstruction financial metrics like cost-per-pursuit and revenue-per-estimator, you can tie your BD response directly to the size of the revenue gap. One Buildr customer, BCCG, tripled their trusted pipeline value in two years by connecting pursuit data to a unified forecast view.

Step 5: Refresh Monthly, Not Annually

The annual budget is a snapshot that decays the moment it’s finished. A rolling forecast is a living document. Each month:

  • Close billing periods on active projects (actuals replace projections)
  • Update pursuit probabilities as proposals advance or fall out
  • Add new signed contracts
  • Extend the horizon by one month

The discipline isn’t the math. It’s the cadence. A forecast that’s updated monthly is a management tool. A forecast that’s updated quarterly is a paperweight.


Key Benchmarks Your Forecast Should Be Measured Against

A forecast without benchmarks is just a spreadsheet with opinions. Here are the numbers that tell you whether your revenue position is healthy:

  • Backlog months: Most commercial GCs target 6 to 12 months of annual revenue in signed backlog. Below six months and you’re living pursuit-to-pursuit. Above twelve and you may be overcommitted relative to your workforce capacity.
  • Pipeline coverage ratio: Carry 3x to 4x your revenue target in active pipeline. If you’re targeting $80 million in revenue and your pipeline holds $160 million, you’re light. That math gets more honest when you weight it by probability.
  • Win rate by delivery method: Track your actual win rate against the benchmarks (10–20% hard bid, 30–50% negotiated). If your weighted pipeline assumes 35% across the board but your real hard-bid win rate is 12%, your forecast is lying to you.
  • Forecast accuracy: Compare projected revenue to actual billings each month. A well-maintained rolling forecast should land within 5% to 10% of actuals for the near-term quarter, with wider variance in the 9- to 12-month range. The CFMA mechanical contractor case hit 0.5% accuracy. That’s the ceiling, not the floor.
  • Revenue-to-complete velocity: How fast your backlog converts to billings. If conversion is slowing, your projects are delayed and your revenue is shifting right, even though your backlog number hasn’t changed.

These benchmarks work best when they’re tracked monthly and compared over time. One month’s numbers are a data point. Twelve months of trend data is a strategic advantage.


Revenue Forecasting Tools: What Actually Works

If you’ve spent every month-end reconciling three systems to produce a revenue view that’s already stale by the time it’s done, you already know the friction. Here’s what the options actually look like.

Spreadsheets

Most GCs start here, and many never leave. A well-built Excel model can handle the math. The problem isn’t the formula; it’s the maintenance. According to industry surveys, the vast majority of construction firms still use spreadsheets for financial planning, and maintaining those models requires 12 to 18 hours per month.

The deeper issue: spreadsheet forecasts break when the data lives in three places. Your WIP data is in the accounting system. Your pursuit data is in a separate spreadsheet (or in someone’s head). Your project schedules are in a third system. Every month, someone manually pulls, reconciles, and rebuilds. It works until it doesn’t, and it stops working right around the time you need it most: when the business is growing.

ERP and Accounting Systems

Traditional construction ERPs are excellent at WIP reporting and job-cost tracking. They know everything about your active contracts. What they don’t know is your pursuit pipeline: what you’re chasing, what you might win, and what that means for next year’s revenue.

ERP-based forecasting starts at contract award. Everything before that moment: the BD conversations, the go/no-go decisions, the win probabilities. All invisible to the system. If your firm’s preconstruction pipeline is the leading indicator for future revenue (and it is), then an ERP-only forecast is missing its most important input.

Forecasting Software Built Around the Pursuit Pipeline

This is Buildr’s lane. Buildr’s forecasting connects your preconstruction pipeline directly to your financial forecast. Win probability feeds weighted revenue calculations. Pursuit stages feed timing estimates. When a project moves from pursuit to award, its contract value shifts from weighted pipeline to signed backlog, and the forecast updates automatically.

You can toggle between actual and weighted revenue views, flip between revenue and profit projections, and filter by division, market sector, or date range. Buildr also preserves your initial forecast as a baseline, so you can compare original projections against actuals over the life of a project.

The result is the three-layer model described in this post: WIP, backlog, and weighted pipeline, built into one view, updated in real time, without the monthly data reconciliation.

SpreadsheetsERP / AccountingBuildr
Built for GCsGeneric; you build the logicAccounting-centricPurpose-built for GC precon + finance
Pursuit pipeline → forecastManual, if at allNot connectedUnified; pipeline feeds forecast
Win probability weightingIf you build it yourselfNot a native conceptBuilt-in per pursuit
S-curve / billing curvesManual formulasLimitedS-curve, linear, front/back-loaded, custom
Actual vs. forecast trackingManual; version control nightmareStrong on active contractsAuto-reforecast with initial baseline preserved
Maintenance burden12–18 hrs/monthModerate (WIP updates)Low; data flows from daily workflow
Setup complexityLow but fragileHigh (ERP implementation)Mid-market SaaS; weeks, not quarters

The honest tradeoff: Buildr isn’t an ERP. If you need deep job costing, WBS-level tracking, or subcontractor payment management at scale, you’ll likely integrate Buildr with a back-office accounting system rather than replace it. The value is in the forward-looking layer: the pursuit-to-revenue continuity that ERPs structurally cannot provide.


Frequently Asked Questions

How do general contractors forecast revenue?

General contractors forecast revenue by combining three data streams: revenue remaining on active projects (from WIP reports), projected billings on signed contracts not yet started (backlog), and probability-weighted revenue from active pursuits (pipeline). Each layer uses different data and carries different confidence levels. Active WIP is highest confidence; weighted pipeline is lowest. A rolling 12-month model updates monthly as new work enters, old work completes, and pursuit probabilities change.

What is weighted pipeline revenue in construction?

Weighted pipeline revenue is the probability-adjusted value of a contractor’s active pursuits. For each pursuit, you multiply the contract value by the estimated probability of winning. A $10 million project at 40% win probability contributes $4 million to the weighted pipeline. Summing all active pursuits produces an expected revenue figure that accounts for the statistical reality that you will not win every bid. This metric lets GC leadership plan hiring, bonding, and overhead against a realistic revenue expectation rather than a best-case scenario.

How do you combine WIP reports and pursuit pipeline into a single revenue forecast?

Start with your WIP data: for each active project, calculate the revenue remaining and distribute it across the forecast horizon using the project’s billing curve. Then add signed backlog with projected start dates and curve-type assumptions. Finally, layer in your pursuit pipeline with each opportunity weighted by win probability and distributed by estimated construction timeline. The result is a month-by-month revenue projection that spans your entire firm: what you’re billing now, what you’ve committed to, and what you expect to win.

What is an S-curve in construction billing and how does it affect revenue forecasting?

An S-curve describes the typical billing pattern of a construction project over time. Billing starts slowly during mobilization, accelerates through the peak construction phase, and tapers during closeout. The shape resembles the letter S when plotted on a chart. For revenue forecasting, the S-curve matters because a $20 million contract does not produce equal monthly revenue. A GC with a portfolio of overlapping projects must model each project’s billing curve independently, then aggregate them, to produce an accurate month-by-month revenue projection.

How often should a GC update its revenue forecast?

Monthly, at minimum. Each month, close billing periods on active projects to replace projections with actuals, update win probabilities on pursuits that have advanced or stalled, add newly signed contracts, and extend the forecast horizon by one month. According to CFMA case research, contractors who maintain a monthly rolling forecast achieve significantly better accuracy than those relying on annual budgets. Near-term months (zero to two) should carry less than 5% uncertainty; months nine through twelve will naturally carry 50% to 80% estimation, and that is expected and acceptable.

What’s the difference between revenue forecasting and cash flow forecasting for a GC?

Revenue forecasting projects what you will earn and bill. Cash flow forecasting projects when you’ll actually receive the money. They’re related but different. Revenue might be recognized on percentage-of-completion, but cash arrives when the owner pays the draw request — which could be 30, 60, or 90 days later. Retainage adds another layer: 5% to 10% of every draw is typically held back until project completion. A thorough financial planning process uses the revenue forecast as an input to the cash flow forecast, layering in payment terms and retainage schedules.

What tools do general contractors use for revenue forecasting?

Most GCs forecast revenue using one of three approaches: spreadsheets (most common, highest maintenance burden), ERP and accounting systems (strong on WIP tracking but blind to the pursuit pipeline), or dedicated preconstruction software that connects pipeline data to financial forecasting. The key differentiator is whether the tool can combine WIP, signed backlog, and probability-weighted pursuits into a single view. ERPs start at contract award; they cannot model revenue from projects you haven’t won yet. Preconstruction-connected platforms like Buildr bridge that gap by feeding pursuit data directly into the revenue forecast.

What benchmarks should a GC use to evaluate their revenue forecast?

Key benchmarks include backlog months (target 6 to 12 months of annual revenue in signed work), pipeline coverage ratio (carry 3x to 4x your revenue target in active pipeline), win rate accuracy by delivery method (compare assumed probabilities to historical actuals), and forecast-to-actual variance (target less than 10% variance on near-term quarters). Track these monthly. Improving forecast accuracy is a process, not a switch. The firms that get there are the ones that treat the forecast as a management discipline, not a finance department deliverable.


The Bottom Line

Revenue forecasting for general contractors isn’t complicated in theory. You have three sources of future revenue. You combine them. You update them monthly. You act on the gaps before they become emergencies.

What makes it hard in practice is that the data lives in different places. Your ERP knows your WIP. Your BD team knows the pipeline. Your project managers know the schedule. Nobody has stitched them together into one view that updates itself.

That’s the real problem this framework solves. Not more math. Better connections.

If you’re building this in spreadsheets today, the framework above will still work. You’ll just spend more time maintaining it. If you’re ready for a system where preconstruction pipeline data feeds the revenue forecast automatically, that’s what Buildr was built for.

Either way, the first step is the same: stop treating your WIP report as a revenue forecast, start weighting your pipeline, and give your leadership team a 12-month view they can actually plan against.

Schedule a demo to see how Buildr connects your pursuit pipeline to a rolling revenue forecast.