Closing the KPI Loop for a Professional Services Firm

Closing the KPI Loop for a Professional Services Firm

Key Performance Indicators

KPIs are essential for every successful business. A KPI, or Key Performance Indicator, is defined by Klipfolio as “a measurable value that demonstrates how effectively a company is achieving key business objectives.” Organizations use a variety of high- and low-level KPIs to evaluate their success at reaching targets for the company as a whole, or in different departments and areas of the business, such as Sales & Marketing.

While all business models pose significant challenges for the analysis of key performance indicators, the project-based professional service firm may have it the hardest.

For example, project profitability typically accounts for significant input of human resource time and expense.  It can become contentious when front line service or department managers challenge how the analysis handles the cost of salaried resources across multiple projects or the overtime and double time earnings of hourly employees.


In a recent implementation, a client of ours encountered some of these challenges. Keystone customized a solution for this pro services firm that combined several NetSuite elements into a single data object, from which we could spin up all of the KPIs and KPI Scorecards the firm needed to measure its performance, month-over-month and year-over-year against forecast. We’ll describe the solution below in some detail to give you a sense of how it works, but please keep in mind that your business model may require a slightly different approach, and this solution is flexible and can be augmented for any business model.

First, here is some insight into the customer’s situation and background: The client uses NetSuite OneWorld. They currently have 4 subsidiaries. Each subsidiary operates several service lines. Resources work across service lines and across subsidiaries. They have a list of about 100 clients, each of which run several projects a year. All transactions on both the cost and revenue side of the business require a subsidiary, a service line, a department and a client/project. The standard project profitability reports, with some modifications specific to this client, provide the necessary per-project financial analysis. We had a good view of each tree, but what about the forest?

The Solution

In order to provide the necessary data, the solution had to include the following:

  • The client required a forecast per subsidiary, service line, department, and client for revenue and cost of goods by month. As the new fiscal year approaches, the client determines the business history for each client and makes a forecast for the coming year.
  • The client required a monthly upload of promising new business by subsidiary, service line, department, and client from a 3rd party CRM system. File loaded monthly.
  • Project level cost budgets for approved, ongoing projects by subsidiary, service line, department client, project and month
  • Project level revenue for approved, ongoing projects from the deferred revenue tables by subsidiary, service line, department, client, project and month
  • Actual costs from vendor-based transactions by subsidiary, service line, department, client, project and month

For the first two bullets above, we created a custom record, labeled the Staging record. Once per year, we upload the data for the forecasted Revenue and COGS, and once a month for the projected new sales. The data in this record grows each month.

For the final three bullets above we created a second custom record, labeled the Reports record. We renew the data in this record each month by completely rebuilding the data from 4 custom searches:

  1. Staging record data that provides the original annual forecast and the projected new sales;
  2. Project cost budgets as we work and add projects;
  3. Actual project costs;
  4. And actual project revenues.

The data in the Reports record provides the ability to spin up KPI’s like

  • Forecasted vs Actual Revenue Year to Date and Monthly, by Subsidiary, Service Line and Client
  • Forecasted Plus Projected Revenue vs Actual Revenue YTD and Monthly, by Subsidiary, Service Line and Client
  • Budgeted Project Costs vs Actual Costs, YTD and Monthly, by Subsidiary, Service Line and Client
  • Margins Dollars and Percentages, by Subsidiary, Service Line and Client


Experienced NetSuite users understand the challenges of combining data from multiple system records like project budgets, deferred revenue, cost transactions, and budgets. But the solution we’ve outlined above removes these challenges and enables a user with an understanding of KPI’s and KPI Scorecards to create an almost endless number of useful, analytical data points that management can use to see the trends in the business and take action where and when needed.

For more information on NetSuite or how to close your KPI loop, contact Keystone today!

Keystone. Your NetSuite solution provider and integration partner.

Call – 866­-546-­7227 | Email –

Tom is a Consultant for Keystone Business Services. Tom has implemented Oracle ERP systems from 1996 to 2004, for organizations as diverse as Kelly Services, The NCAA and William Beaumont Hospital. In 2005 Tom decided to take a risk on a new idea - Software as a Service - and he started to implement NetSuite for small and medium businesses. His clients over the last 12 years include the full range of business models that have found the solution for the unique processes in NetSuite: Project based service companies, warehouse and distribution, e-commerce, light manufacturing, software and subscription sales and of course the hybrids that include all of the above. Tom is a Certified NetSuite Consultant. Tom graduated from the University of Michigan and holds an MBA - Information Systems from Wayne State University. He authored "NetSuite OneWorld Implementation," still for sale at Besides his work with clients, Tom enjoys woodworking and an occasional round of golf. Tom and his wife live in a timber frame he cut in Northern Michigan.