Algorithm for Automating Operational Process
- or -
Post a project like this$10.0k
- Posted:
- Proposals: 16
- Remote
- #3450068
- OPPORTUNITY
- Expired
Full Stack Developer : PHP| React | Angular | Node.js | IONIC | React Native | Mobile App Development
Shenzhen
15576922796032470380258917033993493710886433247452704885583112562314862448776255937
Description
Experience Level: Expert
Background
A mobile application that sells home services. Our most popular service is cleaning by the hour. Thus far, to deliver this service, our operations staff have had to manually assign cleaners and drivers based on a heuristic, to be discussed below. As can be expected, however, manual allocation does not scale well; we have reached a point where our operations staff spend a considerable amount of time and effort allocating cleaners and drivers. For this reason, we have decided to automate this process.
Below, we describe the home cleaning service, its allocation process, the objective, and the available data. Note that, while we focus on cleaning in this document, there are other services, such as babysitting, that require agent and driver allocation.
The Hourly Cleaning Service
This service is offered in 4- or 8-hour visits. The customer can order a single visit or a multi-visit package, such as weekly visits for a month, for example. The cleaner(s) are delivered between 8am and 10am for the morning shift, and 4pm and 6pm for the evening shift. The minimum lead time for this service is 1 hour; e.g., if a cleaner is available during the evening shift, the customer can place an order for this shift up until 3pm of the same day.
Currently, the client can request a specific cleaner by contacting customer support. However, we plan to add this option in the app soon. Otherwise, the operations team assigns the cleaner(s).
The Current Allocation Heuristic
Each city has several teams. A team consists of drivers and cleaners. Usually, the team has a single driver, but this isn’t a rule. The driver’s van can hold up to 11 cleaners.
Single visits and multi-visit packages are handled differently. Starting with the single visit, we try to assign a cleaner who has previously worked for the customer, if the customer gave a 4+ rating. Otherwise, we assign randomly, based on team/driver coverage and cleaner nationality.
As for multi-visit packages, on the other hand, we assign the same cleaner for all visits. If the client gives the cleaner a low rating, we change the cleaner for the remaining visits.
Note that some cleaners can deliver other types of service as well; e.g., some cleaners also work as babysitters.
The Objectives
w
Given the data that we currently collect, we’d like to develop an algorithm for automating the allocation of drivers and agents. This algorithm should:
1. minimize manual labor in the allocation process,
2. maximize customer satisfaction, measured by agent ratings, and repeat business,
3. optimize routes
With the above in mind, we’d also like a recommendation regarding the additional types of data we should collect to further optimize the allocation process.
Available Data
• Customer location
• Customer order history
• Customer ratings; i.e. the ratings that the customer submitted
• Team geographical coverage
• Driver geographical coverage
• Team assignment history
• Driver assignment history
• Cleaner/agent assignment history
• Agent ratings
• Dispatch and arrival times for jobs (note that we use “visit” and “job” interchangeably)
A mobile application that sells home services. Our most popular service is cleaning by the hour. Thus far, to deliver this service, our operations staff have had to manually assign cleaners and drivers based on a heuristic, to be discussed below. As can be expected, however, manual allocation does not scale well; we have reached a point where our operations staff spend a considerable amount of time and effort allocating cleaners and drivers. For this reason, we have decided to automate this process.
Below, we describe the home cleaning service, its allocation process, the objective, and the available data. Note that, while we focus on cleaning in this document, there are other services, such as babysitting, that require agent and driver allocation.
The Hourly Cleaning Service
This service is offered in 4- or 8-hour visits. The customer can order a single visit or a multi-visit package, such as weekly visits for a month, for example. The cleaner(s) are delivered between 8am and 10am for the morning shift, and 4pm and 6pm for the evening shift. The minimum lead time for this service is 1 hour; e.g., if a cleaner is available during the evening shift, the customer can place an order for this shift up until 3pm of the same day.
Currently, the client can request a specific cleaner by contacting customer support. However, we plan to add this option in the app soon. Otherwise, the operations team assigns the cleaner(s).
The Current Allocation Heuristic
Each city has several teams. A team consists of drivers and cleaners. Usually, the team has a single driver, but this isn’t a rule. The driver’s van can hold up to 11 cleaners.
Single visits and multi-visit packages are handled differently. Starting with the single visit, we try to assign a cleaner who has previously worked for the customer, if the customer gave a 4+ rating. Otherwise, we assign randomly, based on team/driver coverage and cleaner nationality.
As for multi-visit packages, on the other hand, we assign the same cleaner for all visits. If the client gives the cleaner a low rating, we change the cleaner for the remaining visits.
Note that some cleaners can deliver other types of service as well; e.g., some cleaners also work as babysitters.
The Objectives
w
Given the data that we currently collect, we’d like to develop an algorithm for automating the allocation of drivers and agents. This algorithm should:
1. minimize manual labor in the allocation process,
2. maximize customer satisfaction, measured by agent ratings, and repeat business,
3. optimize routes
With the above in mind, we’d also like a recommendation regarding the additional types of data we should collect to further optimize the allocation process.
Available Data
• Customer location
• Customer order history
• Customer ratings; i.e. the ratings that the customer submitted
• Team geographical coverage
• Driver geographical coverage
• Team assignment history
• Driver assignment history
• Cleaner/agent assignment history
• Agent ratings
• Dispatch and arrival times for jobs (note that we use “visit” and “job” interchangeably)
Walid E.
100% (15)Projects Completed
20
Freelancers worked with
19
Projects awarded
19%
Last project
13 Sep 2019
Saudi Arabia
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies