How to Create a Utilization Report in Tableau

Cody Schneider7 min read

Tracking how efficiently your resources are being used is fundamental to running a profitable and healthy business. A utilization report moves you from guessing about capacity to knowing exactly who's overworked, who's on the bench, and how effectively your team is allocated. This article will walk you through, step-by-step, how to build a dynamic and insightful utilization report from scratch using Tableau.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

What is a Utilization Report?

At its core, a utilization report measures the productivity of your resources - typically your employees - over a specific period. It benchmarks the actual time spent on productive tasks against the total available time. The key metric you'll be tracking is the utilization rate.

The formula is simple:

Utilization Rate = (Total Hours Logged / Total Available Hours) x 100

This single percentage can tell you a lot. For professional services firms, creative agencies, and consulting groups, it's a direct indicator of profitability. If your team has a low utilization rate, it often means you have too many people sitting on the bench, not contributing to revenue-generating projects. If the rate is too high (close to or over 100%), your team might be on a fast track to burnout. Tracking this helps you find the sweet spot for sustainable growth.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Step 1: Get Your Data Ready

The quality of your report depends entirely on the quality of your data. Before you even open Tableau, you need to ensure your data is clean, structured, and contains all the necessary components. This information usually comes from time-tracking software (like Harvest or Toggl), project management systems, or a meticulously kept spreadsheet.

To build a utilization report, your dataset should have, at a minimum, the following fields:

  • Employee Name: The identifier for the person or resource.
  • Date: The exact date the hours were logged. This is crucial for trending analysis.
  • Project Name or ID: The project the work was associated with.
  • Hours Logged: The number of hours the employee worked on that project on that specific date.
  • Task Type (Optional but Recommended): A field to distinguish between "Billable" and "Non-Billable" work. This lets you build more advanced and meaningful reports.

Your raw data might look something like this in a spreadsheet:

Notice we don't have a column for "Available Hours." This is common. We will calculate this directly within Tableau based on standard assumptions.

Step 2: Connect Data and Create Core Calculations in Tableau

With your data prepped, it's time to fire up Tableau and start building. Once you connect to your data source (be it Excel, Google Sheets, or a database), Tableau will import your dataset.

Now, let's create the calculated fields that will power our report.

Calculating Total Available Hours

This is the most important - and often trickiest - calculation. For this guide, we'll assume a standard 8-hour workday for every weekday. A more advanced setup might involve joining an HR calendar with public holidays and a separate log of personal time off, but this approach is a fantastic starting point.

First, create a calculated field to define the number of working days for each employee in the dataset.

  1. In Tableau, navigate to the top menu and select Analysis > Create Calculated Field.
  2. Name the field Work Days. This formula counts the distinct number of dates each employee has logged time.
{ FIXED [Employee] : COUNTD([Date]) }
  1. Name your second calculated field Total Available Hours.
  2. Enter the formula:
[Work Days] * 8

This calculation multiplies each employee's unique number of working days by 8 (for 8 hours per day) to establish their total capacity for the period.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Calculating Utilization Rate

Now that we have both total hours logged and available hours, we can calculate the utilization rate.

  1. Create another calculated field named Utilization Rate.
  2. Use the following formula:
SUM([Hours Logged]) / MIN([Total Available Hours])

A quick note: We use MIN() or MAX() for Total Available Hours because it's a Level of Detail (LOD) expression. When aggregated in a view, you need to use an aggregation like MIN, MAX, or AVG to avoid errors. Since the value is the same for each employee, any of them will work.

  1. Once the calculated field is created, right-click it in the Data pane, go to Default Properties > Number Format > Percentage, and set it to 0 or 1 decimal place.

Step 3: Build Your First Visualization: Utilization by Employee

Let's build a simple bar chart to see who is carrying the heaviest load.

  1. Drag the Employee dimension to the Columns shelf.
  2. Drag the Utilization Rate measure to the Rows shelf.
  3. Tableau will generate a vertical bar chart. Click the Sort icon in the toolbar to arrange the bars from highest to lowest utilization rate.

To make this chart even more useful, you can add colors to quickly spot who is over or under-utilized.

  1. Create a new calculated field named Utilization Status.
IF [Utilization Rate] > 0.90 THEN "Overutilized"
ELSEIF [Utilization Rate] < 0.70 THEN "Underutilized"
ELSE "At Capacity"
END
  1. Drag this new Utilization Status dimension to the Color mark on the Marks card. Now you have a color-coded chart that instantly tells a story.

Step 4: Visualize Utilization Over Time

Spotting trends is crucial. Is your team's utilization dropping near the end of the quarter? Is there a spike in work during a particular season? A line chart answers these questions.

  1. Create a new worksheet.
  2. Drag the Date dimension to the Columns shelf. Right-click on it and select Month (you can choose Week or Quarter as well, depending on the granularity you need).
  3. Drag the Utilization Rate measure to the Rows shelf.

You'll now have a line chart showing the average utilization rate for the entire team over time. Add filters for specific departments or projects to drill down further.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Step 5: Differentiate Billable vs. Non-Billable Utilization

Not all logged hours are created equal. Time spent on administrative tasks or internal meetings is necessary but doesn't generate revenue. Calculating a billable utilization rate gives you a true measure of profitability.

Assuming you have a Task Type column, you can create a new calculated field.

  1. Create a calculated field named Billable Hours.
IF [Task Type] = "Billable" THEN [Hours Logged] ELSE 0 END
  1. Now, create a Billable Utilization Rate field.
SUM([Billable Hours]) / MIN([Total Available Hours])

Remember to format this new measure as a percentage. You can now use this measure to create parallel visualizations that show not just overall utilization, but revenue-generating utilization specifically. This is often the KPI managers care about most.

Step 6: Assemble an Interactive Dashboard

The true power of Tableau comes alive when you combine your worksheets into a single, interactive dashboard.

  1. Click the New Dashboard icon at the bottom of the screen.
  2. Drag the worksheets you've created (Utilization by Employee, Utilization Over Time, etc.) onto the canvas. A good layout is to show high-level KPIs at the top, like the overall team utilization rate, with more detailed charts below.
  3. Add Filters: Drag the Date field from one of your sheets to the dashboard view and add it as a filter. This will allow users to select custom date ranges. You can do the same for Department, Project, or any other relevant dimension.
  4. Enable Actions: Make your dashboard dynamic. Select a chart (like the "Utilization by Employee" bar chart) and click the "Use as Filter" icon that appears. Now, when a user clicks on a specific employee's bar, the rest of the dashboard will automatically filter to show data only for that person. It’s a simple way to empower users to explore the data on their own.

Final Thoughts

Building a utilization report in Tableau transforms your raw time-tracking data from a simple log into a strategic tool for managing your team's capacity, protecting against burnout, and driving profitability. By following these steps, you can create a clear, interactive visual that provides valuable insights into how your most important resource - your people - are allocated.

While mastering tools like Tableau is a powerful skill, we know it comes with a steep learning curve. We built Graphed for teams who need those same valuable insights without spending weeks learning complex software. Instead of creating calculated fields and dragging pills, you connect your data and just ask a question like, "Show me a chart of billable utilization by team member for last quarter." Graphed instantly builds the live, interactive visualization for you, turning hours of report-building into a 30-second conversation.

Related Articles