Analysing NFON phone protocols & Kipfolio visualisation
IT-WINGS offers various digital analytics services. One example was a project for an Austrian recruitment agency. The goal was to optimise the processes by analysing the telephone protocols of the employees in order to better understand the cost-benefit behaviour of their placement calls.
What is NFON?
NFON is a hosted/cloud based phone system that our client uses to build their phone network. This service offers many features for business acquisition, such as phone and video calls, screen sharing, conferencing, and more. An important function for our customer was the logging of phone calls.
The user can log into the NFON account and download a monthly report of the phone calls, which includes data about the recruiter, the customers, the time and the cost per minute.
NFON did not yet have an API to download the data automatically at the time of the project. The only way to get the data was via a manual download through the service portal.
What is a cronjob?
Cron is a command line function that you will find on UNIX-like systems (some Linux distributions) and systems with UNIX functionality (Windows). Cron can be used to specify scheduled jobs (called cron jobs) that are executed by a script file at a specified time.
There are many ways to set up a cron job. We decided to use a Windows implementation with the command prompt interface. We created it following the example below to run our script once a day.
The script we ran opens the NFON website every day and logs in with our customer’s credentials. Then the script downloads the report of the current month as a .csv-file.
The script uploads the data from the .csv file to a Google Sheet. It is important to upload only the most recent data that is not yet present in the Google Sheet. The format of the data looked like this:
After getting the data from the website and saving it in the Google Sheet, we can connect it to the Klipfolio data visualisation tool using an existing connector function.
What is Klipfolio?
Klipfolio is a web-based service for data visualisation. The main advantage of Klipfolio is the wide range of visualisations, the user-friendly and easy-to-use interface and the already existing connectors to many data sources (for example Google Drive, where we stored our data).
We connected our Google Sheet with the data from NFON’s phone logs to Klipfolio.
We created a dashboard with our phone log data. Our client’s main interest was to see how long the phone calls were, predominantly whether the phone calls were longer or shorter than 90 seconds. They also wanted to see the phone calls broken down by weeks, months and years, as well as broken down by recruiter.
Our client wanted a bar chart showing only the current month and a table showing all months with the data already in place. The process to create this particular visualisation was as follows:
- Creating a hidden table where the date, recruiter ID and call time under 90 seconds are shown.
We selected the columns for date (B:B) and call time (K:K). The slice function removes only the first row, which is just a header.
We did the same for the recruiter ID and call time columns.
2. Creating a separate series for each recruiter based on the ID:
In Klipfolio, a visualisation consists of series, where a series represents an element of a visualisation (for example, a bar in a bar chart). It is necessary to write a code for each series in order to build the visualisation correctly.
We created a data series for each recruiter for both the bar chart and the table. We used the so-called “most important function” in Klipfolio to create the data series.
This search function consists of 3 parts:
- In the first row, where we add the X-axis, we selected the month of today’s date. (In the visualisation we swapped the X and Y axis for better readability).
2. In the second row, the data is grouped to match the format given in the X-axis, filtered only by the recruiters IDs .
In the third row, the same grouping and filtering is done, with the addition that the number of calls within these groupings are counted. For example, this function would count the number of calls in a month for that specific ID.
The same process was done for the table, with the difference that we selected all months in the first row instead of filtering only by the current month. We also repeated this process for the year, month and week for calls under and over 90 seconds.