KPI | Health | Status |
---|---|---|
Candidates Sourced by Talent Acquisition Department vs. Candidates Hired | Okay |
|
Candidates hired from an underrepresented group | Attention |
|
Headcount vs. Plan | Attention |
|
Time to Offer Accept (Days) | Attention |
|
Interviewee Satisfaction (ISAT) | Attention |
|
Cost Per Hire | Okay |
|
How many candidates were sourced by the Talent Acquisition Department out of those who we hired in a given month.
Health: Okay
Number of hires that contribute to GitLab's diversity
Health: Attention
The number of team members based on start date divided by the number of hires in a given month. Hires comes from BambooHR. This KPI is tracked and reported on a monthly basis but year to date (headcount v plan) is also measured.
Health: Attention
The median number of days from when a candidate is active in Greenhouse (applied, referred, or sourced) to accepting an offer in a given month.
Health: Attention
The answer to the ‘Interviewee Satisfaction (ISAT) Score’ question, “Overall, my interviewing experience was a positive one,” is greater than 4.1 across all departments in a given month (1 - 5 response scale).
Health: Attention
Cost per hire is calculated by taking the total monthly expenses incurred in the Recruiting department and other monthly expenses related to the hiring process and dividing by the total number of hires in that month. Besides the expenses incurred in the Recruiting department (i.e. salaries, travel expenses, recruiting software etc.) other expenses related to recruiting are agency fees and referral bonuses. These expenses are incurred in departments outside of Recruiting but hit their own GL accounts. These GL accounts will be what is included in Cost Per Hire, along with the total Recruiting Department expenses. This is calculated on a rolling three month average.
This KPI cannot be public.
Health: Okay
The percentage of Offer Accepts whose source was “Referral” in a given calendar month. This is calculated by taking the number of “Referral” Offer Accepts and dividing that by the total number of Offer Accepts for a given calendar month. “Referrals” are tracked in Greenhouse.
Health: Unknown
On average, the time it takes to complete one Recruiting Team project.
Health: Unknown
How many Recruiting Team projects have been completed versus projects that are currently open in a given period of time (e.g. per quarter)
Health: Unknown
Analysis of the number of submitted internal support tickets, the number of resolved tickets, and the average time to resolution.
Health: Unknown
The number of Offers sourced by a Sourcer.
Health: Unknown
The number of sourced candidates moved to the Reference Check stage.
Health: Unknown
The number of candidates submitted by Sourcer that were Hired.
Health: Unknown
The number of candidates submitted by Sourcer that received an Offer.
Health: Unknown
The number of candidates submitted by Sourcer that successfully passed the screening call.
Health: Unknown
The number of candidates scheduled to speak with a Recruiter on a screening call.
Health: Unknown
The number of Prospects submitted to a Recruiter and/or a Hiring Manager by one Sourcer.
Health: Unknown
The percentage of Offer Accepts whose source was “SocialReferral” in a given calendar month. These candidates applied via links shared on social media sites (e.g. LinkedIn, Twitter, and the like). This is calculated by taking the number of “SocialReferral” Offer Accepts and dividing that by the total number of Offer Accepts for a given calendar month. “SocialReferrals” are tracked in Greenhouse.
Health: Unknown
The percentage of the company that has a recruiting or hiring manager seat on LinkedIn. This is calculated by taking the total number of recruiting and hiring manager seats divided by total employees on a calendar month basis.
Health: Unknown
Average number of days a Candidate spends per stages in the interview plan.
Health: Unknown
The percentage of team members that have a *Recruiter* or *Hiring Manager* seat and at least 1 active day of use per month. This is calculated by taking the total number of team members with at least 1 active day of use and dividing it by the total number of team members that have a seat.
Health: Unknown
Interviewer Effectivess demonstates how well an Interviewer has predicted future performance in a prospective team member. The objective of this KPI is to identify the best Interviewers, distill their interviewing methodolgy, and update the Interviewer Training Issue accordingly.
Health: Unknown
Value | Level | Meaning |
---|---|---|
3 | Okay | The KPI is at an acceptable level compared to the threshold |
2 | Attention | This is a blip, or we’re going to watch it, or we just need to enact a proven intervention |
1 | Problem | We'll prioritize our efforts here |
-1 | Confidential | Metric & metric health are confidential |
0 | Unknown | Unknown |
Pages, such as the Engineering Function Performance Indicators page are rendered by an ERB template that contains HTML code.
Other PI Pages
sectionThese ERB templates calls custom helper functions that extract and transform data from the Performance Indicators data file.
kpi_list_by_org(org)
helper function takes a required string argument named org
(deparment or division level) that returns all the KPIs (pi.is_key == true) for a specific organization grouping (pi.org == org) from the Performance Indicators data file.pi_maturity_level(performance_indicator)
helper function automatically assigns a maturity level based on the availability of certain data properties for a particular PI.pi_maturity_reasons(performance_indicator)
helper function returns a reason
for a PI maturity based on other data properties.performance_indicators(org)
takes a required string argument named org
(deparment or division level) that returns two lists - a list of all KPIs and a list of all PIs for a specific organization grouping (department/division).signed_periscope_url(data)
takes in the sisense_data property information from Performance Indicators data files and returns a signed chart URL for embedding a Sisense chart into the handbook.The heart of pages like this are Performance Indicators data files which are YAML files. Each - denotes a dictionary of values for a new (K)PI. The current elements (or data properties) are:
Property | Type | Description |
---|---|---|
name |
Required | String value of the name of the (K)PI. For Product PIs, product hierarchy should be separate from name by " - " (Ex. {Stage Name}:{Group Name} - {PI Type} - {PI Name} |
base_path |
Required | Relative path to the performance indicator page that this (K)PI should live on |
definition |
Required | refer to Parts of a KPI |
parent |
Optional | should be used when a (K)PI is a subset of another PI. For example, we might care about Hiring vs Plan at the company level. The child would be the division and department levels, which would have the parent flag. |
target |
Required | The target or cap for the (K)PI. Please use Unknown until we reach maturity level 2 if this is not yet defined. For GMAU, the target should be quarterly. |
org |
Required | the organizational grouping (Ex: Engineering Function or Development Department). For Product Sections, ensure you have the word section (Ex : Dev Section) |
section |
Optional | the product section (Ex: dev) as defined in sections.yml |
stage |
Optional | the product stage (Ex: release) as defined in stages.yml |
group |
Optional | the product group (Ex: progressive_delivery) as defined in stages.yml |
category |
Optional | the product group (Ex: feature_flags) as defined in categories.yml |
is_key |
Required | boolean value (true/false) that indicates if it is a (key) performance indicator |
health |
Required | indicates the (K)PI health and reasons as nested attributes. This should be updated monthly before Key Reviews by the DRI. |
health.level |
Optional | indicates a value between 0 and 3 (inclusive) to represent the health of the (K)PI. This should be updated monthly before Key Reviews by the DRI. |
health.reasons |
Optional | indicates the reasons behind the health level. This should be updated monthly before Key Reviews by the DRI. Should be an array (indented lines starting with dashes) even if you only have one reason. |
urls |
Optional | list of urls associated with the (K)PI. Should be an array (indented lines starting with dashes) even if you only have one url |
funnel |
Optional | indicates there is a handbook link for a description of the funnel for this PI. Should be a URL |
sisense_data |
Optional | allows a Sisense dashboard to be embeded as part of the (K)PI using chart, dashboard, and embed as neseted attributes. |
sisense_data.chart |
Optional | indicates the numeric Sisense chart/widget ID. For example: 9090628 |
sisense_data.dashboard |
Optional | indicates the numeric Sisense dashboard ID. For example: 634200 |
sisense_data.shared_dashboard |
Optional | indicates the numeric Sisense shared_dashboard ID. For example: 185b8e19-a99e-4718-9aba-96cc5d3ea88b |
sisense_data.embed |
Optional | indicates the Sisense embed version. For example: v2 |
sisense_data_secondary |
Optional | allows a second Sisense dashboard to be embeded. Same as sisense data |
sisense_data_secondary.chart |
Optional | Same as sisense_data.chart |
sisense_data_secondary.dashboard |
Optional | Same as sisense_data.dashboard |
sisense_data_secondary.shared_dashboard |
Optional | Same as sisense_data.shared_dashboard |
sisense_data_secondary.embed |
Optional | Same as sisense_data.embed |
public |
Optional | boolean flag that can be set to false where a (K)PI does not meet the public guidelines. |
pi_type |
Optional | indicates the Product PI type (Ex: AMAU, GMAU, SMAU, Group PPI) |
product_analytics_type |
Optional | indicates if the metric is available on SaaS, SM (self-managed), or Both. |
is_primary |
Optional | boolean flag that indicates if this is the Primary PI for the Product Group. |
implementation |
Optional | indicates the implementation status and reasons as nested attributes. This should be updated monthly before Key Reviews by the DRI. |
implementation.status |
Optional | indicates the Implementation Status status. This should be updated monthly before Key Reviews by the DRI. |
implementation.reasons |
Optional | indicates the reasons behind the implementation status. This should be updated monthly before Key Reviews by the DRI. Should be an array (indented lines starting with dashes) even if you only have one reason. |
lessons |
Optional | indicates lessons learned from a K(PI) as a nested attribute. This should be updated monthly before Key Reviews by the DRI. |
lessons.learned |
Optional | learned is an attribute that can be nested under lessons and indicates lessons learned from a K(PI). This should be updated monthly before Key Reviews by the DRI. Should be an array (indented lines starting with dashes) even if you only have one lesson learned |
monthly_focus |
Optional | indicates monthly focus goals from a K(PI) as a nested attribute. This should be updated monthly before Key Reviews by the DRI. |
monthly_focus.goals |
Optional | indicates monthly focus goals from a K(PI). This should be updated monthly before Key Reviews by the DRI. Should be an array (indented lines starting with dashes) even if you only have one goal |
metric_name |
Optional | indicates the name of the metric in Self-Managed implemenation. The SaaS representation of the Self-Managed implementation should use the same name. |
Please reference the Engineering Metrics Page for guidelines on chart visualization formatting.