hr analytics and graphs : job recommendations

20
SAS founded in 2013 in Paris | http://linkurio.us | @linkurious HR analytics and graphs : job recommendations.

Upload: linkurious

Post on 28-Nov-2014

458 views

Category:

Data & Analytics


0 download

DESCRIPTION

Human resources : How to use graphs and Neo4j to make job recommendations.

TRANSCRIPT

Page 1: Hr analytics and graphs : job recommendations

SAS founded in 2013 in Paris | http://linkurio.us | @linkurious

HR analytics and graphs : job recommendations.

Page 2: Hr analytics and graphs : job recommendations

Introduction.

CMO

>5 years in consulting

MSc Political sciences and Competitive

Intelligence

JeanVilledieu

SébastienHeymann

RomainYon

CEO

Gephi Founder

Phd in Computer Science and Complex

Systems

CTO

Engineer (Microsoft, Spotify)

Machine Learning at Georgia Tech

Linkurious is a French startup founded in 2013.

Page 3: Hr analytics and graphs : job recommendations

Father Of

Father Of

Siblings

What is a graph ?

This is a graph.

Page 4: Hr analytics and graphs : job recommendations

Father Of

Father Of

Siblings

This is a node

This is a relationship

What is a graph ? / Nodes & relationshipsWhat is a graph : nodes and relationships.

A graph is a set of nodes linked by relationships.

Page 5: Hr analytics and graphs : job recommendations

Human resources and recruitment.

How can HR departments match jobs and candidates?

Page 6: Hr analytics and graphs : job recommendations

Making the right recommendation.

Making a good recommendation is hard.

Page 7: Hr analytics and graphs : job recommendations

Why some companies do it better than others?

Page 8: Hr analytics and graphs : job recommendations

Graphs can help.

Graphs are great for recommendations.

Page 9: Hr analytics and graphs : job recommendations

The graph of human resources.

Python Programming(Competency)

Financial Management(Competency)

James(Person)

Paul(Person)

HAS_COMPETENCY

WORKS_FOR WORKED_FORAcme(Company)

General Management(Competency)

HAS_COMPETENCY

HAS_COMPETENCY HAS_COMPETENCY

FRIEND_OF

People, skills, companies.

Page 10: Hr analytics and graphs : job recommendations

Graph databases are great to store this information.

Let’s try to play matchmaker with Neo4j!

Download the Neo4j dataset used for this presentation.

Page 11: Hr analytics and graphs : job recommendations

Find top 5 competencies at “Siliconfind”.

Step 1 : What are the competencies in my company?

//What kinds of competencies are in my company

match (n:Person)-[:HAS_COMPETENCY]->(co:Competency), (n)–>(cp:Company

{name:’Siliconfind’})

return co.name as competencies, count(n) as number_of_experts

order by count(n) desc

limit 5

This query is written with Cypher the Neo4j query language. It returns us 25 results.

Page 12: Hr analytics and graphs : job recommendations

A data problem.

The top 5 competencies at “Siliconfind”.

competencies number of experts

People Management 13

General Management 9

Carpenter 8

Java Programming 7

Scala Programming 6

Page 13: Hr analytics and graphs : job recommendations

Let’s look within the network of our employees for a recruit.

Step 1 : What are the competencies in my company?

//Find friends of our employees that have a skill in java and python programming

match (c:Company {name:’Siliconfind’})<-[WORKS_FOR]-(p1:Person)-[:

FRIEND_OF]-(p2:Person) with p2 match (p2)-[:HAS_COMPETENCY]->(c2:

Competency {name:”Java Programming”}), (p2)-[:HAS_COMPETENCY]->(c3:

Competency {name:”Python Programming”})

return distinct p2.first_name as first_name, p2.last_name as last_name

We are looking for friends of Siliconfind’s employees who know Java and Python.

Page 14: Hr analytics and graphs : job recommendations

A data problem.

Potential matches within our company’s social network.

first_name last_name

Damon Cruz

Gina Jenkins

Rick Carpenter

Whitney Ryan

Page 15: Hr analytics and graphs : job recommendations

//Find a perfect candidate for our software engineer position

match (o:Job {name:’Software Engineer’})-[:IS_REQUIRED]->req<-[:

HAS_COMPETENCY]-p

with o, p, count(req) as c

where length(o-[:IS_REQUIRED]-()) = c

return p, c

We are looking for someone who matches the competencies required by the job ad.

Matching a job ad and people.

Step 1 : What are the competencies in my company?

Page 16: Hr analytics and graphs : job recommendations

A data problem.

We have 3 perfect matches.

p c

(18:Person {first_name:"Alberto", gender:"Male", id:19, last_name:"Boone"}) 3

(98:Person {first_name:"Tommie", gender:"Male", id:99, last_name:"Holland"}) 3

(53:Person {first_name:"Jaime", gender:"Male", id:54, last_name:"Rogers"}) 3

Page 17: Hr analytics and graphs : job recommendations

Some of the domains in which our customers use graphs.

People, objects, movies, restaurants, music…

Suggest new contacts, help discover new music

Antennas, servers, phones, people…

Diminish network outages

Supplier, roads, warehouses, products…

Diminish transportation cost, optimize delivery

Supply chains Social networks Communications

Differents domains where graphs are important.

Page 18: Hr analytics and graphs : job recommendations

You can do it too!

Try Linkurious.

Page 19: Hr analytics and graphs : job recommendations

Contact us to discuss your projects at [email protected]

Conclusion