Work With Metrics

Learn about metrics and how to create them in the studio experience.

Who can use this feature?

  • Analytic Model Developer

  • Basic Model Developer

  • Advanced Model Developer

Not sure if you have this feature or capability? Reach out to your administrator.

Overview

A metric is a business concern that can be quantified as a number. For example, Headcount, or the number of active employees in your organization, is a business concern (how many people do we have?) that is quantified as a number (we have 5000 active employees). Metrics are based on one or more analytic objects (subjects, events, or overlays) and perform an aggregation to return a result.

To view the metrics in your Visier solution, open a project and navigate to Model > Metrics. For metric formula examples, see Metric Formula Examples.

The following image shows the metric interface for authoring and configuring a metric.

In a metric, the tabs and buttons give you access to authoring, configuration, and validation actions. The following table describes the elements in the metric interface.

Element Description Link to more information
Formula A combination of objects and functions expressed as a query that represents the metric. Each metric formula in Visier adheres to a common pattern. You can use the Formula dictionary found in this tab to discover objects and functions to use in your formula. Write a metric formula
Derived Metric A metric that uses an existing metric's formula, but is calculated slightly differently. These metrics are created in the Derived Metric tab of the metric from which they are generated. Derived metrics (optional)
Key Groups A list of key groups that are related to the metric. These key groups are suggested to users to filter the dataset after they select the metric in the solution experience.

Note: These key groups are existing selection concepts. User-created key groups are not available to select as a suggested key group. For more information about user-created key groups, see Create a Key Group.

Key groups (optional)
Dependencies The objects and content associated with this metric. The metric's "Ancestor" objects are objects that this metric uses, while "Descendant" objects use this metric. Any changes to the metric will be reflected in the descendant objects. View objects in the Dependencies tab to understand the relationship between objects and how changing a metric will impact other objects.  
Settings The features of the metric that you can configure. The settings include the data type, analytic object, additive type, related metrics, and more. Settings (required)
Parameters A dynamic value that can be changed by the user in the solution experience. Parameters (optional)
Basic Information The display name, description, explanation, visibility, and tags for the metric. Basic information (optional)
Delete A button that allows you to delete a metric. Users cannot delete Blueprint metrics, which originate from Visier.  
Preview A button that allows you to view the metric in a visualization without opening the solution experience. Use the Preview button to validate that a metric is working as expected. Preview a metric

Create a metric

  1. In a project, on the navigation bar, navigate to Model > Metrics.
  2. Click Create Metric.
  3. Type a display name and description.

  4. Optional: Type an explanation to provide further guidance about the metric.
  5. Click Create.
  6. In the Formula box, type a metric formula. For more information, see Write a metric formula.

    Tip: Use the Formula dictionary found in the Formula tab to find functions and objects to use in your metric formula.

  7. Click Validate. This verifies that the metric formula is valid.
  8. In the Settings tab, set the data type, analytic object, additive type. For more information, see Settings (required).
  9. Optional: Add any derived metrics, key groups, other settings, parameters, and basic information that you need to complete the metric. For more information, see Additional metric configuration.
  10. To check that the metric is working as intended, click the Preview button. For more information, see Preview a metric.

Note:  

  • By default, new metrics are available to use in the solution experience. If you want to hide a metric, navigate to the Basic Information tab and turn off the Visible in Analytics toggle.
  • To allow users to see a new metric, the metric must be added to a permission. For more information, see Permission Management.

Write a metric formula

Metric formulas define how values are calculated. To find the formula functions that are available, like on, filterBy, and aggregate, use the Formula dictionary in the Formula tab of a metric or see Visier Formula Language (VFL).

There are four metric formula types:

  • Simple: A calculation that uses basic functions and objects to calculate a value. For example, Headcount, or on Employee filterBy(isActiveEmployee) aggregate count(Employee.EmployeeID), is a simple metric.
  • Derived: A dependent calculation that is created from an existing metric. Derived metrics have predefined types, including Annualized, Proportion, Rate, and more.
  • Compound: A calculation that uses existing metrics in its formula to create a new calculation. For example, the calculation for Employee Ratio for Women is Employee Count for Women divided by Employee Known Gender Count.
  • Complex: A calculation that uses advanced functions and objects to calculate a value. For example, an alternative way to calculate Employee Ratio for Women as a complex metric may be written as follows:

    employeeFemaleCount:= Metric(on Employee filterBy(isActiveEmployee && isFemale) aggregate count(Employee.EmployeeID))

    employeeKnownGenderCount := Metric(on Employee filterBy(isActiveEmployee && (isMale || isFemale)) aggregate count(Employee.EmployeeID))

    employeeFemaleCount / employeeKnownGenderCount

Analytic objects in metric formulas

Additionally, metrics are based on analytic objects (subjects, events, or overlays), and the functions you can use in a metric formula are related to the type of analytic object.

The following table provides an example and general formula structure for each analytic object type that a metric can be based on.

Note: These formula structures are commonly used, but you can write metric formulas that don't look like the below structures and still achieve the results you want.

Analytic object Example Formula structure
Subject Headcount is based on the Employee subject. on <subject> <time handling> filterBy <filter condition> aggregate <function> <aggregation property>
Event Resignation Count is based on the Employee Exit event. on <event> <time handling> filterBy <filter condition> aggregate <function> <aggregation property>
Overlay (lookup) Engagement Overall Score is based on the Engagement lookup overlay. on <overlay> filterBy <filter condition> lookup <property>
Overlay (rollup) Revenue is based on the Revenue rollup overlay. on <overlay> filterBy <filter condition> aggregate sum <property>

Note:  

  • When using an analytic object in a metric formula, you must use the object name. You can find the object name in the Basic Information tab of an object.
  • When using a property in a metric formula, you must use the qualified name. A qualified name includes the parent analytic object's name and the property name. For example, the Age property's qualified name is Employee.Age.

Components of a metric formula

To author a new metric, you need to consider the analytic object you want to aggregate, how time should be handled in the query, what records you want to filter out, and how to aggregate the values, as explained in the following table.

Consideration Description
Analytic object The source of records to aggregate across. The analytic object also determines the information displayed in View Details for a metric.
Time handling

The method to filter records by time. Time handling options are determined by the analytic object of the metric.

  • Subjects: Default behavior is validUntil instant, which queries the state at the selected time.

  • Events: Default behavior is occurredIn interval, which queries over the entire selected interval.

Tip: We recommend that you omit time handling expressions in metric formulas. If omitted, the metric uses the default time handling option. For example, instead of on Employee_Exits occurredIn interval aggregate count (EmployeeID), you can simply write on Employee_Exits aggregate count (EmployeeID) to count exits.

Filter The records to filter in or out of the metric. You can use existing concepts in the formula to include or exclude records based on an attribute value from the metric. You can also use subqueries to build more complex filters, if needed.
Aggregation The method to aggregate records after they are filtered by time and record values, such as average, count, or sum.

Example: Writing a simple metric formula

Let's say you want to create a metric to calculate the active headcount in your organization. You can breakdown the metric formula by thinking about the four key considerations, as shown in the following table:

Consideration Value Description
Analytic object Employee Headcount data comes from the Employee subject.
Time handling validUntil instant This time filter selects records with a validity interval that contains the given instant. The endpoint is inclusive.
Filter isActiveEmployee A selection concept that selects employee records that are active during the time period.
Aggregation count (Employee.EmployeeID) This aggregation function tells the metric to count members of the Employee subject by the EmployeeID property.

All together, this formula would look like:

on Employee validUntil instant filterBy(isActiveEmployee) aggregate count(Employee.EmployeeID)

Let's say you run your new Headcount metric to find active employees during March 2021, with the following Employee records loaded in your Visier solution:

Validity_Start Validity_End EmployeeID Job_Name
January 1, 2021 March 31, 2021 10023 BI Consultant I
February 1, 2021 March 31, 2021 12789 BI Consultant I
February 1, 2021 February 28, 2021 19754 BI Consultant II
February 1, 2021 March 31, 2021 19721 BI Consultant II

The new Headcount metric will count the number of EmployeeIDs that were valid during March 2021, which is 3.

Additional metric configuration

The formula is one component of a metric. You also need to think about derived metrics, key groups, settings, parameters, and the metric's basic information to create a metric that's useful to Visier users. The following sections describe the additional metric configuration options and why you might want to configure them.

Derived metrics (optional)

If you want a variation on an existing metric, like a rate or an average, you can create a derived metric to reuse an existing metric's formula. Derived metrics are created within an existing metric, and use the metric's formula with different settings to create a new metric from the existing one. For example, Headcount Percent of Total is a Proportion derived metric that uses the same formula as Headcount but a different data type than Headcount.

The following list defines each type of derived metric available in Visier:

  • Annualized: Calculate the metric as a yearly value.
  • Annualized Rate: Calculate the metric as a rate for the year. This type requires you to set another metric as the denominator for the calculation in Settings.
  • Arbitrary: Calculate the metric in a custom way. This is the only derived metric in which you can modify the formula.
  • Average By Count: Calculate the metric as an average over all members, like employees. This type requires you to set another metric as the denominator for the calculation in Settings.
  • Average By FTE: Calculate the metric as a weighted average over all members, with FTE values as weights. This type requires you to set another metric as the denominator for the calculation in Settings.
  • Proportion: Calculate the metric as a percentage of the total.
  • Rate: Calculate the metric as a rate. This type requires you to set another metric as the denominator for the calculation in Settings.

Key groups (optional)

Key groups allow users to filter their analysis results to specific populations. In the studio experience, a key group is equivalent to a selection concept. For more information, see Concepts. You can add suggested key groups to a metric to provide direction to users working with the metric.

For example, the Headcount metric has several suggested key groups, including High Performer, Women, and Manager. A user who selects the Headcount metric in a visualization will be presented with these groups as suggested filters for the metric in the solution experience, as shown in the following screenshot.


To add a key group to a metric:

  1. In a project, on the navigation bar, navigate to Model > Analytic Objects.
  2. Select the analytic object that contains the selection concept you want to add to a metric.
  3. Click Suggested Key Groups > Add Suggested Key Group.
  4. Type a display name and description.

  5. In the Info panel, click Settings > Edit metadata.
  6. Choose a selection concept from the list and click Select.
  7. In the list of suggested key groups, enable the Visible in Analytics toggle.
  8. Navigate to the metric that you want to add the key group to.
  9. Click Key Groups.
  10. Check that the key group shows up in the list as expected.

Settings (required)

Settings provide further configuration to a metric. Some settings are required, while others are optional.

To access the settings for a metric, select a metric and click the Settings tab. You can learn more about each setting in that area.

The following table states whether each setting is required or optional.

Setting Required?
Data type Required
Analytic object Required
Additive type Required
Related metrics Optional
Trailing periods Optional
Drivers visual Optional
Logarithmic Optional
Supported by Collaboration Circle visual Optional

Parameters (optional)

Parameters serve as placeholders in a formula. This allows you to create objects that use different variations in a single object.

Parameters can be one of the following types:

  • Numeric: A parameter with a numeric data type. A numeric parameter can be set with an optional default value and value range.
  • Member: A filter parameter that can be set with optional dimension member selection.
  • Aggregation: A parameter that aggregates property values. For events and subjects, the parameter is set on one property using multiple aggregation functions. For overlays, the parameter is set on multiple properties using one aggregation function.
  • Plan: A plan parameter that can be used to select a plan and scenario.

If you reference a parameterized object in the formula of a different object, you can set its parameters to a specific value in the new formula.

Tip: For more information about how users interact with parameterized metrics, see Change How a Metric is Computed.

Example: Numeric parameter

Retirement Eligibility has a numeric parameter for Retirement Age because different countries or organizations may have a different age at which employees become eligible for retirement. By using a parameter, you can let your users select an age of their choice for retirement.

When creating the Retirement Age parameter, you would create a numeric parameter and enter the default value and the range of acceptable values, such as 65 and 40 to 80, respectively.

The metric formula would be written as follows:

on Employee filterBy(Employee.Age > AgeParameter) aggregate(count(Employee.EmployeeID))

Example: Member parameter

Let's say you want to create a metric called Employee Gender Rate that calculates employees of any gender as a percentage of the total population.

When creating the Gender Filter parameter, you would create a member parameter and select the analytic object, dimension, and dimension members, such as Employee, Gender, and Man, Woman, Unknown, respectively.

The metric formula would be written as follows:

filteredHeadcount := metric(on Employee filterBy(GenderFilterParameter) aggregate(count(EmployeeID)))

headcount := metric(on Employee aggregate(count(EmployeeID)))

filteredHeadcount / headcount

Example: Aggregation parameter

Let's say you want to create a metric called Applicants for Requisition that calculates the average, minimum, and maximum number of applicants for requisitions.

When creating the aggregation parameter, you would select the analytic object and then set the default aggregation value by adding a display name, aggregation type, and property. In this example, the analytic object would be Requisition, the default aggregation value would be named Average, the aggregation type would be Average, and the property would be Applicants.

Then, you would add a display name to the aggregation parameter, such as Aggregation Type.

Once created, you would add two more values to the Aggregation Type parameter for Minimum and Maximum. If you want to change the default value, you can select either Minimum or Maximum instead of Average.

The metric formula would be written as follows:

on Requisition aggregate Aggregation_Type_Parameter

Note:  

  • For events and subjects, the new parameter is set on one property using multiple aggregation functions. If you change the property, it will apply to all parameter values.
  • For overlays, the parameter is set on multiple properties using one aggregation function. If you change the aggregation function, it will apply to all parameter values.

Example: Plan parameter

Let's say you want to create a metric for a plan model to allow users to analyze data from different plan scenarios.

When creating the plan parameter, you would select the plan analytic object for the plan model, such as Headcount and Cost Planning. When users select this metric in the solution experience, they will be able to select a plan name and plan scenario to set where the plan metric is getting data from.

The metric formula would be written as follows:

on Headcount_And_Cost_Planning_Object aggregate sum(wfp_target_headcount)

Example: Setting parameter values in another metric's formula

Let's say you want to create a metric that counts the number of recruiters that have requisitions on hold. You know of an existing parameterized metric that counts recruiters called Recruiter Count With Parameters. It has a Requisition Parameter, which allows the user to select a requisition status to analyze.

For your new metric, you reference the existing metric in your new formula and assign the value "isRequisitionOnHold" to Requisition Parameter.

The metric formula would be written as follows:

Recruiter_Count_With_Parameters(Requisition_Parameter = isRequisitionOnHold)

Basic information (optional)

Each metric is made up of metadata that defines more information for the metric. These fields can be changed at any time. The following list defines the fields in the Basic Information tab.

  • Object name: A required field that is automatically generated by Visier when an object is created. If you change the object name, its references will update to the new value.
  • Display name: A required field that provides a name for the object. This display name is the primary name shown for the object in Visier, such as in the Metric picker or search results.
  • Short display name: An optional field that provides a shorter display name for the object. The short display name is used in visualizations if a short display name is provided.
  • Description: An optional field that provides a brief, one or two sentence, summary of the metric.
  • Explanation: An optional field that provides additional information about the metric, such as calculation details or use cases. If an explanation is provided, users will see a More info button in the solution experience.
  • Designer notes: An optional field that provides internal documentation information for other users looking at the object, such as how the metrics work or why it was built in a certain way.
  • Visible in Analytics: If enabled, users can view this metric in the solution.

Tip: We recommend writing a description and an explanation to provide further guidance to your users about the metric.

The following image show how the information in Basic Information is displayed in the solution experience.

  1. Display name. The display name identifies the metric in the solution experience.
  2. Description. The description is a brief, one or two sentence, summary of the metric.
  3. Explanation. The explanation can be found by clicking the More info button. This brings up a window with additional information about the metric, such as calculation details or use cases. If you did not provide any content in the Explanation field, the More info button does not appear.

Preview a metric

To ensure that your metric is working as intended, the following conditions must be met:

  • The formula is valid.
  • The Visible in Analytics toggle is enabled.
  • Relevant analytic objects and concepts have data.
  • Relevant concepts are configured.

In a metric, click the Preview button to view it in a visualization and validate that the values are correct.

In this section