The Playbook for the Workplace Analytics analyst is a guide for identifying the useful analyses or functions for exploring a particular area of Workplace Analytics. This guide is divided into the following sections.
For each individual function, you can click into the linked documentation for more information on how to run them and what outputs are returned.
Before proceeding below, you should have installed and loaded the R package as well as having loaded in your data sets. Read our Getting Started guide for more information on how to do this.
It is recommended that you start with running
keymetrics_scan() on a Standard Person Query, which returns a heat map table with an overview with all the key metrics in Workplace Analytics. For more detailed breakdowns, you may also run
collaboration_report() to establish the baseline of collaboration.
Here are a list of other individual plots that you can run: - Summary of metrics: -
meeting_sum() - Time dimension of metrics: -
collab_area() - any of the
*_trend() functions, which provide a view of metric change over time. Use
create_trend() to run the analysis for any metric. - You can also run
collab_rank() to view the top and bottom ranking values for each HR attribute for
*_rank() functions all come with multiple plot modes, and you can use
create_rank() to run the analysis for any metric.
One option to advance the analysis is to take a deep dive into meetings.
meeting_skim()can be used to understand the overall % of meetings which are low quality. Hours can be expressed in terms of number of FTE-weeks (or months), or even dollar values for greater impact. Typical assumptions used are 40 employee-hours per week and 180 per month.
meetingtype_dist()can be used to understand the distribution of long or large meetings. Another alternative,
meetingtype_summary()can be used to visualize the proportion of long or large meetings as a bar plot (requires a Ways of Working Assessment query).
meeting_tm_report()can reveal patterns underlying meeting subject lines. The report is made of individual visualization functions, i.e.:
meeting_quality()creates a bubble plot that visualizes
Low_quality_meeting_hourson the x-axis and
Meeting_hourson the y-axis.
Another option is to analyse collaboration metrics across a time dimension. - To understand detailed changes in collaboration metrics over time, you can use
period_change() to visualize the distribution across the population in a before vs after comparison. - To understand what metrics have changed the most with respect to time, you can use
IV_by_period(), which uses the before vs after as an outcome variable to calculate which Workplace Analytics metrics have had the greatest impact according to Information Value.
*_trend(), can be run between new hires and existing employees. The data can be wrangled to isolate the first
nperson-weeks and compare such weeks with onboarded weeks.
identify_tenure()can be used at the beginning for understanding the distribution of employee tenure, provided that a valid
HireDateorganizational variable is available.
HireDate(or its equivalent) in a person query from
dplyr::case_when(), which can then be used in the
hrvarargument in most functions.
The key metrics in relation to Employee Wellbeing are Work Week Span, Collaboration Hours, and After-hours collaboration hours, which can be visualized in a number of ways. You can start with the
capacity_report() which provides a baseline of this view.
*_fizz()functions offer a way of quickly visualizing the distribution of the capacity metrics. For the traditionalist, you can also use
create_boxplot()for the given metric to create boxplot views. The distribution views are especially useful for identifying latent capacities.
workpatterns_area(). Interesting views include analysing Sent emails by time of day, which can illustrate whether employees are still highly active outside of work hours.
You can classify person-weeks or persons into individual archetypes with
workpatterns_classify(), which reveals break patterns in employees’ weeks. If you are unsure with where to start, you can also run
workpatterns_report() which combines a number of plots based on the classified archetypes. You will need an Hourly Collaboration query.
flex_index() computes a Flexibility Index which is a measure of how flexible teams are working, based on three components, i.e.: - (i) whether they take breaks during the week, - (ii) whether they start their date at different times compared to the official time, and - (iii) whether they keep their total working hours under control.
By filtering on email and meeting subject lines in a Person Query, it is possible to compute the employee-hours that have been invested into a particular business process. To identify the right keywords to use in the filter, you can run
meeting_tm_report() or one of its component functions (
tm_wordcloud()) to examine what keywords are related to the business process you have in mind.
You can start with the
coaching_report() which provides a baseline of this view.
mgrrel_matrix(): a two-by-two matrix describing manager relations styles experienced by the analysis group.
Moving an employee from an IC to a Manager typically ‘costs’ 6-8 collaboration hours weekly. Optimizing the organizational structure can save many hours of weekly collaboration across the organization. One view is to produce a two-by-two matrix of
NumberOfDirectReports, visualizing the values as Collaboration Hours. An example might be:
library(wpa) library(dplyr) sq_data %>% group_by(PersonId, Layer, NumberOfDirectReports) %>% summarise(across(Collaboration_hours, ~mean(., na.rm = TRUE))) %>% group_by(Layer, NumberOfDirectReports) %>% summarise(across(Collaboration_hours, ~mean(., na.rm = TRUE))) %>% pivot_wider(names_from = NumberOfDirectReports, values_from = Collaboration_hours)
Optimization by consolidating direct reports can lead to valuable savings in collaboration hours.
Good manager coaching is a key factor for employee engagement and retention.
Employee sentiment analysis - To compute feature importance, you can leverage
IV_report() for calculating Information Value, using Workplace Analytics metrics (including manager metrics) as predictor variables and employee sentiment scores as an outcome variable. - If employee churn and sentiment data is available, you can also use Workplace Analytics to build a model for understanding the most important reasons for churn. There currently isn’t a function for modelling in wpa, but you can make use of capabilities in the wider R universe, such as randomForest and tidymodels. The function
identify_churn() can be used to identify employees who have churned from the dataset.
- For more capabilities in calculating variable importance, you may reference the rwa and the vip packages.
You can start with the
connectivity_report() which provides a baseline of this view.
Collaboration can be visualized as a network in several ways.
network_p2p(). See function documentation for more information on methodology and usage.