Data By the Bay is the first Data Grid conference matrix with 6 vertical application areas spanned by multiple horizontal data pipelines, platforms, and algorithms. We are unifying data science and data engineering, showing what really works to run businesses at scale.
Upwork is the largest online freelancing marketplace, where freelancers from around the world earn over a billion dollars a year for work ranging from software development to sales to translation. Our data science team helps make this possible by developing algorithms to help clients and freelancers find the right fit for their needs and talents. We are in the privileged position of having data about the full life cycle of a job, from the moment the client posts it, to how freelancers find it, the interview and hiring process, and the final success of the project.
In this talk, I will focus on how we decide which jobs to recommend to freelancers. The job recommendation algorithms power a daily job digest e-mail, and are used in the Upwork Job Search and other parts of the site. I will share data and insights about our two-way marketplace, and discuss some of the machine learning models I’ve been developing. I will also discuss my approach to a key question for many ML practitioners — figuring out what to model in the first place.
I think about job recommendations as a two-part problem — will the freelancer apply to the job if they see it, and would that application be useful? I will describe the Job Interest model I have developed to answer the first question, which is a logistic regression model that uses features derived from the freelancer’s profile and application history to predict which jobs the freelancer will choose to apply to. A key modeling insight is that including features that capture main effects (the attractiveness of a job and each freelancer’s propensity for applying to jobs) vastly improves model accuracy.
Complex marketplace considerations come into play when we think about where to direct freelancers’ applications. One more application is hardly useful if a job already has several great applicants, or if the client has changed their mind about hiring. It is more important to help clients find the right person for large contracts than for small one-off tasks. We can also take advantage of our models that predict application and job success for applicants.