In today’s blog article, I would like to introduce Luděk Stehlík and his work with two R Shiny apps: the Turnover Analytics App and the Business Chemistry App.
Luděk Stehlík
Luděk Stehlík is a psychologist and data analyst with extensive experience with applying data & advanced analytics to the optimisation of HR processes. He is currently working on HR Analytics projects in the Czech Republic – mainly about turnover, recruitment and performance management. In addition, he does HR/business consultancy and coding (R, Python, SQL) at the same time. Luděk usually uses Tableau for visualising HR Analytics outputs.
I met Luděk thanks to the HR dashboard challenge I published end of 2018. He said that my problem was an excellent excuse for “playing” with Shiny and Flexdashboards again.
Interview
Hendrik: First of all, thank you for agreeing to this interview. Please tell us, why did you finish off your project with such visualisation, and why did you choose to do it in Shiny/Flexdashboard?
Luděk: I think similar visualisations are a great way to democratise data science. Managers who make difficult decisions daily do not have the time to engage with data-science and its sophisticated concepts. There are tools to make more informed decisions. I confirm based on my own experience that such visualisations are very handy. If you want to make your data-science projects more impactful, they help to shape the decisions based on the evidence. It’s not the silver bullet, but it helps.
Shiny/Flexdashboards are handy visualisation tools. They easily allow embedding sophisticated R analyses and fancy visualisations within interactive dashboards and thus making them easily accessible to your target audience through the web.
For you, as a business analyst, the bonus is that you don’t have to be a proficient web developer to make such web-based visualisations once you master these tools. After acquiring some reasonable level of proficiency in R, it’s quite straightforward to use these newly acquired skills on the Shiny/Flexdashboard playground. You can use them for quick prototyping of new dashboards but also for implementation of full-fledged dashboards that are used by tens or hundreds of users. In comparison with Python, this is a massive advantage of R, but Python is indeed reducing R’s lead in this area with its Bokeh and Dash packages.
Required effort?
Hendrik: Approximately how many consultancy days does it take to produce those two visualisations? It seems definitely worth the effort.
Luděk: You have to go through a series of steps to ensure a functional and useful decision-making results. It requires a significant amount of time.
Usually, you start from the end, i.e., from the users. You talk with them and try to determine what are their goals, priorities, and challenges are. These interviews are the basis for your first drafts. After that, you draw more realistic wireframes. You create functional prototypes and based on continuous feedback from users. You finalise the d dimension dashboard, which put in the end into production. As you can image, all these steps can take you more than one or two person-days.
Above that, here we assume that you already have data you need in proper format and granularity prepared in some data-mart. If not, you have to add some extra person-days for data preparation. In case you want to include more advanced analytics stuff to your dashboard, the project complexity increases. For example, if you aim for predictive modelling, naturally it requires more time.
For the two specific dashboards, I needed approximately four person-days for Business Chemistry App and seven days for Turnover Analytics App. It was possible to do it so quickly because they were intended primarily for an internal audience. It speeded up the whole development process.
Were the requirements clear?
Hendrik: Were the requirements clear from the outset or did the needs evolve while working on the project? The apps seem very much packed with useful information.
Luděk: We planned enough time to clarify the requirements with the intended users at the initial stages of the project. Changes requested a later stage were rather cosmetic. But, indeed, it is not always the case. Sometimes, especially when there is no clear business need behind it, we discover new additional requirements as we go.
Your question implies one big truth. Collecting continuous feedbacks from end-users is essential. Developers always have different perceptions to end-users. I recommend a frequent and thorough validation. As formulated by one of our clients, HR Analytics is mainly about the management of expectations, and I can subscribe to this.
Challenges
Hendrik: The Business Chemistry App seems particularly lovely due to the integration of the videos and the various coloured chart. Congratulations on that. What were the most difficult technical aspects of implementing in Shiny?
Luděk: The most challenging part was to render the third dimension on 2D maps to visually capture the similarity between individual team members across four distinct behavioural aspects at once. The smooth colour changes represent the third dimension. They represent the intensity of specific behavioural tendencies. One can imagine this as something similar to weather maps showing temperature forecasts for different regions in the country. Therefore, I have used some R packages that were initially developed primarily for modelling natural processes such as rainfall or temperature.
The code for Shiny was the standard one. It required no significant challenges. Perhaps the only headache was fighting with all those brackets in the code.
Two fantastic #rstats #Shiny visualisations for #PeopleAnalytics Click To TweetCut-off-value for scoring slider?
Hendrik: The Turnover Analytics App is the visualisation of one of the very few public datasets available to the HR community, the IBM turnover dataset. Above all, I like the tab on “Your Turnover Business Case” where the senior manager can test various what-if-scenarios. However, I find the “Prediction Model detail” and the “cut-off-value for scoring” difficult to understand. Do you mind explaining it to us in your own words?
Luděk: This part of the dashboard is not intended for HR, but rather for business analysts, who have the necessary technical background.
In principle, those concepts help to assess the performance of the predictive model. The model helps to decide who to target through retention interventions. Flight risk and value to the company are determining.
For instance, when deciding interventions from the business perspective, it is crucial to verify how many leavers the algorithm was able to predict and how certain it was.
For example, suppose that the algorithm would have a high recall rate but also low precision. Therefore, it would be able to detect the majority of employees who want to leave, but at the same time, it would include several false positives. With such an algorithm, interventions might be too expensive, because your investments do pay off only for those few employees who would really leave the company.
It is crucial that the user is enabled to change the performance of the algorithm by “playing” with its parameters. The “cut-off-value for scoring” slider helps to identify the “sweet spot”. It makes the algorithm useful professionally.
Add a slider to your #Shiny visualisations for #PeopleAnalytics to allow users to play with parameters says @LudekStehlik Click To TweetRoom for improvements
Hendrik: Which aspects would you like to improve next time? Something relating to the development process? Is there anything else you would like to add?
Luděk: I tend to make my visualisations more complicated and information more substantial than necessary due to my academic experience. As a result, my long-term development challenge is to try to make things as simple as possible, but not simpler, to use the famous quote from Albert Einstein.
Wrap up
Hendrik: Congratulations for your work and thanks again for the interview. Your work experience in visualising HR Analytics outputs is highly relevant to my audience. Shiny and Flexdashboard are open source technologies making HR Analytics sustainable in the long term.
Luděk: You are welcome, Hendrik. I want to thank you for what you are doing for the whole HR Analytics community. There are always some nuggets of wisdom and good practices in your blog posts. Please, keep going!