Universal Analytics metrics reference

The metrics available in Universal Analytics, what each one means, and the formula behind it. Use this to reproduce Fuse's numbers in your own BI tool so your dashboards reconcile with the Universal Analytics dashboard rather than quietly disagreeing with it.

This page lists the metrics recommended for rebuilding elsewhere. A small number of Universal Analytics metrics are internal helpers or superseded duplicates and are not listed here.

How to read the formulas

Formulas are written in MAQL, the query language behind Universal Analytics. You are not expected to run them as-is — they are here so you can see exactly what each metric counts and rebuild it faithfully. The conventions below translate into SQL, DAX, LookML or a calculated field without much difficulty.

You will see

What it means

Roughly equivalent to

[Something]

A named metric or attribute. If it is another metric, its own definition is on this page.

A column, or a measure you have already defined

[Records of X]

A row count of the underlying dataset X.

COUNT(*) over the relevant table

COUNT([A], [B])

Count distinct values of A within the granularity of B. This is counting things, not rows — usually people.

COUNT(DISTINCT a), grouped appropriately

[X.elements?id=nnn]

A specific attribute value referenced by internal ID — for example a particular learning status.

A literal value in a WHERE clause. See the warning below.

BY [X], ALL OTHER

Fix the aggregation at the level of X and ignore other filters.

A window function partitioned by X, or your tool's "ignore filters except" function

FOR PREVIOUS ([Date (Day)], 30)

The same measure shifted back 30 days.

A self-join on a date offset, or your tool's time-shift function against a date table

IFNULL(x, 0)

Treat a missing value as zero.

COALESCE(x, 0)

SIGN(x)

Returns 1 for any positive number. Used to turn "did this user do anything at all" into a 1 or 0 before summing.

CASE WHEN x > 0 THEN 1 ELSE 0 END

The elements?id= references are the main translation obstacle. They point at specific attribute values inside Universal Analytics, and the IDs are not meaningful in Redshift. Where they appear, work out the literal status value from the underlying table — user_course_progresses.status, assessment_results.state and so on — before you rebuild the metric. Common ones by inference: learning status 3 = completed, 18 = in progress, 28 = not started. Confirm against your own data rather than taking those on trust.

Users & activity

Account and population counts

Metric

What it means

Formula

User Accounts Created

Number of user accounts created in the Fuse instance.

SELECT COUNT([User Id])

Registered Users

The same count, used as the denominator in percentage metrics.

SELECT COUNT([User Id])

User Accounts created (excl deactivated users)

Accounts created, excluding deactivated users.

SELECT COUNT([User Id], [User Id]) WHERE [User Status] = [User Status.elements?id=2506946]

Activated Users

Users with active status.

SELECT COUNT([User Id]) WHERE [User Status] = [User Status.elements?id=2506946]

Deactivated Users

Users with deactivated status.

SELECT COUNT([User Id]) WHERE [User Status] = [User Status.elements?id=8689065]

User Created

Accounts created, grouped by day of month.

SELECT COUNT([User Id]) BY [Day of Month (Created)]

New users

Users who accessed the Fuse instance for the first time.

SELECT COUNT([User Id], [Records of First Activity])

Activity and return rates

Metric

What it means

Formula

Active Users

Users who have a Fuse account and have logged in at least once. Once logged in they can search, visit profiles, sign up for events and so on.

SELECT COUNT([User Id], [Records of User Activity])

%Active Users

Active users as a share of users in communities.

SELECT [Active Users] / [Users in Communities]

Active Users %

Active users as a share of registered users.

SELECT [Active Users] / [Registered Users]

% Active vs Provisioned

Active users as a share of provisioned users, excluding deactivated.

SELECT [Active Users] / [Users in communities (excl deactivated users)]

Number of Days Active

Total days a user has visited the Fuse instance.

SELECT COUNT([Date (Day)], [Records of User Activity]) BY [User Id]

Average Days Active

Average number of days active, across users.

SELECT AVG([Number of Days Active])

Returning Active Users

Users who have visited more than once.

SELECT COUNT([User Id], [Records of User Activity]) WHERE [Number of Days Active] > 1

Returning Users %

Returning users as a share of all active users.

SELECT [Returning Active Users] / [Active Users]

Never logged in

Users in communities who have never accessed the platform.

SELECT [Users in Communities] - [Active Users]

Inactive %

Never-logged-in users as a share of users in communities.

SELECT [Never logged in] / [Users in Communities]

Inactive Users

All user accounts minus those with any activity record.

SELECT COUNT([User Id]) - COUNT([User Id], [Records of User Activity])

Communities

Community population and size

Metric

What it means

Formula

Users in Communities

Users who have been assigned a community. This is the standard audience denominator.

SELECT COUNT([User Id], [Records of Community Membership])

Users in communities (excl deactivated users)

The same, excluding deactivated users. Usually the more honest denominator.

SELECT COUNT([User Id], [Records of Community Membership]) WHERE [User Status] = [User Status.elements?id=2506946]

Total Communities

Communities that exist in the instance.

SELECT COUNT([Community Id])

Available Communities

Community count fixed at community level, so it is unaffected by other filters.

SELECT 1 BY [Community Id], ALL OTHER

# communities

Communities counted within content granularity — how many communities a piece of content appears in.

SELECT COUNT([Community Id], [Content Id])

Avg Community Size

Average members per community.

SELECT [Users in communities (excl deactivated users)] / [Total Communities]

First occurrence of user in community

The earliest engagement a user made within a given community. Returns 9999999 where none exists.

SELECT LEAST(IFNULL((SELECT MIN(SELECT [Date (Day)] BY [Records of Views]) BY [Community Id], [User Id], ALL OTHER), 9999999), IFNULL((SELECT MIN(SELECT [Date (Day)] BY [Records of Engagement]) BY [Community Id], [User Id], ALL OTHER), 9999999))

New users (FO)

New users who engaged with content in a community within the period.

SELECT COUNT([User Id]) BY [User Id], [Community Id] WHERE [Date (Day)] = [First occurrence of user in community] AND [First occurrence of user in community] <> 9999999

Engagement

Raw engagement counts

Metric

What it means

Formula

Likes

Times an item of content has been liked.

SELECT SUM([Likes])

Comments

Comments posted below an item of content.

SELECT SUM([Comments])

Shares

Times an item of content has been shared.

SELECT SUM([Shares])

Follows

Times an item of content has been followed.

SELECT SUM([Follows])

Questions Asked

Questions posted, identified by content type.

SELECT SUM(CASE WHEN [Content Type] = [Content Type.elements?id=49] THEN [Content Creations] ELSE 0 END)

Total Engagement

Likes, comments, follows, shares and questions asked, combined.

SELECT IFNULL([Likes],0) + IFNULL([Comments],0) + IFNULL([Follows],0) + IFNULL([Shares],0) + IFNULL([Questions Asked],0)

Engaged user counts

Metric

What it means

Formula

Engaged Users

Users who engaged with content by viewing, liking, commenting, sharing or following it, and who hold at least one community membership.

SELECT SUM(SELECT SIGN(IFNULL((SELECT COUNT([User Id], [Records of Engagement])), 0) + IFNULL((SELECT COUNT([User Id], [Records of Views])), 0)) BY [User Id]) WHERE (SELECT COUNT([User Id], [Records of Community Membership]) BY [User Id]) > 0

Users Engaged with Content

Users who viewed, created, commented, followed, liked or shared content. Broader than Engaged Users because it includes content creation.

SELECT COUNT([User Id], [Records of Engagement]) WHERE ([Content Views] > 0) OR ([Content Creations] > 0 AND [Content Type] = [Content Type.elements?id=49]) OR ([Comments] > 0) OR ([Follows] > 0) OR ([Likes] > 0) OR ([Shares] > 0)

Returning Engaged Users

Users who engaged on more than one day.

SELECT COUNT([User Id]) WHERE (SELECT SUM(SELECT SIGN(IFNULL((SELECT COUNT([User Id], [Records of Engagement])), 0) + IFNULL((SELECT COUNT([User Id], [Records of Views])), 0)) BY [User Id], [Date (Day)]) BY [User Id]) > 1

Commenting Users

Users with more than one comment.

SELECT COUNT([User Id], [Records of Engagement]) WHERE [Comments] > 1

Liking Users

Users who have liked something.

SELECT COUNT([User Id], [Records of Engagement]) WHERE ([Likes] > 0)

Sharing Users

Users who have shared something.

SELECT COUNT([User Id], [Records of Engagement]) WHERE ([Shares] > 0)

Content Viewing Users

Users who have viewed content.

SELECT COUNT([User Id], [Records of Engagement]) WHERE ([Content Views] > 0)

Content creators

Users who have created content.

SELECT COUNT([User Id], [Records of Engagement]) WHERE ([Content Creations] > 0)

Passive Viewers

Users who view but do not otherwise engage.

SELECT [Active Users] - [Users Engaged with Content]

Engagement Contributors

Users who engaged with content but did not create their own.

SELECT [Users Engaged with Content] - [Content creators]

Engagement rates and averages

Metric

What it means

Formula

Engagement Rate (%)

Total engagements divided by engaged users. 100% means one engagement per user; higher is better.

SELECT SUM([Comments]+[Follows]+[Likes]+[Shares] + CASE WHEN [Content Type] = [Content Type.elements?id=49] THEN [Content Creations] ELSE 0 END) / [Engaged Users]

Engagement Rate

The same idea expressed as a percentage figure rather than a ratio.

SELECT (SUM([Comments]+[Follows]+[Likes]+[Shares]) + [Questions Asked]) / [Engaged Users] * 100

Avg Engagement per user

Average views, likes, shares, comments and follows per engaged user.

SELECT [Total Engagement] / [Users Engaged with Content]

engagement per user

Total engagement divided by engaged users.

SELECT [Total Engagement] / [Engaged Users]

total engagement per week

Engagement plus content views, per engaged user.

SELECT (([Total Engagement] + [Content Views]) / [Engaged Users])

Avg Engagement in Community

Total engagement divided by community members.

SELECT [Total Engagement] / COUNT([User Id], [Records of Community Membership])

Engaged User (%)

Engaged users as a share of users with community access.

SELECT [Engaged Users] / [Users in Communities]

Engaged Users %

Engaged users as a share of registered users.

SELECT [Engaged Users] / [Registered Users]

User Engagement Mix %

Engaged users as a share of active users — how many of those who log in actually do something.

SELECT [Engaged Users] / [Active Users]

Frequent Engagement %

Returning engaged users as a share of users in communities.

SELECT [Returning Engaged Users] / [Users in Communities]

Content & views

Views and content volume

Metric

What it means

Formula

Content Views

Views for a particular item of content.

SELECT SUM([Content Views])

Page Views

Views originating from a community, item of content, learning plan, topic or user page.

SELECT SUM([Pageviews])

Learning Plan Content Views

Views for content that forms part of a learning plan.

SELECT SUM([Learning Plan Content Views])

Viewing Users

Users who have viewed a page.

SELECT COUNT([User Id], [Records of Views])

Number of Users Viewing Content %

Viewing users as a share of users in communities with content access.

SELECT ([Viewing Users] / [Users in Communities])

Total Views vs. Previous Month

Content views in the period compared with the previous 30 days.

SELECT ((SELECT [Content Views]) / (SELECT [Content Views] FOR PREVIOUS ([Date (Day)], 30))) - 1

Total Content

Content items that exist in the instance.

SELECT COUNT([Content Id], [Records of Engagement])

Count of Contents

Straight content count.

SELECT COUNT([Content Id])

views per content

Average views per content item.

SELECT ([Content Views] / [Total Content])

Views per user

Content views per engaged user.

SELECT [Content Views] / [Engaged Users]

Topics

Topic audience, progress and completion

Topic completion behaves differently from learning plan completion. If new content is added to a topic after a user has completed it, the completion is no longer reported and their progress drops below 100%. Expect completion rates to move when content is published.

Metric

What it means

Formula

Topic Audience

Community members with access to the topic. This is the denominator for topic and assessment rates.

SELECT COUNT([User Id], [Records of Topic Audience]) BY [Topic Id], ALL OTHER

Topic Active Users

Users who have engaged with content inside a topic.

SELECT COUNT([User Id], [Records of Topic Completeness])

Number of Topic Completions

Users who have completed the topic by viewing all its content.

SELECT COUNT([User Id], [Records of Topic Completeness]) WHERE [Topic Progress] = 1

Number of Users in Progress in Topic

Users who have made progress towards a topic but not completed it.

SELECT COUNT([User Id], [Records of Topic Completeness]) WHERE [Topic Progress] < 1

Average Topic Progress

Average progress per user per topic, using each user's best progress.

SELECT AVG(SELECT MAX([Topic Progress]) BY [Topic Id], [User Id])

Total Topics

Topics that exist in the instance.

SELECT COUNT([Topic Id])

Learning plans & SCORM

Audience and assignment

Metric

What it means

Formula

Learning Plan Audience

Users who have either started a learning plan or SCORM course, or been assigned one. The denominator for completion rate.

SELECT IFNULL((SELECT COUNT([User Id], [Records of Learning Plan Assignments]) BY [User Id], [Learning Plan Id], ALL OTHER),0)

Learning plan assigned

Assignment flag at user and plan level, used as a filter inside other metrics.

SELECT IFNULL((SELECT COUNT([User Id], [Records of Learning Plan Assignments]) BY [User Id], [Learning Plan Id], ALL OTHER),0)

Learning Plan Current Community Members

Users currently a member of a community with access to the plan. Useful for filtering out users who hold a record but have since left.

SELECT COUNT([User Id], [Records of Learning Plan Audience])

Learning Plan Active Users

Users listed in Course Progress with a plan assigned or in progress.

SELECT COUNT([User Id], [Records of Course Progress])

Total Learning Plans

Learning plans that exist in the instance.

SELECT COUNT([Learning Plan Title])

Progress and status

Metric

What it means

Formula

Not Started Learning Plan

Times a user has not started a learning plan.

SELECT IFNULL(COUNT([Records of Course Progress]),0) WHERE [Users' Learning Status] = [Users' Learning Status.elements?id=28]

Not Started Learning Plan %

Not-started as a share of all completion records.

SELECT [Not Started Learning Plan] / (SELECT COUNT([Records of Course Progress]))

In Progress Learning Plans

Users currently progressing through a plan or SCORM course.

SELECT IFNULL(COUNT([Records of Course Progress]),0) WHERE [Users' Learning Status] = [Users' Learning Status.elements?id=18]

In Progress Learning Plans (%)

In-progress records as a share of all records.

SELECT [In Progress Learning Plans] / (SELECT COUNT([Records of Course Progress]))

Avg Learning Plan Progress

Average progress for a plan, as a percentage. Universal Analytics holds only the most recent score, so this reflects current progress.

SELECT AVG([User's Learning Plan Progress]/100)

Avg Learning Plan Progress of Assigned Users

The same average, restricted to users actually assigned the plan.

SELECT AVG([User's Learning Plan Progress]/100) WHERE [Learning plan assigned] = 1

Completion

SCORM courses are counted separately from learning plans. A SCORM course inside a learning plan is counted twice — once as part of the plan and once as an independent SCORM course. Filter by course type when totalling.

Metric

What it means

Formula

Completed Courses

Completed learning plans and SCORM courses.

SELECT IFNULL(COUNT([Records of Course Progress]),0) WHERE [Users' Learning Status] = [Users' Learning Status.elements?id=3]

Completed courses (%)

Completions as a share of all records for the plan or course.

SELECT [Completed Courses] / (SELECT COUNT([Records of Course Progress]))

Learning Plan Completions (# of Users)

Distinct users who have completed a plan. Counts each user once, unlike completion counts.

SELECT COUNT([User Id], [Records of Course Progress]) WHERE [Users' Learning Status] = [Users' Learning Status.elements?id=3]

Learning Plan Completion Rate

Users who completed the plan as a share of users assigned to it.

SELECT [Learning Plan Completions (# of Users)] / [Learning Plan Audience]

SCORM specifics

Metric

What it means

Formula

Avg SCORM Course Score

Average score achieved on a SCORM course.

SELECT AVG([User's SCORM Score])

Avg SCORM Course Duration

Average time spent on a SCORM course, in seconds.

SELECT AVG([SCORM Course Duration])

Total SCORM Completions

Times a SCORM course has been completed.

SELECT COUNT([Records of Course Progress]) WHERE [Users' Learning Status] = [Users' Learning Status.elements?id=3] AND [Learning Plan Type] = [Learning Plan Type.elements?id=31]

SCORM Completion Status

Returns a text label — Completed, In Progress or Not Started.

SELECT CASE WHEN [Users' Learning Status] = [...id=3] THEN "Completed", WHEN [Users' Learning Status] = [...id=18] THEN "In Progress" ELSE "Not Started" END

completed SCORM courses

Helper returning 1 for completed, 0 otherwise.

SELECT CASE WHEN [Users' Learning Status] IN ([...id=3]) THEN 1, WHEN [Users' Learning Status] IN ([...id=18]) THEN 0 ELSE 0 END

nr of completed scorm courses

Sum of the helper above.

SELECT SUM([completed SCORM courses])

Assessments

Participation and completion

Metric

What it means

Formula

Number of Assessments

Total assessments.

SELECT COUNT([Assessment Id])

Number of Users Attempted an Assessment

Users who attempted an assessment.

SELECT COUNT([User Id])

Assessment Completion Rate

Users who completed an assessment as a share of those with access via the topic community.

SELECT (SELECT COUNT([User Id], [Records of Assessment Stats]) WHERE [Completed Attempts] > 0) / [Topic Audience]

Attempts and outcomes

Metric

What it means

Formula

Number of Assessment Attempts

Total attempts for an assessment.

SELECT COUNT([Assessment Attempt Id])

Number of Users Passed the Assessment

Users who passed.

SELECT COUNT([User Id], [Assessment Attempt Id]) WHERE [User's Assessment Status] = [...id=16892]

Number of Users Failed an Assessment

Users who failed.

SELECT COUNT([User Id], [Assessment Attempt Id]) WHERE [User's Assessment Status] = [...id=16898]

Number of Passed Attempts %

Passed attempts as a share of all attempts.

SELECT (SELECT COUNT([Assessment Attempt Id]) WHERE [User's Assessment Status] = [...id=16892]) / [Number of Assessment Attempts]

Number of Failed Assessment Attempts %

Failed attempts as a share of all attempts.

SELECT (SELECT COUNT([Assessment Attempt Id]) WHERE [User's Assessment Status] = [...id=16898]) / [Number of Assessment Attempts]

Number of Incomplete Attempts %

Attempts started but not completed, as a share of all attempts.

SELECT (SELECT COUNT([Assessment Attempt Id]) WHERE [User's Assessment Status] = [...id=17979]) / [Number of Assessment Attempts]

Number of Attempts needed to First Success

Attempts taken before a user first passed.

SELECT MAX([Attempts to First Success]) BY [Assessment Id], [User Id]

Average Nr of Attempts to First Success

Average attempts before first passing.

SELECT AVG([Number of Attempts needed to First Success]) BY [Assessment Id], [User Id]

Highest Assessment Score

Best score a user achieved. Useful where multiple attempts are allowed.

SELECT MAX([Assessment Score]) BY [Assessment Id], [User Id]

Assessment score

The user's latest score.

SELECT MAX([Latest Assessment Score])

Questions and answers

Metric

What it means

Formula

Number of Questions in Assessment

Questions available in an assessment.

SELECT COUNT([Question Id]) BY [Assessment Id]

Number of Users Attempted a Question

Users who attempted to submit an answer.

SELECT COUNT([User Id], [Records of Question Attempts])

Number of Users Answered a Question

Users who answered a question.

SELECT COUNT([User Id]) BY [Assessment Id], [Question Id]

Number of Answers in Assessment

Total answers in an assessment.

SELECT COUNT([Answer]) BY [Assessment Id]

Number of Correct Answers

Answers marked correct.

SELECT COUNT([Answer]) WHERE [Correct Answer] = [...id=16894]

Number of Wrong Answers in Assessment

Answers marked incorrect.

SELECT COUNT([Answer]) WHERE [Correct Answer] = [...id=16896]

Number of Correct Answers %

Correct answers as a share of all available answers.

SELECT (SELECT COUNT([Answer]) WHERE [Correct Answer]=[...id=16894]) / [Number of Answers in Assessment]

Number of Incorrect Answers %

Incorrect answers as a share of all available answers.

SELECT (SELECT COUNT([Answer]) WHERE [Correct Answer]=[...id=16896]) / [Number of Answers in Assessment]

Number of Incomplete Answers %

Answers marked neither correct nor incorrect, as a share of all answers.

SELECT (SELECT COUNT([Answer]) WHERE [Correct Answer]=[...id=14451]) / [Number of Answers in Assessment]

Observational assessments

Observation coverage and scores

A user must have a manager to be observed. Any gap in the manager hierarchy shows up directly as unobserved users, so read these alongside the manager metrics below.

Metric

What it means

Formula

Number of Observational Assessment Sessions

Observation sessions started.

SELECT COUNT([OA Session Id])

Number of Observed Users

Users observed via an observational assessment.

SELECT COUNT([User Id], [OA Session Id])

Users Observed At Least Once

Users observed one or more times.

SELECT COUNT([User Id]) WHERE (SELECT COUNT([Observational Assessment Id], [OA Session Id]) BY [User Id]) >= 1

Users Observed At Least Twice

Users observed two or more times.

SELECT COUNT([User Id]) WHERE (SELECT COUNT([Observational Assessment Id], [OA Session Id]) BY [User Id]) >= 2

Number of Users Observed %

Observed users as a share of users with a manager.

SELECT [Number of Observed Users] / [Number of Users Assigned to a Manager]

Number of Users Not Observed

Users with a manager who have not been observed.

SELECT ([Number of Users Assigned to a Manager] - [Number of Observed Users])

Number of Users Not Observed %

Unobserved users as a share of users with a manager.

SELECT ([Number of Users Not Observed] / [Number of Users Assigned to a Manager])

Managers observing all their reportees

Managers who have observed their entire team.

SELECT COUNT([Manager Id]) WHERE (SELECT IFNULL([Number of Observed Users], 0) BY [Manager Id]) = (SELECT [Number of Users Assigned to a Manager] BY [Manager Id])

Number of Managers Observing All Their Reportees %

Those managers as a share of all managers.

SELECT ([Managers observing all their reportees] / [Number of Managers])

# Observing Managers

Managers who have run observation sessions.

SELECT COUNT([Coaching/Obs. Manager Id], [OA Session Id])

OA users given answer

Users who answered a question in an observational assessment. Useful for question-level drop-off analysis.

SELECT COUNT([User Id], [Records of Observational Assessment Answer])

Avg. Scale Answer (Observation)

Average score given to a scale question in an observational assessment.

SELECT AVG([OA Scale Answer Value])

Managers & one-to-ones

Manager coverage

Metric

What it means

Formula

Number of Managers

Managers on the Fuse instance.

SELECT COUNT([Manager Id])

Number of Users Assigned to a Manager

Users who have a manager.

SELECT COUNT([User Id]) WHERE [Manager Name] <> [Manager Name.elements?id=17980]

Number of Users Not Assigned to a Manager

Users without a manager.

SELECT COUNT([User Id], [Records of Community Membership]) WHERE [Manager Name] = [Manager Name.elements?id=17980]

Number of Users Not Assigned to a Manager %

Unassigned users as a share of users in communities. Shows how many people cannot take part in one-to-ones at all.

SELECT ([Number of Users Not Assigned to a Manager] / [Users in Communities])

One-to-one sessions

Metric

What it means

Formula

# One-to-one sessions

One-to-one sessions created. Two sessions between the same pair count twice.

SELECT COUNT([One-to-one Session Id])

Number of One-to-one Sessions In Progress

Sessions still in progress.

SELECT COUNT([One-to-one Session Id]) WHERE [One-to-one Session Status] = [...id=18]

Number of Completed One-to-One Sessions

Sessions completed. All tasks and objectives must be done for a session to count.

SELECT COUNT([One-to-one Session Id]) WHERE [One-to-one Session Status] = [...id=3]

One-to-one Sessions Ended

Sessions that have ended, either completed or with all goals created.

SELECT COUNT([One-to-one Session Id]) WHERE [One-to-one Session Status]=[...id=18] OR [One-to-one Session Status]=[...id=3]

# of Coached Users

Users who have taken part in a one-to-one with their manager.

SELECT COUNT([User Id], [One-to-one Session Id])

# Coaching Managers

Managers who have run one-to-one sessions.

SELECT COUNT([Coaching/Obs. Manager Id], [One-to-one Session Id])

Number of Users Participating in One-to-ones %

Coached users as a share of users with a manager.

SELECT ([# of Coached Users] / [Number of Users Assigned to a Manager])

Users Not Participating in One-to-ones

Users with a manager who have not had a one-to-one.

SELECT ([Number of Users Assigned to a Manager] - [# of Coached Users])

Number of Users Not Taking Part in One-to-one Session %

Those users as a share of users with a manager.

SELECT ([Users Not Participating in One-to-ones] / [Number of Users Assigned to a Manager])

Managers Taking Part in One-to-one Sessions With All Their Reportees

Managers who have coached every one of their reportees.

SELECT COUNT([Manager Id]) WHERE (SELECT IFNULL([# of Coached Users], 0) BY [Manager Id]) = (SELECT [Number of Users Assigned to a Manager] BY [Manager Id])

Number of Managers Coaching All Their Reportees %

Those managers as a share of all managers.

SELECT ([Managers Taking Part in One-to-one Sessions With All Their Reportees] / [Number of Managers])

Commitments and goals

Metric

What it means

Formula

Number of Commitments

Commitments attached to one-to-one sessions.

SELECT COUNT([Commitment Id])

Number of Commitments Completed

Commitments completed.

SELECT COUNT([Commitment Id]) WHERE [Commitment Status]=[...id=3]

Number of Commitments in Progress

Commitments not yet completed.

SELECT COUNT([Commitment Id]) WHERE [Commitment Status]=[...id=18]

To band users by goal completion, calculate [Number of Commitments Completed] / [Number of Commitments] per user and group the result yourself. That gives you full control over the band boundaries, and is straightforward in SQL or in any tool's calculated fields.

Surveys

Survey response and completion

Metric

What it means

Formula

Number of Published Surveys

Surveys published. A survey can only be taken once published.

SELECT COUNT([Survey Id]) WHERE [Survey Availability Status]=[...id=24207]

Survey Audience

Users required to complete the survey. The denominator for response rates.

SELECT COUNT([User Id], [Records of Survey Audience])

Completed Surveys

Completed survey sessions.

SELECT COUNT([Survey Session Id]) WHERE [Survey Session Status] = [...id=24206]

Survey Response Rate

Completions as a share of users the survey was shared with, averaged across surveys.

SELECT AVG((SELECT [Completed Surveys] BY [Survey Id]) / (SELECT [Survey Audience] BY [Survey Id]))

Number of Users Completed Survey

Users who started and completed a survey.

SELECT COUNT([User Id],[Survey Session Id]) BY [Survey Id] WHERE [Survey Session Status]=[...id=24206]

Number of Users Completed Survey %

Completers as a share of the survey audience.

SELECT ([Number of Users Completed Survey] / [Survey Audience])

Number Users Started Survey

Users who started a survey.

SELECT COUNT([User Id], [Survey Session Id]) BY [Survey Id] WHERE [Survey Session Status]=[...id=24208]

% Users started survey

Starters as a share of the survey audience.

SELECT ([Number Users Started Survey] / [Survey Audience])

Number of Users Not Started Survey

Users who received the survey but have neither started nor completed it.

SELECT ([Survey Audience] - [Number of Users Completed Survey] - [Number Users Started Survey])

Number of Users Not Started Survey %

Non-starters as a share of the survey audience.

SELECT ([Number of Users Not Started Survey] / [Survey Audience])

# Shares (count)

Survey shares issued.

SELECT COUNT([Share Id],[Survey Id])

Rank survey completing users

Ranks survey completion. Supports the peak-hour metric below.

SELECT ROW_NUMBER([Number of Users Completed Survey]) DESC

Peak Hour by Survey Completion

The hour of day when most surveys are completed, aggregated across all days.

SELECT [Number of Users Completed Survey] WHERE [Rank survey completing users]=1

Number of Users Completing Surveys

Normalised completion figure used to drive the heatmap visualisation.

SELECT COUNT([User Id], [Survey Session Id]) / (SELECT MAX(SELECT COUNT([User Id], [Survey Session Id]) BY [Day of Week (Mon-Sun) (End Date)],[Hour of Day]) BY ALL OTHER)

The peak-hour metrics depend on time zone. Timestamps in the connector are UTC, so convert to your reporting time zone before grouping by hour or the answer will be shifted.

Events

Applications, approvals and attendance

Metric

What it means

Formula

Number of Applied Event Users

Users who applied to attend an event.

SELECT SUM([Applied])

Number of Users Approved

Users approved to attend.

SELECT SUM([Approved])

Number of Users Attended

Users who attended.

SELECT SUM([Attended])

Avg Number of Users Applied

Average applications per event.

SELECT AVG([Number of Applied Event Users])

Approved vs Applied Event Seats (%)

Approval rate — approved divided by applied.

SELECT [Number of Users Approved] / [Number of Applied Event Users]

Attended vs Approved Event Seats (%)

Show-up rate — attended divided by approved.

SELECT [Number of Users Attended] / [Number of Users Approved]

Applied vs Available Event Seats (%)

Demand against capacity.

SELECT [Number of Applied Event Users] / [Number of Event Seats]

Capacity, subscription and waitlists

event_occurrences.spaces_number is null for uncapped events, so every metric in this section can hit a null or zero denominator. Use your tool's safe-division function rather than a bare divide.

Metric

What it means

Formula

Number of Event Seats

Seats available at an event.

SELECT SUM([Number of Event Occurrence Seats])

Event Subscription %

Applications divided by available seats.

SELECT SUM([Applied]) / SUM([Number of Event Occurrence Seats])

Event Attendance (%)

Attendees divided by available seats.

SELECT SUM([Attended]) / SUM([Number of Event Occurrence Seats])

Event Occurrence Subscription (%)

Applications over seats, minus one. Applies only to records where seats are not null.

SELECT SUM([Applied]) / SUM([Number of Event Occurrence Seats]) - 1 WHERE IFNULL([Number of Event Occurrence Seats], 0) != 0

Over/Undersubscription

Empty or excess seats at an occurrence.

SELECT [Number of Applied Event Users] - [Number of Event Seats]

Events - Occurrences row numbers

Ranks occurrences by subscription. Drives the Most Over Subscribed and Most Undersubscribed charts in the Waitlist Analysis section.

SELECT ROW_NUMBER([Event Occurrence Subscription (%)])

Cost

Metric

What it means

Formula

Event Occurrence Cost

Total cost to run the occurrence.

SELECT SUM([Event Occurrence Price])

Event Price per Seat

Average price per seat.

SELECT SUM([Event Occurrence Price]) / SUM([Number of Event Occurrence Seats])

Non-attendance Event Cost

Cost of empty seats — the metric to use for wasted spend.

SELECT SUM(([Number of Event Occurrence Seats] - [Attended]) * [Event Price per Seat])

Event Occurrence Cost Trend

Cost in the period against the previous 30 days.

SELECT ((SELECT [Event Occurrence Cost]) / (SELECT [Event Occurrence Cost] FOR PREVIOUS ([Date (Day)], 30))) - 1

Event and occurrence volume

Metric

What it means

Formula

Total Events

Events organised in the instance.

SELECT COUNT([Event Id])

Number of Event Occurrences

Occurrences that have taken place plus those scheduled.

SELECT COUNT([Occurrence Id])

To split scheduled from delivered occurrences, compare event_occurrences.starts_at against the current date rather than relying on a status field. That gives you an unambiguous split and lets you build forward-looking and historical views from the same table.

Where to take this next

If a metric here does not reconcile with what you see on the Universal Analytics dashboard, check four things in order: whether you are counting distinct users or rows; whether soft-deleted records are being included; whether a polymorphic type filter is missing; and whether a time zone difference is shifting rows into the wrong day. Those four account for most discrepancies. If the number still will not tie, raise it with your Fuse Customer Success contact and quote the metric name from this page.