How to Create a Utilization Report in Looker with AI
Tracking your team's utilization is one of the best ways to understand a company’s operational efficiency, profitability, and overall health. This article will show you how to build a utilization report in Looker, step by step, and introduce how AI-powered tools can provide the same insights in a fraction of the time.
What is a Utilization Report and Why Does It Matter?
A utilization report measures how efficiently your team is spending its time. It's especially important for agencies, consulting firms, and service-based businesses where time directly translates to revenue. The core metric is the utilization rate, which tells you what percentage of an employee's total available work time is being spent on billable or productive tasks.
The calculation is simple:
Utilization Rate = (Total Billable or Productive Hours / Total Available Hours) x 100
Tracking this number helps you answer critical business questions:
Are we staffed correctly for our current projects?
Which team members are over-capacity and at risk of burnout?
Who has extra bandwidth to take on new work?
Are our projects priced accurately based on the time they actually take?
How much of our team's time is spent on non-billable, administrative work?
Without this data, you're essentially flying blind, making critical staffing and financial decisions based on guesswork instead of reality. Looker is a powerful BI tool that can help centralize this data, but first, you need to have the right information ready.
Step 1: Gather the Necessary Data
Before you can build anything in Looker, you need to collect and consolidate the right data. Your report is only as reliable as the information that feeds it. Typically, this data lives in a few different places:
Time Tracking Software: Tools like Harvest, Toggl, or Everhour are the source of truth for hours worked. You'll need records that specify the employee, project, date, and hours logged.
Project Management Tools: Platforms like Asana, Jira, or Trello provide context about the projects and tasks your team is working on.
HR Information Systems (HRIS): Your HR platform contains information on employee capacity, such as their standard working hours (e.g., 40 hours per week) and scheduled time off.
At a minimum, you'll need a dataset that includes the following fields for each time entry:
Employee Name/ID: To identify who is doing the work.
Date: The day the work was performed.
Hours Logged: The number of hours spent on a task.
Project Name/ID: To categorize the work.
Task Description: For more detailed analysis.
Billable Status: A flag (True/False or Billable/Non-Billable) to distinguish revenue-generating work from internal tasks.
You'll also need a way to determine each employee's "Total Available Hours" for a given period, which is usually their standard contracted hours minus any approved time off.
Step 2: Building Your Utilization Report in Looker
Once your data is consolidated in a database or data warehouse that Looker can connect to (like BigQuery, Redshift, or Snowflake), you can start building the report. The process in Looker involves working with its semantic modeling layer, LookML.
Connecting Your Data and Creating a Project
First, you'll need to configure a connection between Looker and your database. This is handled in the Admin panel. Once connected, you can create a new Looker project, which will be the home for your LookML model and the reports you build from it.
Defining the Model with LookML
LookML (Looker Modeling Language) is where you define your data's business logic. You're effectively creating a user-friendly layer on top of your raw database tables, telling Looker how to calculate metrics and how different tables are related. For a utilization report, you will primarily create dimensions and measures.
Dimensions are the fields you want to group or filter by, like 'Employee Name', 'Project', or 'Date'.
Measures are calculations performed on those dimensions, like a count of hours or an average rate.
Here’s a simplified example of what you might define in a LookML 'view' file for your time-tracking data:
view: time_entries { sql_table_name: public.time_entries ,,
dimension: employee_name { type: string sql: ${TABLE}.employee_name ,, }
dimension: project_name { type: string sql: ${TABLE}.project_name ,, }
dimension_group: entry_date { type: time timeframes: [date, week, month, year] sql: ${TABLE}.entry_date ,, }
dimension: hours_logged { type: number sql: ${TABLE}.hours_logged ,, }
dimension: is_billable { type: yesno sql: ${TABLE}.is_billable ,, }
--- Measures for Calculation ---
measure: total_hours_logged { type: sum sql: ${hours_logged} ,, }
measure: total_billable_hours { type: sum sql: ${hours_logged} ,, filters: { field: is_billable value: "yes" } } }
Calculating the Utilization Rate in LookML
Now, you can define the core metric: the utilization rate. This requires you to have a field for total_available_hours. For this example, let's assume a standard 40-hour work week available in your model.
You would add a new measure to calculate the utilization rate. Note that you need to be careful with integer division, so casting your numbers as floats is often a good practice.
This single measure takes care of the calculation for you. Now, your business users don't need to know the formula, they can simply select "Utilization Rate" from a list.
Creating a Visualization from an Explore
An "Explore" in Looker is the user-facing interface for querying your data. With your LookML model set up, creating the report is much simpler:
Navigate to the relevant Explore section in Looker.
Select your dimensions from the sidebar on the left. For example, choose Employee Name.
Select your measures. Choose Total Billable Hours, Total Available Hours, and your newly created Utilization Rate.
Add any filters. For instance, you could filter by Entry Date Month to see data for last month only.
Click Run. Looker will generate a data table with the results.
From the Visualization tab, you can easily turn that table into a bar chart, a line graph to show trends over time, or any other visual that helps tell the story.
Finally, you can save this report (or "Look") to a dashboard for easy access and ongoing monitoring.
The Old Way vs. The AI Way: Is There an Easier Path?
Building a report in Looker is powerful, but it's not effortless. The process highlights a few traditional hurdles in data analytics:
The Learning Curve: Learning LookML requires time and a certain level of technical skill. It's not something a project manager or marketing lead can just pick up in an afternoon.
The Bottleneck: Because LookML is specialized, report building often falls on a dedicated data analyst or team. If they're busy, your request for a simple utilization report goes into a queue, and you might wait days for an answer.
The Rigidity: What if you have a follow-up question? For instance, "Now show me utilization for just the 'Website Redesign' project." Changing a Looker report might require you to be comfortable with editing explores and filters. Drilling down isn't always intuitive for casual users.
This is where AI-powered data platforms offer a dramatically simpler approach. Instead of learning a specific tool’s language and interface, you just use your own.
Building a Utilization Report with AI in Seconds
Imagine accomplishing the entire process above with a few simple sentences. AI data analyst tools connect to your data sources just like Looker, but they bypass the manual setup phase of modeling and visualization building.
Instead of writing LookML and clicking through menus, you simply make requests in natural language.
Here would be your new workflow:
Connect Your Data: Authenticate your time-tracking and project management tools, usually with a few clicks.
Ask a Question: Type a prompt just like you would ask a colleague.
“Show me a table of utilization rates by employee for last month.”
“Create a bar chart comparing the total billable hours and non-billable hours for the engineering team this quarter.”
“What was our team’s average utilization rate trended weekly for the last 6 months?”
Get an Instant Visualization: The AI understands your request, performs the necessary calculations (including the utilization rate), and generates an interactive chart or report immediately.
There's no need to define dimensions or measures - the AI already understands the relationship between your data points. Follow-up questions become effortless conversations. Following up "Compare the utilization rate for our top three clients" is as easy as typing that sentence. This approach removes the data specialist as a bottleneck and empowers anyone on the team to get data-driven answers instantly.
Final Thoughts
Creating a utilization report is non-negotiable for any service-based business aiming for profitability and sustainable growth. While tools like Looker provide a robust framework for building these reports, the setup can be time-consuming and requires technical expertise many teams don’t have in-house.
At Graphed, we’ve built an AI data analyst to solve precisely this problem. Instead of wrestling with a technical modeling language, you can connect your data sources (like your time-tracking tools, CRMs, and ad platforms) in seconds and then simply ask for the reports you need. Our tool lets you create real-time, shareable utilization dashboards with a single prompt, turning hours of complex BI setup into a 30-second conversation and enabling your entire team to make smarter decisions faster.