KPIs Staffing & Recruitment companies should track

KPIs Staffing & Recruitment companies should track

 

Key Performance indicators (KPIs) are business metrics which are used to evaluate factors that are crucial to the success of the organization. This article talks about most commonly used metrics and KPI’s which staffing companies needs to track in order to grow their business. Not only we have highlighted the KPIs but also we have enlisted teamwise KPIs.  User should have the option to put input parameters like client name, open job/closed job, time duration etc and based on those input selections the data should reflect. All of this data can come from typical ATS (applicant tracking system), excel, CRM and other softwares used by the staffing company.

KPIs for Staffing Firm Management: Below listed are the metrics which can be used by the senior management of staffing firms to understand the day to day operations, understand risks and take appropriate actions etc. These metrics can be according to client wise or time duration or job profile wise etc.

  • Time-to-hire and Cost-to-hire
  • Team Performance v/s targets
  • Job order at risk
  • Resumes Sent to the client
  • Response Rate
  • Candidate outreach Stage
  • Candidates Engaged vs Presented vs Hired
  • Client wise Job order openings and revenue
  • Candidate count Source wise
  • Timeline Management
  • Sendout per employee
  • Newly candidates vs Existing Candidates
  • Total cost per project

 

KPI to be shared with Staffing Firms end Clients: Ideally there are certain metrics which should be shared with the client. This will give the freedom to client to understand the kind of work which happens behind the scene for a single recruitment.

 

  • Retention
  • Resume Received by client
  • Number of Placements
  • Average time per order
  • Target benchmark alerting
  • Response Rate
  • Conversion Rate
  • Open Job vs. Closed Job

 

Sourcing Member: Sourcing members are responsible for scouting and uploading the CVs for relevant profiles. Below are some of the metrics which can help sourcing members to more efficiently do their job

  • Total Number of CV uploaded timewise/clientwise/job_profile wise
  • No. of fit resumes vs unfit resumes of the total number of CVs uploaded
  • Old versus new CVs
  • No. of submitted candidates to client and hired
  • Target and achieved

 

Account Managers of Staffing Firms: Account managers are generally responsible for approaching candidates, speaking with them, shortlisting, setting up interview etc.

  • No. of follow-up done
  • Response and declined rate
  • Calls made and appointments scheduled
  • Target and achieved

There are a lot of staffing and recruitment companies with very low entry barrier, hence a new vendor can come whenever he wants and can snatch the client. Usage of data analysis platform and sharing the same with their end client can not only make a staffing and recruitment company standout, but sharply monitoring the same can also help in more efficiently and cost affectively running the company.

Get in touch with us to see a data analysis and BI in action. Learn how you can turn your ATS (Applicant Tracking System) data into goldmine.

Reach out to [email protected]

Read the blog http://helicaltech.com/staffing-recruitment-analytics-solution/ to learn about the Staffing & Recruitment Analytics solution by Helical

D3 Bubble Chart Integration with Jaspersoft

In this blog we will be discussing about D3 Bubble Chart Integration with Jaspersoft using HTML method of integration.

All the reports are develop using ireport 5.5 professional and jasper server 5.5

As html component of jasper server does not load any scripts in the html component, we loaded the script in one of the decorator page(jsp page). The page is located at the location:

C:\Jaspersoft\jasperreports-server-5.5\apache-tomcat\webapps\jasperserver-pro\WEB-INF\decorators\decorator.jsp

In the page we included the scripts which we want to load. We added the following code in the jsp page at line no 46:

<script type="text/javascript" language="JavaScript"
src="${pageContext.request.contextPath}/scripts/d3.v3.min.js"></script>

The script to be added should be kept at location:

C:\Jaspersoft\jasperreports-server-5.5\apache-tomcat\webapps\jasperserver-pro\scripts

Bubble Chart

Bubble Charts Integration with Jaspersoft

Bubble Charts Integration with Jaspersoft

    Bubble Chart:-


For this chart we need to include one more js script file in the decorator page as described in the start of the document.
The js file is sankey.js and can be downloaded from

http://dimplejs.org/dist/dimple.v1.1.5.min.js

Sample Code is shown below:

var svg = dimple.newSvg("#chartContainer", 1090, 500);
var data = [
{
"Date":"1/1/2011",
"Analyst":"Cidalina Rivera",
"Category":"Application",
"Total Minutes":2114200,
"Minutes Per Item":1100,
"% SLA":80
},
{
"Date":"1/1/2011",
"Analyst":"Kiran Parvathala",
"Category":"Application",
"Total Minutes":391800,
"Minutes Per Item":1959,
"% SLA":21
},
{
"Date":"1/1/2011",
"Analyst":"KrishnaReddy Mavuru",
"Category":"Application",
"Total Minutes":1056125,
"Minutes Per Item":1207,
"% SLA":26
},
{
"Date":"1/1/2011",
"Analyst":"Narasimha Dara",
"Category":"Application",
"Total Minutes":386740,
"Minutes Per Item":610,
"% SLA":30
},
{
"Date":"1/1/2011",
"Analyst":"AslamJavid Shaik",
"Category":"Application",
"Total Minutes":1573856,
"Minutes Per Item":1096,
"% SLA":94
},
{
"Date":"1/1/2011",
"Analyst":"Harini Vemulapalli",
"Category":"Application",
"Total Minutes":2846340,
"Minutes Per Item":1890,
"% SLA":100
},
{
"Date":"1/1/2011",
"Analyst":"William Nelson",
"Category":"Application",
"Total Minutes":1205502,
"Minutes Per Item":662,
"% SLA":40
},
{
"Date":"1/1/2011",
"Analyst":"Janaki Govindarajan",
"Category":"Batch Job",
"Total Minutes":72684,
"Minutes Per Item":673,
"% SLA":79
},
{
"Date":"1/1/2011",
"Analyst":"Chiranjeevi Krishna Karne",
"Category":"Education",
"Total Minutes":542348,
"Minutes Per Item":3307,
"% SLA":52
},
{
"Date":"1/1/2011",
"Analyst":"Masaru Hirata",
"Category":"Fileshare",
"Total Minutes":129090,
"Minutes Per Item":662,
"% SLA":12
},
{
"Date":"1/1/2011",
"Analyst":"Naveen Kodali",
"Category":"Phone",
"Total Minutes":75076,
"Minutes Per Item":548,
"% SLA":84
},
{
"Date":"1/1/2011",
"Analyst":"JoshyPeter Joseph",
"Category":"Phone",
"Total Minutes":574860,
"Minutes Per Item":2948,
"% SLA":27
},
{
"Date":"1/1/2011",
"Analyst":"Maheshwar Malkapuram",
"Category":"Phone",
"Total Minutes":19845,
"Minutes Per Item":105,
"% SLA":92
},
{
"Date":"1/1/2011",
"Analyst":"Sunil Bhalerao",
"Category":"Procurement",
"Total Minutes":353000,
"Minutes Per Item":1765,
"% SLA":20
},
{
"Date":"1/1/2011",
"Analyst":"Tina Chan-Browne",
"Category":"Report",
"Total Minutes":51121,
"Minutes Per Item":469,
"% SLA":95
},
{
"Date":"1/1/2011",
"Analyst":"Sirajuddin Mohammad",
"Category":"Report",
"Total Minutes":323363,
"Minutes Per Item":1693,
"% SLA":47
},
{
"Date":"1/1/2011",
"Analyst":"Nishanth Nadam",
"Category":"Enterprise",
"Total Minutes":620000,
"Minutes Per Item":10000,
"% SLA":22
},
{
"Date":"1/1/2011",
"Analyst":"Santoshkumar Shinde",
"Category":"Enterprise",
"Total Minutes":715000,
"Minutes Per Item":11000,
"% SLA":90
},
{
"Date":"1/1/2011",
"Analyst":"Keith Moller",
"Category":"Enterprise",
"Total Minutes":948000,
"Minutes Per Item":12000,
"% SLA":100
},
{
"Date":"1/1/2011",
"Analyst":"AshokKumar Sangeetham",
"Category":"Server",
"Total Minutes":1166550,
"Minutes Per Item":7070,
"% SLA":88
}
];
data = dimple.filterData(data, "Date", "1/1/2011");
var myChart = new dimple.chart(svg, data);
myChart.setBounds(400, 60, 500, 330);
myChart.addMeasureAxis("x", "Minutes Per Item");
myChart.addMeasureAxis("y", "Total Minutes");
myChart.addMeasureAxis("z", "% SLA");
myChart.addSeries(["Analyst","Category"], dimple.plot.bubble);
myChart.addLegend(600, 10, 360, 30, "right");
myChart.draw();

    Integration with JasperServer:


The data which we use for developing the calendar view can be fetched from any database. The data fetched from database is stored in a variable and is then accessed in the html component using the same variable. Applying this of process makes the report dynamic instead of static. Few parameters can also be added in the report which can be used in query and/or html component.
Generally for these type of charts we pass a variable which contains required data containing date, hour and a value associated with that particular date and hour. The string is created according to JSON format, so that when accessed in script tag, can be easily converted to JSON object using eval function.
Any variable/parameter can be accessed as shown below:
” var arr =”+$V{variable1}+” ”
Parameter in query:
Select * from table_name
where date between $P{parameter1} and $P{parameter2}

The steps on how to integrate it with jasperserver was discussed in my previous blog(D3 Integrating with Jasperserver).

Introduction to XSD – XML Schema Definition

This blog will talk about Introduction to XSD – XML Schema Definition   XML Schema Definition:- XML Schema describes the structure of an XML document, what a given XML document can contain, in the same way that a database schema describes the data that can be contained in a database (i.e. table structure, data types, constraints etc.). The XML schema defines the shape, or structure, of an XML document, along with rules for data content. The purpose of an XML Schema is to define the legal building blocks of an XML document, just like a DTD. XML Schemas are richer and more powerful than DTDs. XSD (XML Schema Definition), a Recommendation of the World Wide Web Consortium (W3C)

  • defines elements that can appear in a document
  • defines attributes that can appear in a document
  • defines which elements are child elements
  • defines the order of child elements
  • defines the number of child elements
  • defines whether an element is empty or can include text
  • defines data types for elements and attributes
  • defines default and fixed values for elements and attributes
  • xml schema support datatype
  • XML Schemas are written in XML
  • XML Schemas support data types
  • XML Schemas support namespaces

NameSpace:-

  • XML Namespace is a mechanism to avoid name conflicts by differentiating elements or attributes within an XML document that may have identical names, but different definitions.
  • It solve the name conflict by using a prefix.

<code><h:table> <h:tr>         <h:td>IT</h:td>          <h:td>Management</td> </h:tr> </h:table> <f:table>                 <f:name>Playground</f:name>                     <f:width>100</f:width>                 <f:length>200</f:width> </f:table> </code>

namespace for the prefix must be defined. The namespace is defined by the xmlns attribute in the start tag of an element. The namespace declaration has the following syntax. xmlns:prefix=”URI“. <root> <h:table  xmlns:h=”http://www.w3.org/tr/html4”> <h:tr>           <h:td>IT</h:td>                           <h:td>Management</h:td> </h:tr> </h:table> </root>   Advantages of XML Schemas Created Using XSD:-

  • XSD provides control over the type of data that can be assigned to elements and attributes.
  • XSD enables you to create your own data types. This feature enhances the flexibility of defining the structure of the XML document.
  • XSD enables you to specify restriction on data. For example, you can ensure that the content of an element is a positive integer value.
  • The syntax for defining an XSD is the same as the syntax used for xml documents. Therefore, it is easier to learn the syntax of an XSD.
  • XML schema content models can be used to validate mixed content.

XML schema is extensible. This enables you to reuse parts of a schema in another schema and derive custom data types from existing data types.