IP Library Granted Patent US 10,430,763
Granted Patent B1
US 10,430,763 · App. 14/749,383 · Granted Oct 1, 2019

Apparatus, method and system for classifying freelancers

Inventors: Sunny SunMin Song (Los Altos, CA); Jonathan Paul Diller (Soquel, CA)
Assignee: Upwork, Inc.
G06Q10/1053G06F16/23G06F16/285
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,430,763
App. No.
14/749,383
Granted
Oct 1, 2019
Kind
B1
Abstract

Embodiments of the present invention are directed to a classification engine that classifies freelancers in one of a plurality of categories. The classification engine captures data to perform a first classification evaluation of each engaged freelancer. The first classification evaluation is used to drive different levels of onboarding to ensure appropriate onboarding tasks are completed for each engaged freelancer before the freelancer starts work for a client. Depending on the level of onboarding, the classification engine either uses the first classification evaluation to make a determination regarding the classification of the freelancer or captures additional data to perform a second classification evaluation to make the determination. The classification engine eliminates delays, manual workarounds and helps scale work with enterprise clients.

Claims (54)

1. A system for optimizing performance and minimizing delays within a services exchange medium, the system comprising:

at least one data store that together stores:

a job post associated with a client;

a freelancer profile associated with a freelancer; and

a client profile associated with the client; and

a computer server communicatively coupled with the at least one data store and configured to:

establish a plurality of onboarding process flows configured by the client, wherein each of the plurality of onboarding process flows includes initial onboarding tasks that are specific to a position within the services exchange medium and also includes rules that define completion dependencies for the initial onboarding tasks;

associate the freelancer with one of the plurality of onboarding process flows previously configured by the client;

access from the at least one data store the job post, the freelancer profile, and the client profile;

automatically capture data from the job post, the freelancer profile and the client profile;

implement a first algorithm that computes a first score based on the captured data, wherein the first score is mapped to one of a plurality of onboarding levels;

when the first score is within a first range, ascertain a classification of the freelancer without needing to request for input from the freelancer;

when the first score is not within the first range, automatically influence rigor of the onboarding process that is associated with the freelancer by dynamically integrating additional onboarding tasks into the onboarding process, wherein data associated with the additional onboarding tasks that subsequently are received are used by the computer server to support the classification of the freelancer; and

present the onboarding process flow that is associated with the freelancer in an onboarding dashboard for display on a viewing device, wherein the rules enforce an order of user inputs into the onboarding dashboard such that when a subsequent onboarding task that is dependent on at least one uncompleted onboarding task is activated, a task message for the subsequent onboarding task and reachable from the onboarding dashboard is displayed, wherein the task message displays the at least one uncompleted onboarding task that needs to be completed prior to starting the subsequent onboarding task, and wherein the task message is displayed while the at least one uncompleted onboarding task is not activated.

2. The system of claim 1 , wherein onboarding associated with each of the plurality of onboarding levels is progressively more rigorous than onboarding associated with a previous onboarding level.

3. The system of claim 1 , wherein, when the first score is within a range different from the first range, the computer server is also configured to:

obtain responses input by at least one of the freelancer and the client; and

according to at least a determination, classify the freelancer in one of a plurality of categories.

4. The system of claim 3 , wherein the computer server is also configured to implement a second algorithm that computes a final score based on the responses.

5. The system of claim 4 , wherein the determination is based on the final score.

6. The system of claim 5 , wherein the classification of the freelancer in one of a plurality of categories is also based on a legal review.

7. The system of claim 6 , wherein the plurality of categories includes a contractor category and a payrolled employee category.

8. A non-transitory computer-readable medium storing instructions that, when executed by a computing device, cause the computing device to perform a method of optimizing performance and minimizing delays within a services exchange medium, the method comprising:

establishing a plurality of onboarding process flows configured by a client, wherein each of the plurality of onboarding process flows includes initial onboarding tasks that are specific to a position within the services exchange medium and also includes rules that define completion dependencies for the initial onboarding tasks;

associating a freelancer with one of the plurality of onboarding process flows previously configured by the client;

communicatively coupling with at least one data store to access a job post associated with the client, a freelancer profile associated with the freelancer, and a client profile associated with the client stored therein;

automatically capturing data from the job post, the freelancer profile and the client profile;

when a first score derived from the captured data is above a first threshold, automatically influencing rigor of the onboarding process that is associated with the freelancer by dynamically updating the onboarding process flow to include additional onboarding tasks to reflect ascertaining needs;

when the first score is below the first threshold, classifying the freelancer in a first of two categories without needing to request for input from the freelancer; and

presenting the onboarding process flow that is associated with the freelancer in an onboarding dashboard for display on a viewing device, wherein the rules enforce an order of user inputs into the onboarding dashboard such that when a subsequent onboarding task that is dependent on at least one uncompleted onboarding task is activated, a task message for the subsequent onboarding task and reachable from the onboarding dashboard is displayed, wherein the task message displays the at least one uncompleted onboarding task that needs to be completed prior to starting the subsequent onboarding task, and wherein the task message is displayed while the at least one uncompleted onboarding task is not activated.

9. The non-transitory computer-readable medium of claim 8 , wherein when the first score is above a second threshold, the method further comprising:

obtaining freelancer responses that are input by the freelancer;

obtaining client responses that are input by the client;

computing a second score derived from the freelancer responses and the client responses; and

classifying the freelancer in one of the two categories based on the second score.

10. The non-transitory computer-readable medium of claim 9 , wherein the classification of the freelancer in one of the two categories based on the second score is also based on legal review of at least one part of the freelancer responses and the client responses.

11. The non-transitory computer-readable medium of claim 8 , wherein the method also includes:

allowing the client to create the job post regarding a job and to create the client profile; and

allowing the freelancer to create the freelancer profile.

12. The non-transitory computer-readable medium of claim 11 , wherein the method also includes allowing the client to configure onboarding tasks such that each of the onboarding tasks either will or will not become a part of the freelancer's onboarding dashboard depending on the first score.

13. The non-transitory computer-readable medium of claim 12 , wherein the method also includes allowing the client to configure task dependencies of the initial onboarding tasks.

14. The non-transitory computer-readable medium of claim 13 , wherein the initial onboarding tasks associated with the freelancer's onboarding dashboard are based on the first score and a group the freelancer is assigned to by the client.

15. A non-transitory computer-readable medium storing instructions that, when executed by a computing device, cause the computing device to perform a method of optimizing performance and minimizing delays within a services exchange medium, the method comprising:

generating a plurality of user interfaces together configured to:

allow a client to create a job post regarding a job and to create a client profile, wherein the job post and the client profile are stored after creation;

allow the client to configure an onboarding dashboard associated with the job, wherein the onboarding dashboard includes a plurality of onboarding tasks and a process flow of the plurality of onboarding tasks;

allow a freelancer to create a freelancer profile, wherein the freelancer profile is stored after creation; and

allow the freelancer to interact with the onboarding dashboard;

communicatively coupling with at least one data store to access the job post, the freelancer profile and the client profile stored therein;

automatically capturing data from the job post, the freelancer profile and the client profile;

depending on a first score derived from the captured data, influencing rigor of onboarding the freelancer, which is reflected in the onboarding dashboard that is generated by the computer server to be personal to the freelancer;

when the first score is below a first threshold, ascertaining the freelancer in a first of two categories without needing to request for input from the freelancer;

only when the first score is not below the first threshold, automatically influencing rigor of the process flow by dynamically integrating additional onboarding tasks into the process flow, wherein data associated with the additional onboarding tasks that are subsequently received are used to support a classification inquiry; and

presenting the user interface for the onboarding dashboard on a viewing device, wherein the onboarding dashboard provides visibility of onboarding progress of the freelancer and pinpoints issues in the onboarding progress, wherein the rules enforce an order of user interactions with the onboarding dashboard such that when a subsequent onboarding task that is dependent on at least one uncompleted onboarding task is activated, a task message for the subsequent onboarding task and reachable from the onboarding dashboard is displayed, wherein the task message displays the at least one uncompleted onboarding task that needs to be completed prior to starting the subsequent onboarding task, and wherein the task message is displayed while the at least one uncompleted onboarding task is not activated.

Assignments (2)
SECURITY INTEREST Recorded Jun 24, 2026
From: UPWORK INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 075067/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2015
From: SONG, SUNNY SUNMIN; DILLER, JONATHAN PAUL
To: UPWORK INC.
Reel/Frame 036137/0537 →
Continuity (4)
Continuation In Part 14628095 · Feb 20, 2015
Provisional Application 62018479 · Jun 27, 2014
Provisional Application 62138911 · Mar 26, 2015
Provisional Application 61942558 · Feb 20, 2014