How to Track Project Progress: Percent Complete, RAG and Reports
Knowing how to track project progress comes down to three numbers: how much of the work is done (percent complete), how much of the time has gone, and the gap between the two, shown as a status color. Share those numbers in a one-page status report on the same day every week, and most surprises show up while there is still time to fix them.
Below you will find five ways to calculate percent complete, formulas for days left and a forecast finish in Google Sheets and Excel, simple RAG rules and a status report template with a filled-in example.
How to Track Project Progress: The Three Numbers
- Percent complete: the share of the planned work that is finished.
- Time elapsed: the share of the project’s working days already gone, with days left alongside it.
- Budget used: the share of the budget already spent.
None of them means much alone. “50% done” is great news when 30% of the time has gone and bad news when 80% has. The rest of this guide is about measuring each number fairly and reading them together.
Five Ways to Measure Percent Complete
Take one example project: an online store launch running from Monday, September 14 to Friday, November 20, 2026, with 106 estimated hours of work. Here is the task list at the Monday, October 26 review.
| Task | Hours | Status | Owner’s estimate |
|---|---|---|---|
| Brief and kickoff | 4 | Done | 100% |
| Sitemap and wireframes | 12 | Done | 100% |
| Visual design | 20 | Done | 100% |
| Product photos | 16 | In progress | 75% |
| Build store pages | 30 | In progress | 10% |
| Product copy | 10 | Not started | 0% |
| Payments and shipping | 6 | Not started | 0% |
| Testing and launch | 8 | Not started | 0% |
| Total | 106 |
The same list gives five different answers depending on how you count:
| Method | How it works | Result | Good for | Watch out for |
|---|---|---|---|---|
| Task count | Done tasks divided by all tasks | 37.5% | Lists of similar-sized tasks | A 4-hour task counts the same as a 30-hour one |
| Done hours (0/100) | Hours of done tasks divided by total hours | 34.0% | A conservative floor | No credit for work under way |
| 50/50 rule | Done counts fully, in progress counts half | 55.7% | Teams that do not want to estimate | A big task that barely started counts as half done |
| Owner’s estimate | Each task’s hours times its estimate, divided by total hours | 48.1% | Most small projects | Only as honest as the estimates |
| Milestones | Fixed weights: design approved 30%, store built 50%, launched 20% | 30% | Client billing | Moves in big jumps, silent between them |
Our pick for most small projects is the owner’s estimate, weighted by hours, with the done-hours figure beside it as the floor. When the two are far apart, as here (48.1% against 34.0%), a large task is in progress and the estimate is carrying a lot of weight. “Build store pages” is 30 hours, so split it into pieces of a week or less. A work breakdown structure is the tool for that.
With task names in A2:A9, hours in B2:B9, status in C2:C9 and estimates in D2:D9, these formulas work the same in Google Sheets and Excel:
- Task count:
=COUNTIF(C2:C9, "Done")/COUNTA(A2:A9) - Done hours:
=SUMIF(C2:C9, "Done", B2:B9)/SUM(B2:B9) - 50/50 rule:
=(SUMIF(C2:C9, "Done", B2:B9)+0.5*SUMIF(C2:C9, "In progress", B2:B9))/SUM(B2:B9) - Owner’s estimate:
=SUMPRODUCT(B2:B9, D2:D9)/SUM(B2:B9)
Format the results as percentages.
Days Left, Time Elapsed and a Forecast Finish
Put the project’s start date in C2, end date in D2 and percent complete in F2. List your holidays in a column and name the range Holidays (Data > Named ranges in Google Sheets, Formulas > Define Name in Excel). In the example, the list holds Thanksgiving, November 26.
| Measure | Formula | Result on Oct 26 |
|---|---|---|
| Calendar days left (E2) | =D2-TODAY() |
25 |
| Working days left | =NETWORKDAYS(TODAY(), D2, Holidays) |
20 |
| Working days gone (H2) | =MAX(0, NETWORKDAYS(C2, TODAY()-1, Holidays)) |
30 |
| Time elapsed (I2) | =MIN(1, H2/NETWORKDAYS(C2, D2, Holidays)) |
60% |
| Schedule gap (J2) | =F2-I2 |
11.9 points behind |
| Forecast finish | =IF(F2=0, "", WORKDAY(TODAY()-1, ROUNDUP(H2*(1-F2)/F2, 0), Holidays)) |
Thu, Dec 10 |
All six formulas are identical in both apps; format E2 and H2 as numbers and the forecast as a date. NETWORKDAYS counts both ends of the range, so “working days left” includes today, while “working days gone” stops at yesterday. The project has 50 working days in total, and 30 had passed by Monday morning. Our NETWORKDAYS guide covers custom weekends and holiday lists in more detail.
The forecast is a straight-line projection. The team finished 48.1% of the work in 30 working days, so the remaining 51.9% would take about 33 more at the same pace. Counted from Monday and skipping Thanksgiving, that lands on Thursday, December 10: 13 working days after the deadline. Treat it as a warning, not a verdict, because it assumes the next four weeks go like the first six.
If you track several projects, our multiple project tracker template keeps days left, progress and status on one row per project.
RAG Status Rules for Project Progress
RAG stands for red, amber and green. Instead of letting each owner pick a color by feel, set rules from the schedule gap:
| Status | Rule | In the example |
|---|---|---|
| Green | Within 5 points of time elapsed, or ahead | The 50/50 rule: 4.3 points behind |
| Amber | 5 to 15 points behind | Owner’s estimate: 11.9 points behind |
| Red | More than 15 points behind, or a fixed date will be missed with no recovery plan | Task count and done hours: 22.5 and 26 points behind |
The same project comes out green, amber or red depending on the method, which is why you choose the method once and keep it. In a spreadsheet, the rule is one formula, the same in both apps:
=IF(J2>=-0.05, "Green", IF(J2>=-0.15, "Amber", "Red"))
Add a budget check beside it: if the share of budget used runs more than 10 points ahead of percent complete, the project is at least amber. In the example, $4,300 of an $8,000 budget is spent, 54% against 48% of the work, so cost is close enough and the status stays amber for schedule reasons. Let owners override the formula only with a written reason, such as a client delay that has already moved the date. What each color should trigger at your weekly review is covered in how to manage multiple projects.
One-Page Project Status Report Template
A status report should fit on one screen and take five minutes to read. Use the same seven parts every week:
- Header: project, owner, report date and the period covered.
- Overall status: the color and one sentence on why.
- Key numbers: percent complete, time elapsed, working days left, forecast finish and budget used.
- Done this period: three to five bullets.
- Next period: three to five bullets, each with an owner and a date.
- Risks and issues: what could go wrong or already has, with an action and an owner.
- Decisions needed: who has to decide what, and by when.
Here is the store launch report for October 26:
Online store launch: status report, Monday, October 26, 2026. Owner: Priya. Period: October 19 to 23.
Status: Amber. Product photos and the store build are behind; the plan below keeps November 20 possible.
Numbers: 48% complete against 60% of working time gone. 20 working days left. Forecast at the current pace: December 10. Budget: 54% used ($4,300 of $8,000).
Done: visual design approved; three quarters of the product photos shot and edited; store theme installed.
Next week: finish product photos (Leo, Oct 28); split the store build into five page templates and finish the home and product pages (Priya, Oct 30); start product copy (Sam, Nov 2).
| Issue | Impact | Action | Owner | Due |
|---|---|---|---|---|
| Store build started late | Launch could slip to Dec 10 | Priya adds two days a week to the build | Priya | Nov 13 |
| Shipping rates not received | Blocks payments and shipping setup | Ask the client in writing; use flat-rate shipping if none by Nov 6 | Sam | Nov 6 |
Decision needed: from the client by October 30: can the lower-priority products go live a week after launch? That takes part of the product copy out of the last two weeks.
Keep a Weekly Snapshot
TODAY() recalculates every time the file opens, so last week’s numbers vanish. After each report, copy the project’s key row and paste it as values only into a History tab: date, percent complete, time elapsed, gap, budget used and status. In Google Sheets use Edit > Paste special > Values only; in Excel use Home > Paste > Paste Values.
After four or five weeks, the trend says more than any single report. A gap that shrinks means the recovery plan works. A gap that grows by a few points every week means the date needs to move, and the snapshot gives you the evidence to say so early. To show the same progress on the timeline itself, see how to make a Gantt chart in Excel, which covers showing progress and today’s date on the chart.
Write the percent-complete method you chose at the bottom of every report. When someone questions the numbers, that one line settles most of the argument.
Frequently asked questions
How often should you send a project status report?
Weekly suits most projects, sent on the same day so people know when to expect it. Long, low-risk projects can report every two weeks, and the final week or two before a launch or event may need a short daily update.
What is the difference between a status report and a progress report?
Many teams use the terms interchangeably. When they are separated, a progress report lists the work completed in the period, while a status report adds where the project stands overall: its health, forecast, risks and the decisions needed.
Who should receive a project status report?
The client or sponsor, the people doing the work and anyone whose own plans depend on your dates. Send everyone the same version, so nobody works from a different story.
Why do projects seem stuck at 90 percent complete?
Usually because the percentage is a guess, and the last tasks (testing, fixes, approvals) are the ones people underestimate. Short tasks and a fixed rule for counting unfinished work keep the number honest near the end.