US20200342389A1 - Technician Assignment Interface - Google Patents
Technician Assignment Interface Download PDFInfo
- Publication number
- US20200342389A1 US20200342389A1 US16/928,378 US202016928378A US2020342389A1 US 20200342389 A1 US20200342389 A1 US 20200342389A1 US 202016928378 A US202016928378 A US 202016928378A US 2020342389 A1 US2020342389 A1 US 2020342389A1
- Authority
- US
- United States
- Prior art keywords
- technician
- vehicle service
- vehicle
- job
- technicians
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000008439 repair process Effects 0.000 claims description 49
- 230000006870 function Effects 0.000 claims description 22
- 238000012549 training Methods 0.000 claims description 21
- 238000005065 mining Methods 0.000 claims description 2
- 230000002250 progressing effect Effects 0.000 claims 3
- 238000004891 communication Methods 0.000 description 53
- 230000015654 memory Effects 0.000 description 43
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 239000003921 oil Substances 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 7
- 230000005291 magnetic effect Effects 0.000 description 7
- 208000024891 symptom Diseases 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 5
- 239000010705 motor oil Substances 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000007689 inspection Methods 0.000 description 4
- 230000007257 malfunction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 210000000707 wrist Anatomy 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- ATUOYWHBWRKTHZ-UHFFFAOYSA-N Propane Chemical compound CCC ATUOYWHBWRKTHZ-UHFFFAOYSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- VNWKTOKETHGBQD-UHFFFAOYSA-N methane Chemical compound C VNWKTOKETHGBQD-UHFFFAOYSA-N 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000009530 blood pressure measurement Methods 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 229910017052 cobalt Inorganic materials 0.000 description 1
- 239000010941 cobalt Substances 0.000 description 1
- GUTLYIVDDKVIGB-UHFFFAOYSA-N cobalt atom Chemical compound [Co] GUTLYIVDDKVIGB-UHFFFAOYSA-N 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 239000002803 fossil fuel Substances 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 239000003502 gasoline Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000003345 natural gas Substances 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000001294 propane Substances 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063112—Skill-based matching of a person or a group to a task
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60S—SERVICING, CLEANING, REPAIRING, SUPPORTING, LIFTING, OR MANOEUVRING OF VEHICLES, NOT OTHERWISE PROVIDED FOR
- B60S5/00—Servicing, maintaining, repairing, or refitting of vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/20—Administration of product repair or maintenance
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B7/00—Electrically-operated teaching apparatus or devices working with questions and answers
- G09B7/02—Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
-
- Y04S10/54—
Definitions
- a vehicle owner may notice a change in the performance of a vehicle, prompting the vehicle owner to bring the vehicle to a repair shop to diagnose a problem and potentially repair the vehicle.
- an electronic control module of the vehicle may detect a fault and provide a malfunction indication via an instrument panel of the vehicle. If the vehicle owner notices the indication, the vehicle owner may bring the vehicle to a repair shop for service.
- a repair shop employee may identify one or more service jobs to perform on the vehicle in order to repair the vehicle. For instance, service jobs may be performed by a technician at the repair shop to replace the vehicle's brake pads, fix a leaking tire, or service a vehicle's air conditioning system.
- a method in one example aspect, includes receiving, by a computing device, a plurality of vehicle service jobs to be performed in a given time window. The method further includes receiving, by the computing device, technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs. The method additionally includes determining, by the computing device based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians. The method also includes determining, by the computing device based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each service job of the plurality of vehicle service jobs. The method additionally includes providing, by the computing device for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each service job of the plurality of vehicle service jobs.
- a computing device in another example aspect, includes a display interface, one or more processors, a non-transitory computer readable medium, program instructions stored on the non-transitory computer readable medium.
- the program instructions may be executable by the one or more processors to receive a plurality of vehicle service jobs to be performed in a given time window.
- the program instructions may be further executable by the one or more processors to receive technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs.
- the program instructions may additionally be executable by the one or more processors to determine, based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians.
- the program instructions may also be executable by the one or more processors to determine, based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each service job of the plurality of vehicle service jobs.
- the program instructions may additionally be executable by the one or more processors to provide, for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each service job of the plurality of vehicle service jobs.
- a non-transitory computer readable medium having stored therein instructions executable by one or more processors to cause a computing system to perform functions.
- the functions include receiving a plurality of vehicle service jobs to be performed in a given time window.
- the functions further include receiving technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs.
- the functions additionally include determining, based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians.
- the functions also include determining, based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each service job of the plurality of vehicle service jobs.
- the functions further include providing, for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each service job of the plurality of vehicle service jobs.
- a system in still another aspect, includes means for receiving a plurality of vehicle service jobs to be performed in a given time window.
- the system further includes means for receiving technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs.
- the system additionally includes means for determining, based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians.
- the system also includes means for determining, based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each service job of the plurality of vehicle service jobs.
- the system further includes means for providing, for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each service job of the plurality of vehicle service jobs.
- FIG. 1 illustrates a workflow diagram including several devices, according to example embodiments.
- FIG. 2 illustrates another workflow diagram including several devices, according to example embodiments.
- FIG. 3 is a block diagram of a method, according to example embodiments.
- FIG. 4 illustrates vehicle service jobs, according to example embodiments.
- FIG. 5 is a table of technician performance times, according to example embodiments.
- FIG. 6 illustrates scoring metrics for technicians, according to example embodiments.
- FIG. 7 illustrates a portion of a technician assignment interface, according to example embodiments.
- FIG. 8 illustrates a portion of another technician assignment interface, according to example embodiments.
- FIG. 9 illustrates a portion of an additional technician assignment interface, according to example embodiments.
- FIG. 10 illustrates filtering of technician performance data based on vehicle attributes, according to example embodiments.
- FIG. 11 is a functional block diagram illustrating a computing device used in a computing system that is arranged in accordance with at least some embodiments described herein.
- FIG. 12 is a schematic illustrating a conceptual partial view of a computer program product that includes a computer program for executing a computer process on a computing device in accordance with at least some embodiments described herein.
- a vehicle is a mobile machine that may be used to transport a person, people, or cargo.
- any vehicle described herein may be driven or otherwise guided along a path (e.g., a paved road or otherwise) on land, in water, or in the air or outer space.
- a path e.g., a paved road or otherwise
- any vehicle described herein may be wheeled, tracked, railed, or skied.
- any vehicle described herein may include an automobile, a motorcycle, an all-terrain vehicle (ATV) defined by ANSI/SVIA-1-2007, a snowmobile, a personal watercraft (e.g., a JET SKI® personal watercraft), a light-duty truck, a medium-duty truck, a heavy-duty truck, a semi-tractor, a farm machine, a van (such as a dry or refrigerated van), a tank trailer, a platform trailer, or an automobile carrier.
- ATV all-terrain vehicle
- a snowmobile e.g., a snowmobile
- a personal watercraft e.g., a JET SKI® personal watercraft
- a light-duty truck e.g., a medium-duty truck, a heavy-duty truck, a semi-tractor, a farm machine, a van (such as a dry or refrigerated van), a tank trailer, a platform trailer, or an automobile carrier.
- any vehicle described herein
- any vehicle described herein may include or use any appropriate voltage or current source, such as a battery, an alternator, a fuel cell, and the like, providing any appropriate current or voltage, such as about 12 volts, about 42 volts, and the like.
- any of the vehicles described herein may include or use any desired system or engine. Those systems or engines may include items that use fossil fuels, such as gasoline, natural gas, propane, and the like, electricity, such as that generated by a battery, magneto, fuel cell, solar cell and the like, wind and hybrids or combinations thereof.
- any vehicle described herein may include an electronic control unit (ECU), a data link connector (DLC), and a vehicle communication link that connects the DLC to the ECU.
- ECU electronice control unit
- DLC data link connector
- Repair shops are subject to turnover of repair shop employees due to any of a variety of reasons. As a result, repair shops occasionally have to hire technicians and service advisors that assign service jobs to the technicians. Often times, an existing service advisor at the repair shop is unfamiliar with a newly hired technician, or a newly hired service advisor is unfamiliar with existing technicians. In such situations, the service advisor may not be equipped to efficiently assign service jobs to technicians. Moreover, most service advisors are not afforded the time to review records pertaining to prior service jobs to learn how to best assign service jobs.
- a computing device may receive a number of different types of vehicle service jobs to be performed within a given time window, such as a day or week.
- Example vehicle service jobs include repair jobs, scheduled maintenance jobs, preventative maintenance jobs, and vehicle overhaul jobs.
- Vehicle service jobs to be performed at a repair shop may be identified in a number of different manners.
- a service job for a particular vehicle may be identified by a computing device based on vehicle symptom information reported by a vehicle owner and/or an automated system of the vehicle.
- the symptom information could be “engine hesitates on takeoff” or “engine is overheating.”
- the symptom information could include one or more diagnostic trouble codes (DTCs).
- DTC diagnostic trouble codes
- a DTC may be a generic or manufacturer-specific code that is used to identify vehicle problems, such as “Throttle/Petal Position Sensor/Switch Malfunction” or “Transmission Control System Malfunction.”
- the symptom information can include an indication that a malfunction indicator lamp of the vehicle is illuminated.
- a user interface may be displayed to a service writer at a repair shop to suggest how to best assign service jobs to technicians. More specifically, performance data for individual technicians in performing vehicle service jobs may be tracked and stored. When a particular vehicle service job then needs to be performed on another vehicle, the performance data may be used to provide a service writer with an intelligent means of selecting a technician.
- the technician performance data may include an average job completion time across a number of performances of a particular service job.
- the technician performance data may include a frequency of performance of a particular service job.
- the technician performance data may include “comeback rates,” rates of return of vehicles within a threshold amount of time following past performances of a particular service job which may indicate that the particular service job was likely performed incorrectly.
- the technician performance data may be used to generate scoring metrics corresponding to types of vehicle service jobs for each technician within a group of technicians.
- a scoring metric may be based on a single kind of technician performance data. For instance, a scoring metric for a service job may be determined based on a particular technician's average completion time of the service job relative to an expected completion time.
- multiple different types of technician performance data may be combined (e.g., assigned different weights as part of a scoring formula) to generate the scoring metrics. For example, a particular technician having a good average completion time but a high comeback rate may receive a lower scoring metric than another technician having both a good average completion time and a low comeback rate.
- only service jobs performed on vehicles sharing particular attributes with a current vehicle to be serviced may be considered, such as a particular year, make, model, and engine type (YMME).
- the particular attributes may include a particular year, make, and model (YMM), or a particular year, make, model, engine type, and system (YMMES).
- YMM particular year, make, and model
- YMMES particular year, make, model, engine type, and system
- a service writer may be provided with an option to select the particular vehicle attributes to apply as a filter to determine which past technician performances of service jobs will be considered to determine scoring metrics.
- only completed service jobs within a certain recent time window may be considered in determining scoring metrics.
- performance data for more recently completed service jobs may be weighted more heavily than service jobs that were completed longer ago.
- the scoring metrics may be used to generate suggested technician assignments which map individual technicians to corresponding vehicle service jobs.
- the suggested technician assignments may be displayed as part of a user interface that allows for user confirmation or override.
- instructions may be sent to computing devices associated with each technician (e.g., a vehicle diagnostic device corresponding to each technician) relaying each technician's assigned service jobs.
- the instructions sent to a technician's diagnostic device may indicate which vehicle service jobs to perform on which vehicles, and may optionally also indicate scheduled corresponding time slots for each of the service jobs.
- the technician's diagnostic device may be automatically configured based on the instructions to assist the technician in performing assigned service jobs.
- This configuration process may include one or more electronic communications from the technician's diagnostic device to and/or from the vehicle being serviced. For instance, relevant diagnostic data may be collected by the diagnostic device from the vehicle or electronic instructions may be sent from the diagnostic device to the vehicle to perform a functional test on the vehicle that is relevant for an assigned service job.
- suggested technician assignments may be generated to maximize overall shop efficiency and/or profitability.
- an expected profitability metric may be determined based on a ratio of the expected total completion time of all service jobs given a particular set of technician assignments relative to a target total completion time.
- the target total completion time may be a sum of target completion times for each of the service jobs.
- the target completion time for an individual service job may be based on a standard flat rate charge for the service job.
- the target completion time may be based on an accumulation (e.g., an average) of past completion times of the service job (e.g., a national average, an average for a particular region, or an average for a particular shop).
- certain technician assignments may be suggested for the purpose of training technicians on certain types of jobs rather than maximizing overall efficiency and/or profitability.
- a training reassignment may be identified and displayed that assigns a service job to a less efficient technician (e.g., having a lower average completion time or other scoring metric) as long as all the service jobs can still be completed in a given time window.
- a training reassignment may be suggested as long as a certain level of overall expected efficiency and/or target profitability level across the shop is maintained.
- a tiered approach may be used so that a technician that typically performs simple jobs like oil changes does not get moved up directly to difficult jobs like transmission overhauls.
- the highest scoring available technician may be assigned to each service job.
- more training assignments may be allowed so that extra time in the schedule may be leveraged for training.
- suggested technician assignments may be determined that maximize overall technician utilization time while ensuring that all jobs are expected to be completed within a given time window.
- service jobs may be balanced according to difficulty levels so that each individual technician does not get a disproportionate number of difficult service jobs in a given time period.
- technicians may be precluded from being assigned certain service jobs if their comeback rates cross a certain threshold percentage. Scoring metrics and technician performance data may be used to generate suggested technician assignments in other ways as well.
- a technician assignment interface may provide a ranking of technicians according to their scoring metrics for a particular service job. For instance, a dropdown menu may be provided when a user clicks on a particular service job to be assigned. The dropdown menu may list available technicians in order based on their scoring metrics for the particular service job in order to facilitate assignment or reassignment of a technician to the service job. Upon selection of a particular technician, an expected profitability metric may be updated within the user interface to provide an indication of the effect of a technician assignment or reassignment on overall shop profitability.
- a remote server may aggregate technician performance data received from individual technician diagnostic devices over time. The server may then generate suggested technician assignments for future service jobs based on the technician performance data. Upon confirmation by a service writer, the server may then communicate the assignments to technician diagnostic devices, which may be the same devices or different devices from the ones that provided technician performance data to the server. In some examples, the diagnostic devices may display steps of the service jobs as they are performed and keep track of the pace of performance of individual technicians. This timing information may be used by the diagnostic devices both to help keep technicians on pace to complete service jobs on time, and also to report the completion times to the server to use in future technician assignments.
- a technician may view a service job (or steps of a service job) using a variety of computing devices, including touchpad devices, laptops, wearable computing devices (e.g., glasses, goggles, wrist displays), and other types of portable displays.
- computing devices including touchpad devices, laptops, wearable computing devices (e.g., glasses, goggles, wrist displays), and other types of portable displays.
- a technician assignment interface may dynamically display current job progress of individual technicians.
- the assignment interface may suggest reassignments on the fly. For instance, a job may be reassigned from a particular technician that is behind schedule to another available technician. Past technician performance data and scoring metrics may be used to suggest the technician to handle the reassigned job as well. An expected profitability metric for the shop may be updated based on the suggested reassignment.
- a technician assignment interface may also display suggested starting and ending times for individual vehicle service jobs (e.g., a shop calendar for a day or for a week).
- the starting and/or ending times of jobs may be dynamically adjusted in addition to or instead of technician assignments. For instance, adjustments may be made based on the current pace of performance of individual technicians in their currently assigned jobs. Adjustments may also be made based on other factors, such as availability of technicians with particular skill sets or availability of shop equipment to perform certain service jobs.
- the technician assignment interface may suggest to reschedule a service job to a time outside of a currently displayed time window to improve expected profitability of a shop. For instance, a suggested rescheduling may be displayed when an expected profitability metric is below a target profitability level for the shop.
- FIG. 1 illustrates an example workflow diagram including several devices. More specifically, an example system may include a client device 122 which transmits technician performance data 144 over a communication network 114 to a computing device 102 .
- the client device 122 can represent any type of mobile or stationary computing device.
- the client device 122 can be a vehicle diagnostic device that is connectable (wired or wirelessly) to a vehicle data bus or a vehicle circuit to allow for communication with a vehicle.
- the example is not meant to be limiting.
- the client device 122 can be a laptop computer, tablet device, cellular phone, wearable computing device, including an HMD, glasses, goggles, a smartwatch or other wrist display, or another type of computing device.
- the computing device 102 can similarly be any type of computing device.
- the computing device 102 can be a server or a component of a server that is located remotely from the client device 122 (e.g., in a cloud computing environment).
- the computing device 102 can be a desktop computer, workstation, or other type of computing device configured to operate within a client-server architecture.
- the computing device 102 can be a computing device that is located at a repair shop.
- the computing device 102 may be a computing device used by a repair shop to manage repair orders and/or shop equipment that is used to service vehicles.
- the computing device 102 may be connectable (wired or wirelessly) to a vehicle data bus or a vehicle circuit to allow for communication with one or more vehicles. Other configurations are also contemplated.
- the computing device 102 can include a memory 104 and a processor 106 .
- the client device 122 can also include a memory 124 and a processor 126 .
- the processor 106 and the processor 126 can be any type of processors, such as a microprocessor, digital signal processor, multicore processor, etc., coupled to the memory 104 and memory 124 respectively.
- the memory 104 and the memory 124 can be any type of memories, such as volatile memory like random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), or non-volatile memory like read-only memory (ROM), flash memory, magnetic or optical disks, digital versatile disk read-only memory (DVD-ROM), or compact-disc read-only memory (CD-ROM), among other devices used to store data or programs on a temporary or permanent basis.
- volatile memory like random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), or non-volatile memory like read-only memory (ROM), flash memory, magnetic or optical disks, digital versatile disk read-only memory (DVD-ROM), or compact-disc read-only memory (CD-ROM), among other devices used to store data or programs on a temporary or permanent basis.
- RAM random access memory
- DRAM dynamic random access memory
- SRAM static random access memory
- non-volatile memory like read-only memory (ROM), flash memory, magnetic or optical disks, digital versatile disk
- the computing device 102 can include a communication interface 108 and the client device 122 can include a communication interface 128 .
- the communication interface 108 and the communication interface 128 can facilitate communication with the communication network 114 for the computing device 102 and the client device 122 according to one or more wired or wireless communication standards or protocols.
- the communication interface 108 and the communication interface 128 can facilitate data communication over one or more network links.
- the communication interface 108 and/or the communication interface 128 can include a transmitter to transmit data and a receiver to receive data.
- the communication interface 108 and/or the communication interface 128 can include a transceiver configured to transmit and receive data.
- the client device 122 may use communication interface 108 to communicate technician performance data 144 over communication network 114 to computing device 102 .
- technician performance data 144 may be communicated to computing device 102 each time a technician completes a service job.
- the technician performance data 144 may include an identifier for a technician that used client device 122 while performing a vehicle service job along with data identifying the type of job performed, the amount of time taken by the technician to complete the job, and/or attributes of the vehicle being serviced.
- technician performance data 144 may instead be communicated by client device 122 to computing device 102 periodically (e.g., at the end of each hour, business day, or week).
- the client device 122 may also optionally include a display.
- the display could be any type of electronic visual display capable of presenting information visually to a technician.
- the display could be capable of presenting visual information in a variety of ways, including text, two-dimensional visual images and/or three-dimensional visual images.
- the display may be capable of presenting information to a technician in other ways (e.g., audio, haptics) as well or instead.
- Example displays include computer monitors, touchscreens, HMD's, or wrist displays. Other types of electronic displays may also be used.
- the client device 122 may display steps of a vehicle service job along with information to help a technician complete each of the steps. As the service job is performed, the client device 122 may record data about the specific instance of performance of the vehicle service job by the technician. This data may be transmitted as part of technician performance data 144 to computing device 102 during or after performance of the vehicle service job by the technician.
- computing device 102 may receive and aggregate technician performance data for a number of different technicians each using a different client device. For instance, over the course of a day, computing device 102 may receive technician performance data for ten different technicians using ten corresponding vehicle diagnostic devices in the performance of fifty vehicle service jobs.
- FIG. 2 illustrates another example workflow diagram including several devices. More specifically, an example system may include a computing device 202 which transmits assigned service job(s) 244 over a communication network 214 to a client device 222 . Assigned service job(s) 244 may be one or more assigned vehicle service jobs for a technician that is associated with client device 222 . In some examples, assigned service job(s) 244 may be sent to client device 222 after user confirmation of a suggested technician assignment that is displayed by computing device 202 .
- computing device 202 may be the same device as computing device 102 illustrated in FIG. 1 . That is, the same computing device may receive and aggregate technician performance data from one or more client devices, display suggested technician assignments based on the technician performance data for one or more vehicle service jobs to be performed, and ultimately transmit technician assignments to one or more client devices. In such examples, computing device 202 may be located at a vehicle repair shop or it may be located remote from a vehicle repair shop.
- computing device 202 illustrated in FIG. 2 may be a separate device from computing device 102 illustrated in FIG. 1 .
- computing device 102 may be a remote server which receives and aggregates technician performance data.
- Computing device 202 may be a workstation located at a repair shop with a user interface that is accessible by a service writer.
- computing device 202 may receive suggested technician assignments from computing device 102 .
- Computing device 202 may then display the suggested technician assignments and later transmit assigned service jobs to one or more client devices.
- computing device 202 may receive aggregated technician performance data from computing device 102 rather than suggested technician assignments for particular service jobs. In such examples, computing device 202 may then generate suggested technician assignments for display based on the aggregated technician performance data.
- Computing device 202 may include memory 204 , processor 206 , communication interface 208 , and display interface 210 .
- Memory 204 may be any memory as described previously in reference to memory 104 of FIG. 1 .
- Processor 206 may be any processor as described previously in reference to processor 106 of FIG. 1 .
- Communication interface 208 may be any communication interface as described previously in reference to communication interface 108 of FIG. 1 .
- Display interface 210 could be any type of electronic visual display capable of presenting information visually to a service writer.
- display interface 210 may be a computer monitor of a workstation located at a repair shop.
- display interface 210 may be a computer monitor of a workstation that is remote from the repair shop.
- display interface 210 may be a touchscreen of a portable computing device, such as a tablet device. More specifically, display interface 210 may be a heavy-duty tablet device with a graphical user interface (GUI) and a touchpad for communicating information from a repair shop to a server and/or to other computing devices at the shop.
- GUI graphical user interface
- display interface 210 may receive user input from one or more separate input devices, such as a keyboard or computer mouse.
- communication network 214 of FIG. 2 may be the same as communication network 114 of FIG. 1 .
- communication network 214 may be a separate network or subnetwork.
- Communication network 214 may include any of the types of communication networks described in reference to communication network 114 of FIG. 1 .
- client device 222 of FIG. 2 may be the same as client device 122 of FIG. 1 . That is, client device 222 may both provide technician performance data and receive assigned service jobs. In such examples, client device 222 may be assigned to a single technician during both a performance data generation phase in which performance data for the technician is generated and an assignment phase in which one or more new vehicle service jobs are assigned to the technician.
- client device 222 of FIG. 2 may be different from client device 122 of FIG. 1 . That is, a different client device may be used to receive a next assignment for a technician than the client device used to generate past performance data for the technician. In such examples, client device 222 may be the same type of device as client device 122 , or client device 222 may be a different type of device from client device 122 .
- Client device 222 may include memory 224 , processor 226 , and communication interface 228 .
- Memory 224 may be any memory as described previously in reference to memory 124 of FIG. 1 .
- Processor 226 may be any processor as described previously in reference to processor 126 of FIG. 1 .
- Communication interface 228 may be any communication interface as described previously in reference to communication interface 128 of FIG. 1 .
- a repair order comprises an archive of information pertaining to at least one vehicle job (or more simply “job”). Each job can be identified on a separate job line of the RO.
- An RO can indicate a job status such as prospective, in process, on hold (after being in process), completed, or comeback. The come-back status can represent a job that was considered to be complete until the vehicle was brought back to the repair shop because the job was not performed to the satisfaction of some person, such as a vehicle owner, or for some other reason.
- the come-back status may be defined as a return of a vehicle within a fixed time window (e.g., one month or three months) with the same or a similar problem as initially serviced.
- a job line can comprise one or more rows of text.
- a job line can comprise graphical images such as an outline of a vehicle. The graphical image can be marked to indicate information about a job.
- a job identified by an RO can comprise explicit job information that indicates a particular procedure that is to be performed, is being performed, or was performed to a vehicle, such as rotate vehicle tires, change engine oil, or replace air filter.
- a job identified by an RO can comprise implicit job information such as a complaint or symptom that pertains to a vehicle, such as “car does not start,” “check engine light on,” or “oil leaking.”
- a job with implicit job information can be revised to include explicit job information that identifies a particular procedure performed for the job.
- a job identified by an RO can comprise text representing actual language used by a person requesting performance of the job. Additionally or alternatively, a job identified by an RO can comprise text based on an interpretation of the language used by the person requesting performance of the job. A person, such as a service advisor, or a computing device can perform the interpretation.
- a job identified by an RO can comprise a job performed by or on behalf of a vehicle repair shop that generates the RO.
- the job can be performed by a technician that is employed by the vehicle repair shop.
- the job can be performed by a third party (e.g., a vehicle glass specialist) commissioned by the vehicle repair shop to perform the job identified by an RO.
- An RO can comprise other data within or outside of a job line.
- the other RO data can comprise, for example, data classifiable in at least one of the following categories of data: repair shop identification data, vehicle owner identification data, service advisor identification data, vehicle technician identification data, vehicle identification data, repair parts data, specification data, labor data, estimate data, financial data, technician notes regarding a job performed by the technician, or miscellaneous RO data.
- the repair shop identification data can comprise, for example, data indicating a name, a location, a telephone number, a physical address, an e-mail address, or a website URL of a repair shop where performance of the job occurred.
- the identification data of a person such as the vehicle owner, service advisor, or technician, can comprise at least a part of the person's name, a numeric identifier, or an alpha-numeric identifier.
- the vehicle owner identification data can comprise a telephone number, a physical address, or an e-mail address of the vehicle owner.
- the service advisor or technician identification data can comprise an employee number assigned by the vehicle repair shop.
- the vehicle identification data can comprise a vehicle identification number of a particular vehicle or data indicating some other characteristics of the particular vehicle, such as the year, make, and model of the particular vehicle or a number on a license plate attached to the vehicle.
- the repair parts data can comprise data that indicates, for example, a brand, quantity, amount, or price of a repair part or supply, such as a fluid, used to carry out the job.
- the specification data can comprise data that indicates, for example, capacities of a particular vehicle or torque specifications for the particular vehicle.
- the labor data can comprise data that indicates, for example, a labor rate or flagged hours. The labor rate can be associated with the vehicle repair shop or the technician assigned to the job. Flagged hours can indicate actual times when the job was performed, such as 8:15 AM to 8:45 AM.
- the estimate data can comprise cost and time estimates for carrying out each job on the RO.
- the estimate data can comprise one or more estimates, such as an original estimate and a revised estimate.
- the financial data can comprise, for example, a financial summary of costs associated with the job(s) indicated on the RO, labor rate information, or tax information.
- the miscellaneous RO data can comprise, for example, a calendar date, an RO number, or a vehicle odometer reading.
- An RO can be archived on a variety of media, such as any of a variety of different types of paper, or within a variety of media, such as any of a variety of different non-transitory computer-readable memories.
- An RO stored in a computer-readable memory can comprise metadata that identifies the category of one or more data elements on RO.
- the data to be archived as part of an RO can be received in various ways.
- a service advisor can receive information to archive as part of an RO during a conversation in person or over the telephone, by an inspection, such as a visual inspection, or in writing.
- the service advisor can archive the received information by, for example, recording the information on a paper RO or entering the information into a computing device via a computer input device, such as a keyboard or mouse.
- the computing device can store the received information within a memory device as part of an RO.
- the information of an RO can comprise information a computing device receives via a vehicle data message generated by the vehicle.
- the information within a vehicle data message can, for example, comprise a vehicle identification number, an odometer reading, a diagnostic trouble code, a vehicle measurement performed by a component on a vehicle, or a parameter identifier (PID) and PID value.
- the vehicle measurement can, for example, comprise a tire pressure measurement or a tire temperature measurement.
- the information of an RO can comprise information a computing device receives via a message generated by a service tool used to perform the job.
- the service tool can comprise a wheel alignment machine that generates a message with pre-alignment wheel measurements and post-alignment wheel measurements.
- the service tool can comprise a vehicle inspection machine that generates measurements during an inspection of the vehicle as the vehicles passes onto or in proximity of the vehicle inspection machine.
- the information of an RO can comprise information a computing device receives via a phone call.
- the computing device can receive audio or user selections via a touch-tone selection system during a phone call, convert the received audio and/or user selections into information to be recorded as part of an RO, and store the information in the memory.
- the audio or user selections can represent any data described herein as being part of an RO.
- the information of an RO can comprise information a computing device receives from a remote computing device running an application for inputting RO information.
- the remote computing device can comprise a smartphone, tablet device, a desktop or laptop computer or some other computing device.
- the information received from the remote computing device can comprise any data described herein as being part of an RO.
- the information of an RO can comprise data indicating performance of a job identified on the RO is declined or approved.
- the data indicating declining or approving performance of a job can comprise an electronic signature of a person that declined or approved performance of the job.
- An RO can be revised.
- an RO may initially identify a complaint, but not a cause of the complaint or a correction to the vehicle made during performance of a job. After performance of the job, the RO may be revised to indicate the cause and the complaint.
- an RO generated with an implicit job “oil leaking” can be revised to reflect what job was carried out on a vehicle. For instance, the RO can be revised to state “oil leaking, looked for engine for oil leaks, replaced main seal.”
- the RO can be revised based on at least one of a taxonomy or an ontology so that the RO recites predefined terms and phrases for jobs, vehicle components, vehicle component locations or other information.
- the initial RO can be revised to state, “Customer states vehicle is leaking oil. Technician inspected vehicle for oil leaks. Technician removed and replaced rear main bearing engine oil seal. Technician confirmed vehicle is not leaking oil.”
- An RO can include an initial number of job lines.
- the RO can be revised to include a different number of job lines.
- the different number of job lines can be based on a vehicle technician recommending performance of some additional job not listed among the initial number of job lines.
- the additional job can be identified on a job line added by revising the RO.
- FIG. 3 is a block diagram of an example method 300 for providing a technician assignment interface for display.
- Method 300 shown in FIG. 3 presents an embodiment of a method that could be used or implemented by computing device 102 of FIG. 1 , for example, or by components of computing device 102 .
- method 300 could be used or implemented by computing device 202 of FIG. 2 or by components of computing device 202 .
- method 300 could be used or implemented by any of a variety of computing devices.
- Method 300 can include one or more operations, functions, or actions as illustrated by one or more of blocks 302 - 310 . Although the blocks are illustrated in a sequential order, these blocks can also be performed in parallel, and/or in a different order than those described herein. Also, the various blocks can be combined into fewer blocks, divided into additional blocks, and/or removed based upon the desired implementation.
- each block can represent a module, a segment, or a portion of program code, which includes one or more instructions executable by a processor or computing device for implementing specific logical functions or steps in the process.
- the program code can be stored on any type of memory or computer-readable medium, for example, such as a storage device including a disk or hard drive.
- the computer-readable medium can include non-transitory computer-readable medium, for example, such as computer-readable media that stores data for short periods of time like register memory, processor cache and random access memory (RAM).
- the computer-readable medium can also include non-transitory media, such as secondary or persistent long term storage, like read only memory (ROM), optical or magnetic disks, compact-disc read only memory (CD-ROM), for example.
- the computer-readable medium can also be any other volatile or non-volatile storage systems.
- the computer-readable medium can be considered a computer-readable storage medium, for example, or a tangible storage device.
- each block in FIG. 3 can represent circuitry that is wired to perform the specific logical functions in the process.
- the method 300 includes receiving a plurality of vehicle service jobs to be performed within a given time window.
- one or more of the vehicle service jobs may be received via a user interface presented to a service writer at a vehicle repair shop.
- a service writer may input service jobs to perform based on symptoms associated with vehicles to be serviced.
- one or more of the vehicle service jobs may be generated by a computing device.
- the service jobs to be performed may be received at different times, or they may be received all at once.
- the time window could be any amount of time, such as a business day or week.
- FIG. 4 illustrates example vehicle service jobs. More specifically, a first vehicle to be serviced may have vehicle attributes 402 , including a year (1997), a make (Ford), and model (Crown Victoria). A first service job 404 may be received for the vehicle that involves replacing an engine thermostat of the vehicle. The first service job 404 may have a target completion time 406 of 60 minutes. In some cases, the target completion time 406 may be based on a fixed billing rate for the first service job 404 . For instance, it may be expected that a customer will be billed for one hour of technician time to replace an engine thermostat.
- a user interface 400 may be presented to a technician assigned to service the vehicle.
- the user interface 400 could be an interface of a vehicle diagnostic device.
- the user interface 400 may display information about one or more vehicle service jobs, such as vehicle attributes 402 , first service job 404 to perform on the vehicle, and target completion time 406 for the first service job 404 .
- a second vehicle to be serviced may have vehicle attributes 412 , including a year (2007), a make (Chevy), and model (Cobalt).
- a second service job 414 may be received for the second vehicle that involves changing the engine oil and filter of the second vehicle.
- the second service job 414 may have a target completion time 416 of 15 minutes.
- third service job 418 may be received for the second vehicle that involves replacing the battery of the second vehicle.
- the third service job 418 may have a target completion time 420 of 30 minutes.
- a user interface 410 may be presented to a technician assigned to service the second vehicle.
- multiple service jobs may be performed on a single vehicle.
- suggested technician assignments may be generated so that a single technician is assigned to perform all of the service jobs on a given vehicle.
- suggested technician assignments may be generated so that multiple technicians are assigned to perform different service jobs on a given vehicle. For instance, second service job 414 may be assigned to one technician, and third service job 418 may be assigned to a different technician.
- the method 300 further includes receiving technician performance data for a plurality of technicians. More specifically, technician performance data for a technician may be information about past performances of one or more of the vehicle service jobs by the technician.
- the technician performance data may be generated by mining ROs associated with individual technicians.
- the technician performance data may include information aggregated from large numbers (e.g., hundreds or thousands) of ROs.
- the technician performance data may be received at or around the time that previous vehicle service jobs were completed.
- the technician performance data may be stored (e.g., in a technician performance database). Portions of the technician performance data may then be retrieved (e.g., for a particular subset of technicians and a particular subset of vehicle service jobs) in order to generate a new set of technician assignments.
- the technician performance data may include the number of performances of a vehicle service job within a predetermined amount of time. For instance, the technician performance data may indicate that a technician repaired twenty-five flat tires within the past year. In further examples, the technician performance data may include completion times for particular vehicle service jobs. In additional examples, the technician performance data may include comeback rates indicating that service jobs may not have been performed properly. In particular, a comeback rate may be a rate of return of vehicles having the same or similar problems as initially serviced within a certain time window (e.g., one month or three months). The technician performance data may include a combination of different types of data.
- FIG. 5 is an example table of technician performance times. More specifically, table 500 includes performance times in minutes for three technicians in the performance of three different vehicle service jobs.
- Job 1 may be engine thermostat replacement.
- Technician 1 may have completed three engine thermostat replacements in the times shown in table 500
- Technician 2 may have completed five engine thermostat replacements in the times shown
- Technician 3 may have completed three engine thermostat replacements in the times shown.
- Job 2 may be changing the engine oil and filter.
- Technician 1 may have completed Job 2 six times as shown in table 500
- Technician 2 may have completed Job 2 four times
- Technician 3 may have completed Job 2 six times.
- Job 3 may be battery replacement.
- Technician 1 may have completed Job 3 four times as shown in table 500 , Technician 2 may not have performed Job 3 at all, and Technician 3 may have completed Job 3 five times as shown.
- the performance data shown in table 500 may have been aggregated over time as vehicle service jobs were performed. For instance, the data may all be stored in a technician performance database, and then later retrieved to generate scoring metrics. Additionally, the data illustrated by table 500 may be stored in any of a number of different possible data structures, including an array, a matrix, or a tree. In further examples, multiple tables may be stored, each representing a separate vehicle type, such as a separate vehicle year, make, and model. A specific table may be chosen based on the type of vehicle to be serviced in order to obtain the most relevant performance data.
- the method 300 further includes determining scoring metrics corresponding to vehicle service jobs for each technician. More specifically, the technician performance data may be used to generate a scoring metric on a given vehicle service job to be performed for each of a group of available technicians.
- a scoring metric for a technician on a particular vehicle service job may be indicative of the technician's aptitude in performing the particular vehicle service job given the technician's past performances of the particular vehicle service job.
- the scoring metric may be determined by combining (e.g., averaging) data across a number of past performances of the particular vehicle service job.
- the scoring metrics may be determined based only on completion times for past performances of the vehicle service jobs. For instance, a scoring metric may be an average completion time based on a mathematical average of past completion times. In further examples, a scoring metric may be based on a weighted average of past completion times. For instance, more recent performances of the service jobs may be weighted more heavily. In a further example, a scoring metric may be based on a ratio of an average of past completion times (weighted or not) relative to a target completion time or baseline completion time.
- a scoring metric may be based on a frequency of performance of a vehicle service job. For instance, a technician having performed a particular vehicle service job five times a week for the past six months may receive a higher scoring metric than another technician that only performed the particular vehicle service job once a week. In additional examples, average completion time and frequency of performance may both be factors in generating a scoring metric.
- a scoring metric may be based on a comeback rate of vehicles following past performances of a vehicle service job.
- average completion times and comeback rates may both be factors in generating a scoring metric.
- a scoring metric may first be determined based on average completion time and then adjusted down for any vehicle comebacks that may indicate unsuccessful performances of the vehicle service job.
- a default scoring metric may be determined for a technician when no past performance data is available for the technician on a given vehicle service job. In some examples, the default scoring metric may simply be the lowest possible scoring metric. In other examples, the default scoring metric may be a predetermined value associated with average or expected proficiency. In such examples, a default scoring metric for a technician may later be adjusted upwards or downwards when performance data becomes available. In further examples, scoring metrics for technicians on vehicle service jobs may be periodically updated for technicians as soon as more technician performance data becomes available. In such examples, precomputed scoring metrics may be retrieved when new vehicle service jobs to be assigned are received.
- FIG. 6 illustrates example scoring metrics for technicians. More specifically, FIG. 6 illustrates scoring metrics determined based on the technician performance data from table 500 of FIG. 5 . In particular, three scoring metrics are generated for each technician corresponding to the three vehicle service jobs.
- table 602 shows scoring metrics for the three technicians on Job 1 (thermostat replacement).
- average completion times may be determined for each technician by averaging the completion times for each past performance of Job 1 by the technician.
- a scoring metric is then generated based on a ratio of the target completion time for Job 1 to a technician's average completion time. Accordingly, a scoring metric above 1.00 may indicate an above average technician (or more efficient than average technician) for thermostat replacement, while a scoring metric below 1.00 may indicate a below average technician.
- Technician 2 has the highest scoring metric for Job 1 and may be the preferred technician to handle additional performances of Job 1.
- table 604 shows scoring metrics for the three technicians on Job 2 (changing the engine oil and filter).
- the scoring metrics may be computed in a similar manner as described in reference to table 602 .
- Technician 1 has the highest scoring metric for Job 2 and may be the preferred technician to handle additional performances of Job 2.
- table 606 shows scoring metrics for the three technicians on Job 3 (battery replacement).
- the scoring metrics may be computed in a similar manner as described in reference to table 602 .
- Technician 3 has the highest scoring metric for Job 3 and may be the preferred technician to handle additional performances of Job 3.
- Technician 2 is a assigned a score of 0.00 because no performance data is available for Technician 2 on Job 3.
- the method 300 further includes determining suggested assignments of technicians to service jobs. More specifically, a set of suggested technician assignments may be generated that maps one technician to each service job to be performed. In some examples, the highest scoring available technician may be assigned to each service job. In further examples, certain technicians may be assigned to perform multiple service jobs while other technicians may not be assigned any service jobs.
- a set of suggested technician assignments may be determined to maximize overall shop profitability or efficiency. For instance, the suggested assignments may be determined to minimize total expected completion time across all service jobs based on the technician performance data.
- one or more technician assignments may be suggested for the purpose of training a technician rather than selecting the highest scoring available technician.
- a lower scoring technician may be assigned the service job in an effort to improve the proficiency of the lower scoring technician.
- training assignments may only be generated when there is extra time available in a schedule (e.g., a slow day at a repair shop) so that overall shop efficiency is not affected or not affected by more than a threshold amount.
- the method 300 further includes providing a technician assignment interface for presentation on a display.
- the technician assignment interface may be a user interface displayed on a computing device operated by a service writer, shop manager, or other individual in charge of confirming technician assignments.
- the technician assignment interface may show the suggested technician assignments for each service job to be performed.
- the technician assignment interface may also show suggested time slots (e.g., start and stop times) for each service job.
- the technician assignment interface may function as a shop calendar for a day or week that shows each technician's scheduled service jobs.
- a separate computing device may provide equipment availability updates indicative of service equipment availability. Corresponding time slots for service jobs may be determined based on the equipment availability updates.
- a technician assignment interface may include an option to confirm displayed suggested technician assignments.
- a computing device may provide the respective assignments to each technician. For instance, the computing device may transmit to individual diagnostic devices corresponding to each technician instructions indicating to display the steps of vehicle service jobs assigned to the technician.
- FIG. 7 illustrates a portion of an example technician assignment interface. More specifically, display 700 may show an assignment window 702 that shows suggested technician assignments within a given time window for a repair shop. As illustrated, a suggested set of technician assignments may include assignment of Job 1 to Technician 2, Job 2 to Technician 1, and Job 3 to Technician 3. The assignments may be determined to assign the highest scoring technician on each service job to perform the service job.
- the display 700 may additionally show a total target completion time 704 , a total expected completion time 706 , and an expected profitability metric 708 .
- the total target completion time 704 may be determined by adding together the target completion times for each of Job 1, Job 2, and Job 3.
- the total expected completion time 706 may be determined by adding together the average completion time of Technician 2 on Job 1, the average completion time of Technician 1 on Job 2, and the average completion time of Technician 3 on Job 3.
- the expected profitability 708 may be determined by computing a ratio of the total expected completion time 706 to the total target completion time 704 .
- the expected profitability 708 of 125% may indicate that the service jobs are expected to be completed in less time than is budgeted for all of the service jobs together.
- the total expected completion time 706 and the expected profitability 708 are based on the displayed suggested assignments.
- the suggested assignments are subject to manual override before being sent to the technicians.
- the total expected completion time 706 and/or the displayed expected profitability metric 708 may be modified on display 700 to reflect the new assignment.
- the effects of manual overrides on profitability may be tracked and later indicated on a technician assignment interface.
- the actual shop profitability after a manual override may be determined and compared to the expected profitability if the suggested technician assignments had been followed.
- a representation of this comparison may be displayed to provide a service writer with an indication of how past manual overrides have affected profitability.
- the comparison may be determined and displayed for a particular type of technician assignment when a manual override is attempted. For instance, the comparison may indicate that past manual overrides of technician assignments for a particular type of service job have resulted in performance times that were 15% worse than expected for the suggested assignments.
- a suggested set of technician assignments may be determined and displayed to maximize expected shop profitability or efficiency. If there is available time within the schedule (where one or more technicians are underutilized), one or more suggested training reassignments may be displayed to reassign service jobs to lower scoring or less experienced technicians. In some examples, a training reassignment may only be made if specifically confirmed with user input through a user interface.
- a suggested set of technician assignments may be determined to maximize technician utilization. For instance, based on expected job completion times of technicians on corresponding service jobs, assignments may be determined that maximize the total percentage of time that technicians are expected to be busy performing service jobs.
- a suggested set of technician assignments may be determined to balance difficult service jobs across technicians.
- each service job may have a predetermined difficulty level.
- job difficulty levels may be determined by a computing device based on performance data. For instance, a service job in which technicians regularly fail to meet the target completion time or book time may be considered a more difficult service job than one which technicians usually complete on time or ahead of time.
- predicted job completion days and/or times may additionally be provided to customers.
- a predicted completion day and time for a given service job may be electronically sent to a customer's phone.
- the predicted completion day and time for the job may be displayed within a technician assignment interface at the shop.
- a predicted job completion day and/or time may be determined probabilistically based on technician performance data.
- a service job may have a book time of ten hours, but may be assigned to a technician who typically performs the job within six hours.
- the average past completion time of the service job by the particular technician may be used both to determine when to schedule the service job within a shop calendar and to provide a predicted job completion time to a customer. Accordingly, a system may consider shop load as well as technician performance metrics to promptly assign and schedule an incoming service job, and to provide a customer with an expected vehicle pickup time.
- predicted work hours and/or pay rates may be provided to technicians. For example, once a particular set of assignments for a technician is generated, the technician's past performance data may be used to generate expected working hours for the technician. The technician may also be provided with the total book time for the service jobs relative to the expected performance time. In some examples, the technician may be paid based on the total book time. Accordingly, the technician may be provided with an indication of the total expected payout as well as the total expected performance time for the technician to complete the assigned service jobs within a given time period (e.g., a week). Any or all of this information may be displayed on a computing device, such as a vehicle diagnostic device used by the technician during performance of vehicle service jobs.
- a computing device such as a vehicle diagnostic device used by the technician during performance of vehicle service jobs.
- FIG. 8 illustrates a portion of another example technician assignment interface.
- rankings of technicians are displayed rather than suggested technician assignments.
- display 800 shows an assignment window 802 that includes a rank order 804 of technicians for Job 2 and a rank order 806 of technicians for Job 3.
- Each rank order 804 , 806 is based on scoring metrics determined for the technicians for the corresponding service job.
- the rank order 804 may be displayed in a technician selection dropdown menu when a user clicks on Job 2 to assign the service job.
- the rank order 806 may similarly be displayed in a separate dropdown menu when the user attempts to assign a technician to Job 3.
- display 800 provides a service writer with an opportunity to incorporate scoring metrics and rankings determined based on past performance data without suggesting specific technician assignments to the service writer.
- display 800 additionally displays total target completion time 814 , total expected completion time 816 , and expected profitability 818 .
- the values for each may initially be set so that the expected profitability 818 is 100% using the assumption that the service jobs will be completed in target times for the service jobs.
- the total expected completion time 816 and the expected profitability 818 may be adjusted upward or downwards on display 800 according to the technician's past performance data for the particular service job.
- FIG. 9 illustrates a portion of an additional example technician assignment interface. More specifically, FIG. 9 illustrates a dynamic user interface that shows current service job progress of technicians within a business day at a repair shop.
- FIG. 9 includes a display 900 that shows a dynamic technician assignment window 902 .
- Assignment window 902 shows the currently assigned service jobs to each technician.
- Technician 1 is scheduled to complete Jobs 1A, 1, and 1C by 5:00
- Technician 2 is scheduled to complete Jobs 2A, 2B, and 2C by 5:00
- Technician 3 is scheduled to complete Jobs 3A, 3B, and 3C by 5:00.
- Assignment window 902 additionally includes progress indicators 904 , 906 , and 908 for each technician.
- a progress indicator may indicate a current pace of performance of a corresponding technician.
- the progress indicator may only indicate which service jobs have been completed by the technician.
- the progress indicator may also indicate what portion of a currently performed service job has been completed (e.g., how many steps of a multi-step job have been completed).
- job status updates indicative of a current pace of performance of in-progress vehicle service jobs may be received from technician computing devices.
- An indication of the current pace of performance of each of the in-progress vehicle service jobs may be displayed in the technician assignment interface based on the job status updates.
- the current pace of a given service job may be determined based on a start time for the job corresponding to a technician input to display a first step of the service job.
- the current time 914 is 11:00. Accordingly, progress indicator 904 indicates that Technician 1 is behind schedule for the day, progress indicator 906 indicates that Technician 2 is approximately on schedule for the day, and progress indicator 908 indicates that Technician 3 is ahead of schedule for the day.
- the progress indicators 904 , 906 , and 908 may assist a service writer in adjusting technician assignments in the middle of a day when one or more technicians end up behind schedule or ahead of schedule.
- display 900 may automatically suggest one or more technician reassignments based on the progress indicators 904 , 906 , and 908 .
- Display 900 may additionally display an expected profitability metric 916 .
- the expected profitability metric 916 may indicate the expected profitability across all technicians given the current technician assignments and the current pace of performance of each technician. In this example, the expected profitability metric 916 is above 100%, which may indicate that Technician 3 is further ahead of schedule than Technician 1 is behind schedule. In some examples, one or more technician reassignments may be needed to realize this expected profitability (e.g., to reduce the workload of Technician 1 and/or increase the workload of Technician 3).
- FIG. 10 illustrates example filtering of technician performance data based on vehicle attributes.
- the technician performance data in table 1000 for Technician 1 in performing engine thermostat replacement may be filtered to produce targeted performance data 1004 .
- table 1000 includes performance times for nine past performances of the service job by the technician, but only three performance times may be used to determine the average completion time shown by targeted performance data 1004 .
- To filter the past performance data only performances on vehicles sharing certain attributes with a current vehicle to be serviced may be used to generate a scoring mechanism.
- the filter 1002 specifies a year range (after 1999) and make (Ford) to use as cohort attributes. Only past performances of the service job on vehicles sharing those attributes may be selected.
- a separate filter may be determined for each type of service job.
- the filter may indicate which vehicle attributes to use to identify the most relevant past performances of a particular type of service job for predicting technician performance in a future performance of the service job.
- the filter for each service job may be hardcoded or it may be machine learned.
- the filter may be specified by a service writer though a technician assignment interface.
- a technician assignment interface may display a number of selectable vehicle attributes that may be used to filter technician performance data before determining scoring metrics and/or suggested technician assignments.
- a service writer may select one or more of the displayed vehicle attributes. Only past performances of service jobs on vehicles sharing the selected attributes may be considered.
- a filter selected through a user interface could be applied to all service jobs or a separate filter may be selected for each service job.
- a variable weighting system may be used.
- past performance data for vehicles that are more similar to a vehicle to be serviced e.g., sharing more attributes
- an electronic technician performance profile may be generated.
- the profile may be transferrable from one repair shop to another repair shop.
- the profile may be displayable on a computing device at a repair shop, such as within a technician assignment interface.
- the profile may contain metrics and proficiencies related to a particular technician's past performances of vehicle service jobs.
- the profiles may be useful both to determine which technicians to employ at a given shop as well as which service jobs to assign to which technicians.
- technician performance profiles may be stored at a centrally located database that is accessible by multiple repair shops.
- a technician performance profile may include the same types of performance information used by a scheduler software application in assigning technicians to service jobs.
- a profile may aggregate technician performance data in a different manner and/or allow for display of other metrics associated with technician performance as well or instead.
- a technician performance profile may include vehicle service job categories for which a technician is proficient.
- a taxonomy system may be defined that groups service jobs into different service job categories, such as maintenance, diagnostics, and under-car work. The job categories may also be associated with particular vehicle systems as well or instead, such as engine repair or brake repair.
- a technician assignment interface may also assign service jobs to technicians based on past performance on service jobs within particular job categories. For instance, all types of brake work may be aggregated together to determine a particular technician's proficiency to perform any type of future brake work. Service jobs may be grouped together for purposes of determining technician performance metrics in a variety of manners.
- FIG. 11 is a functional block diagram illustrating an example computing device 1100 used in a computing system that is arranged in accordance with at least some embodiments described herein.
- the computing device 1100 can be implemented to determine or display suggested technician assignments or to perform any of the functions described above with reference to FIGS. 1-10 .
- computing device 1100 can typically include one or more processors 1110 and system memory 1120 .
- a memory bus 1130 can be used for communicating between the processor 1110 and the system memory 1120 .
- processor 1110 can be of any type including but not limited to a microprocessor (pP), a microcontroller (pC), a digital signal processor (DSP), or any combination thereof.
- a memory controller 1115 can also be used with the processor 1110 , or in some implementations, the memory controller 1115 can be an internal part of the processor 1110 .
- system memory 1120 can be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof.
- System memory 1120 can include one or more applications 1122 , and program data 1124 .
- Application 1122 can include an algorithm 1123 that is arranged to determine or display suggested technician assignments, in accordance with the present disclosure.
- Program data 1124 can include repair order data 1125 that could be directed to any number of types of data.
- application 1122 can be arranged to operate with program data 1124 on an operating system.
- Computing device 1100 can have additional features or functionality, and additional interfaces to facilitate communications between the basic configuration 1102 and any devices and interfaces.
- data storage devices 1140 can be provided including removable storage devices 1142 , non-removable storage devices 1144 , or a combination thereof.
- removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDD), optical disk drives such as compact disc (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few.
- Computer storage media can include volatile and nonvolatile, non-transitory, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data.
- System memory 1120 and storage devices 1140 are examples of computer storage media.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 1100 . Any such computer storage media can be part of device 1100 .
- Computing device 1100 can be implemented as a portion of a small-form factor portable (or mobile) electronic device such as a cell phone, a personal data assistant (PDA), a personal media player device, a wireless web-watch device, a personal headset device, an application specific device, or a hybrid device that include any of the above functions.
- Computing device 1100 can also be implemented as a personal computer, including both laptop computer and non-laptop computer configurations, or a server.
- the disclosed methods can be implemented as computer program instructions encoded on a non-transitory computer-readable storage media in a machine-readable format, or on other non-transitory media or articles of manufacture.
- FIG. 12 is a schematic illustrating a conceptual partial view of an example computer program product 1200 that includes a computer program for executing a computer process on a computing device, arranged according to at least some embodiments presented herein.
- Computing device 1100 can also include output interfaces 1150 that can include a graphics processing unit 1152 , which can be configured to communicate to various external devices such as display devices 1160 or speakers via one or more A/V ports 1154 or a communication interface 1170 .
- the communication interface 1170 can include a network controller 1172 , which can be arranged to facilitate communications with one or more other computing devices 1180 over a network communication via one or more communication ports 1174 .
- the communication connection is one example of a communication media. Communication media can be embodied by computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media.
- a modulated data signal can be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media can include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared (IR) and other wireless media.
- RF radio frequency
- IR infrared
- the example computer program product 1200 is provided using a signal bearing medium 1201 .
- the signal bearing medium 1201 can include one or more programming instructions 1202 that, when executed by one or more processors can provide functionality or portions of the functionality described above with respect to FIGS. 1-10 .
- the signal bearing medium 1201 can encompass a computer-readable medium 1203 , such as, but not limited to, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc.
- the signal bearing medium 1201 can encompass a computer recordable medium 1204 , such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc.
- the signal bearing medium 1201 can encompass a communications medium 1205 , such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
- a communications medium 1205 such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
- the signal bearing medium 1201 can be conveyed by a wireless form of the communications medium 1205 (e.g., a wireless communications medium conforming to the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard or another transmission protocol).
- IEEE Institute of Electrical and Electronics Engineers
- the one or more programming instructions 1202 can be, for example, computer executable and/or logic implemented instructions.
- a computing device such as the computing device 1100 of FIG. 11 can be configured to provide various operations, functions, or actions in response to the programming instructions 1202 conveyed to the computing device 1100 by one or more of the computer-readable medium 1203 , the computer recordable medium 1204 , and/or the communications medium 1205 .
- Embodiments of the present disclosure may thus relate to one of the enumerated example embodiments (EEEs) listed below.
- EEE 1 is a method comprising: receiving, by a computing device, a plurality of vehicle service jobs to be performed in a given time window; receiving, by the computing device, technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs; determining, by the computing device based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians; determining, by the computing device based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each vehicle service job of the plurality of vehicle service jobs; and providing, by the computing device for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each vehicle service job of the plurality of vehicle service jobs.
- EEE 2 is the method of EEE 1, wherein determining the plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians comprises determining an average completion time of a plurality of past performances of a particular vehicle service job by a particular technician.
- EEE 3 is the method of EEE 1 or 2, wherein determining the plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians comprises determining a rate of return of vehicles within a threshold amount of time following past performances of a particular vehicle service job on the vehicles by a particular technician.
- EEE 4 is the method of any one of EEE 1 to 3, wherein determining the plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians comprises determining a frequency of performance of a particular vehicle service job by a particular technician.
- EEE 5 is the method of any one of EEE 1 to 4, wherein determining the plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians comprises: identifying past performances of a particular vehicle service job by a particular technician on vehicles sharing one or more cohort attributes with a vehicle to be serviced with the particular vehicle service job in the given time window; and determining the scoring metric corresponding to the particular vehicle service job for the particular technician based on the identified past performances.
- EEE 6 is the method of any one of EEE 1 to 4, wherein determining the plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians comprises: causing a plurality of selectable vehicle attributes to be displayed in the technician assignment interface; receiving, from the technician assignment interface, a selection of one or more cohort attributes from the displayed plurality of selectable vehicle attributes; identifying past performances of a particular vehicle service job by a particular technician on vehicles sharing the one or more cohort attributes with a vehicle to be serviced with the particular vehicle service job in the given time window; and determining the scoring metric corresponding to the particular vehicle service job for the particular technician based on the identified past performances.
- EEE 7 is the method of any one of EEE 1 to 6, further comprising: determining, based on the scoring metrics, a rank order of the plurality of technicians for a particular vehicle service job of the plurality of vehicle service jobs; and causing the rank order of the plurality of technicians to be displayed in the technician assignment interface.
- EEE 8 is the method of any one of EEE 1 to 7, further comprising: receiving, from the technician assignment interface, a confirmation of the displayed suggested technician assignments; and in response to receiving the confirmation, providing, by the computing device to a plurality of other computing devices corresponding to the plurality of technicians, instructions to display steps of vehicle service jobs assigned to the corresponding technician according to the displayed suggested technician assignments.
- EEE 9 is the method of EEE 8, further comprising: receiving, at the computing device from the plurality of other computing devices, job status updates indicative of a current pace of performance of in-progress vehicle service jobs of the plurality of vehicle service jobs; and causing an indication of the current pace of performance of each of the in-progress vehicle service jobs to be displayed in the technician assignment interface.
- EEE 10 is the method of EEE 9, further comprising adjusting one or more of the suggested technician assignments based on the job status updates.
- EEE 11 is the method of any one of EEE 1 to 10, further comprising: determining corresponding time slots within the given time window for the plurality of vehicle service jobs; and causing the plurality of vehicle service jobs to be displayed at the corresponding time slots in the technician assignment interface.
- EEE 12 is the method of EEE 11, further comprising: receiving, at the computing device, equipment availability updates indicative of service equipment availability within the given time window; and determining the corresponding time slots based on the equipment availability updates.
- EEE 13 is the method of any one of EEE 1 to 12, further comprising: determining an expected profitability metric indicative of an expected profitability of the plurality of vehicle service jobs based on the suggested technician assignments; and causing the expected profitability metric to be displayed in the technician assignment interface.
- EEE 14 is the method of EEE 13, further comprising: receiving, from the technician assignment interface, input data indicating one or more modifications to the suggested technician assignments; and modifying the displayed expected profitability metric based on the one or more modifications to the suggested technician assignments.
- EEE 15 is the method of any one of EEE 1 to 14, further comprising: determining an expected profitability metric indicative of an expected profitability of the plurality of vehicle service jobs based on the suggested technician assignments; determining that the expected profitability metric is below a target profitability level; determining a suggested rescheduling of one or more vehicle service jobs of the plurality of vehicle service jobs to one or more time slots outside of the given time window in order to increase the expected profitability metric above the target profitability level; and causing an indication of the suggested rescheduling of the one or more vehicle service jobs to be displayed in the technician assignment interface.
- EEE 16 is the method of any one of EEE 1 to 15, further comprising: identifying a training reassignment of a particular vehicle service job from a first technician to a second technician, wherein the second technician has a lower scoring metric for the particular vehicle service job than the first technician; determining that the plurality of vehicle service jobs are predicted to be completed within the given time window after the training reassignment; and adjusting the suggested technician assignments to include the training reassignment.
- EEE 17 is the method of any one of EEE 1 to 16, further comprising: determining an expected profitability metric indicative of an expected profitability of the plurality of vehicle service jobs based on the suggested technician assignments; identifying a training reassignment of a particular vehicle service job from a first technician to a second technician, wherein the second technician has a lower scoring metric for the particular vehicle service job than the first technician; determining that the expected profitability metric is above a target profitability level after the training reassignment; and adjusting the suggested technician assignments to include the training reassignment.
- EEE 18 is the method of any one of EEE 1 to 17, further comprising: determining, based on the technician performance data, a plurality of job difficulty levels corresponding to the plurality of vehicle service jobs to be performed; and determining the suggested technician assignments to balance the plurality of job difficulty levels across the plurality of technicians.
- EEE 19 is the method of any one of EEE 1 to 18, further comprising: determining, based on the technician performance data, a plurality of expected job completion times corresponding to the plurality of vehicle service jobs for each of the plurality of technicians; and determining the technician assignments based on the expected job completion times in order to maximize technician utilization time while completing the plurality of vehicle service jobs within the given time window.
- EEE 20 is a computing device comprising: a display interface; one or more processors; a non-transitory computer readable medium; and program instructions stored on the non-transitory computer readable medium and executable by the one or more processors to cause the computing device to perform functions comprising: receiving a plurality of vehicle service jobs to be performed in a given time window; receive technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs; determining, based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians; determining, based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each vehicle service job of the plurality of vehicle service jobs; and providing, for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each vehicle service job of the plurality of vehicle service jobs.
- the program instructions may be further executable by
- EEE 21 is a non-transitory computer readable medium having stored therein program instructions executable by one or more processors to cause a computing system to perform functions comprising: receiving a plurality of vehicle service jobs to be performed in a given time window; receive technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs; determining, based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians; determining, based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each vehicle service job of the plurality of vehicle service jobs; and providing, for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each vehicle service job of the plurality of vehicle service jobs.
- the program instructions may be further executable by the one or more processors to cause the computing system to perform any of the functions of EEE 2 to 19.
Abstract
Description
- This present application is a continuation of U.S. patent application Ser. No. 15/625,388, filed on Jun. 16, 2017, the entire contents of which are herein incorporated by reference.
- Various types of vehicles produced by manufacturers occasionally have to be repaired. In some cases, a vehicle owner may notice a change in the performance of a vehicle, prompting the vehicle owner to bring the vehicle to a repair shop to diagnose a problem and potentially repair the vehicle. In other cases, an electronic control module of the vehicle may detect a fault and provide a malfunction indication via an instrument panel of the vehicle. If the vehicle owner notices the indication, the vehicle owner may bring the vehicle to a repair shop for service. Based on symptoms reported by the vehicle owner and/or automated error indicators such as diagnostic codes, a repair shop employee may identify one or more service jobs to perform on the vehicle in order to repair the vehicle. For instance, service jobs may be performed by a technician at the repair shop to replace the vehicle's brake pads, fix a leaking tire, or service a vehicle's air conditioning system.
- In one example aspect, a method is provided that includes receiving, by a computing device, a plurality of vehicle service jobs to be performed in a given time window. The method further includes receiving, by the computing device, technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs. The method additionally includes determining, by the computing device based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians. The method also includes determining, by the computing device based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each service job of the plurality of vehicle service jobs. The method additionally includes providing, by the computing device for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each service job of the plurality of vehicle service jobs.
- In another example aspect, a computing device is provided that includes a display interface, one or more processors, a non-transitory computer readable medium, program instructions stored on the non-transitory computer readable medium. The program instructions may be executable by the one or more processors to receive a plurality of vehicle service jobs to be performed in a given time window. The program instructions may be further executable by the one or more processors to receive technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs. The program instructions may additionally be executable by the one or more processors to determine, based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians. The program instructions may also be executable by the one or more processors to determine, based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each service job of the plurality of vehicle service jobs. The program instructions may additionally be executable by the one or more processors to provide, for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each service job of the plurality of vehicle service jobs.
- In a further example aspect, a non-transitory computer readable medium is disclosed having stored therein instructions executable by one or more processors to cause a computing system to perform functions. The functions include receiving a plurality of vehicle service jobs to be performed in a given time window. The functions further include receiving technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs. The functions additionally include determining, based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians. The functions also include determining, based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each service job of the plurality of vehicle service jobs. The functions further include providing, for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each service job of the plurality of vehicle service jobs.
- In still another aspect, a system is provided that includes means for receiving a plurality of vehicle service jobs to be performed in a given time window. The system further includes means for receiving technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs. The system additionally includes means for determining, based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians. The system also includes means for determining, based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each service job of the plurality of vehicle service jobs. The system further includes means for providing, for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each service job of the plurality of vehicle service jobs.
- The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the figures and the following detailed description.
-
FIG. 1 illustrates a workflow diagram including several devices, according to example embodiments. -
FIG. 2 illustrates another workflow diagram including several devices, according to example embodiments. -
FIG. 3 is a block diagram of a method, according to example embodiments. -
FIG. 4 illustrates vehicle service jobs, according to example embodiments. -
FIG. 5 is a table of technician performance times, according to example embodiments. -
FIG. 6 illustrates scoring metrics for technicians, according to example embodiments. -
FIG. 7 illustrates a portion of a technician assignment interface, according to example embodiments. -
FIG. 8 illustrates a portion of another technician assignment interface, according to example embodiments. -
FIG. 9 illustrates a portion of an additional technician assignment interface, according to example embodiments. -
FIG. 10 illustrates filtering of technician performance data based on vehicle attributes, according to example embodiments. -
FIG. 11 is a functional block diagram illustrating a computing device used in a computing system that is arranged in accordance with at least some embodiments described herein. -
FIG. 12 is a schematic illustrating a conceptual partial view of a computer program product that includes a computer program for executing a computer process on a computing device in accordance with at least some embodiments described herein. - The following detailed description describes various features and functions of the disclosed systems and methods with reference to the accompanying figures. In the figures, similar reference numbers identify similar components, unless context dictates otherwise. The illustrative system and method embodiments described herein are not meant to be limiting. It may be readily understood that certain aspects of the disclosed systems and methods can be arranged and combined in a wide variety of different configurations, all of which are contemplated herein.
- The example embodiments are applicable to a variety of repairable items, such as a vehicle or some other type of repairable machine or device. For purposes of this description, a vehicle is a mobile machine that may be used to transport a person, people, or cargo. As an example, any vehicle described herein may be driven or otherwise guided along a path (e.g., a paved road or otherwise) on land, in water, or in the air or outer space. As another example, any vehicle described herein may be wheeled, tracked, railed, or skied. As yet another example, any vehicle described herein may include an automobile, a motorcycle, an all-terrain vehicle (ATV) defined by ANSI/SVIA-1-2007, a snowmobile, a personal watercraft (e.g., a JET SKI® personal watercraft), a light-duty truck, a medium-duty truck, a heavy-duty truck, a semi-tractor, a farm machine, a van (such as a dry or refrigerated van), a tank trailer, a platform trailer, or an automobile carrier. As yet another example, any vehicle described herein can be configured as an autonomous vehicle. As still yet another example, any vehicle described herein may include or use any appropriate voltage or current source, such as a battery, an alternator, a fuel cell, and the like, providing any appropriate current or voltage, such as about 12 volts, about 42 volts, and the like. As still yet another example, any of the vehicles described herein may include or use any desired system or engine. Those systems or engines may include items that use fossil fuels, such as gasoline, natural gas, propane, and the like, electricity, such as that generated by a battery, magneto, fuel cell, solar cell and the like, wind and hybrids or combinations thereof. As still yet another example, any vehicle described herein may include an electronic control unit (ECU), a data link connector (DLC), and a vehicle communication link that connects the DLC to the ECU.
- Repair shops are subject to turnover of repair shop employees due to any of a variety of reasons. As a result, repair shops occasionally have to hire technicians and service advisors that assign service jobs to the technicians. Often times, an existing service advisor at the repair shop is unfamiliar with a newly hired technician, or a newly hired service advisor is unfamiliar with existing technicians. In such situations, the service advisor may not be equipped to efficiently assign service jobs to technicians. Moreover, most service advisors are not afforded the time to review records pertaining to prior service jobs to learn how to best assign service jobs.
- Within examples, methods and devices are described for providing a technician assignment interface with suggested technician assignments for a number of vehicle service jobs to be performed at a repair shop or other vehicle servicing location. More specifically, a computing device may receive a number of different types of vehicle service jobs to be performed within a given time window, such as a day or week. Example vehicle service jobs include repair jobs, scheduled maintenance jobs, preventative maintenance jobs, and vehicle overhaul jobs. Vehicle service jobs to be performed at a repair shop may be identified in a number of different manners. In some examples, a service job for a particular vehicle may be identified by a computing device based on vehicle symptom information reported by a vehicle owner and/or an automated system of the vehicle. For instance, the symptom information could be “engine hesitates on takeoff” or “engine is overheating.” In other examples, the symptom information could include one or more diagnostic trouble codes (DTCs). A DTC may be a generic or manufacturer-specific code that is used to identify vehicle problems, such as “Throttle/Petal Position Sensor/Switch Malfunction” or “Transmission Control System Malfunction.” In further examples, the symptom information can include an indication that a malfunction indicator lamp of the vehicle is illuminated.
- Once needed vehicle service jobs are identified, a user interface may be displayed to a service writer at a repair shop to suggest how to best assign service jobs to technicians. More specifically, performance data for individual technicians in performing vehicle service jobs may be tracked and stored. When a particular vehicle service job then needs to be performed on another vehicle, the performance data may be used to provide a service writer with an intelligent means of selecting a technician. In some examples, the technician performance data may include an average job completion time across a number of performances of a particular service job. In additional examples, the technician performance data may include a frequency of performance of a particular service job. In further examples, the technician performance data may include “comeback rates,” rates of return of vehicles within a threshold amount of time following past performances of a particular service job which may indicate that the particular service job was likely performed incorrectly.
- The technician performance data may be used to generate scoring metrics corresponding to types of vehicle service jobs for each technician within a group of technicians. In some cases, a scoring metric may be based on a single kind of technician performance data. For instance, a scoring metric for a service job may be determined based on a particular technician's average completion time of the service job relative to an expected completion time. In other examples, multiple different types of technician performance data may be combined (e.g., assigned different weights as part of a scoring formula) to generate the scoring metrics. For example, a particular technician having a good average completion time but a high comeback rate may receive a lower scoring metric than another technician having both a good average completion time and a low comeback rate.
- In some examples, only service jobs performed on vehicles sharing particular attributes with a current vehicle to be serviced may be considered, such as a particular year, make, model, and engine type (YMME). In other examples, the particular attributes may include a particular year, make, and model (YMM), or a particular year, make, model, engine type, and system (YMMES). In some examples, a service writer may be provided with an option to select the particular vehicle attributes to apply as a filter to determine which past technician performances of service jobs will be considered to determine scoring metrics.
- In additional examples, only completed service jobs within a certain recent time window (e.g., the last three months or the last year) may be considered in determining scoring metrics. In further examples, performance data for more recently completed service jobs may be weighted more heavily than service jobs that were completed longer ago.
- The scoring metrics may be used to generate suggested technician assignments which map individual technicians to corresponding vehicle service jobs. The suggested technician assignments may be displayed as part of a user interface that allows for user confirmation or override. Once user confirmation is received, instructions may be sent to computing devices associated with each technician (e.g., a vehicle diagnostic device corresponding to each technician) relaying each technician's assigned service jobs. For instance, the instructions sent to a technician's diagnostic device may indicate which vehicle service jobs to perform on which vehicles, and may optionally also indicate scheduled corresponding time slots for each of the service jobs. In further examples, the technician's diagnostic device may be automatically configured based on the instructions to assist the technician in performing assigned service jobs. This configuration process may include one or more electronic communications from the technician's diagnostic device to and/or from the vehicle being serviced. For instance, relevant diagnostic data may be collected by the diagnostic device from the vehicle or electronic instructions may be sent from the diagnostic device to the vehicle to perform a functional test on the vehicle that is relevant for an assigned service job.
- In some examples, suggested technician assignments may be generated to maximize overall shop efficiency and/or profitability. For instance, an expected profitability metric may be determined based on a ratio of the expected total completion time of all service jobs given a particular set of technician assignments relative to a target total completion time. The target total completion time may be a sum of target completion times for each of the service jobs. The target completion time for an individual service job may be based on a standard flat rate charge for the service job. In other examples, the target completion time may be based on an accumulation (e.g., an average) of past completion times of the service job (e.g., a national average, an average for a particular region, or an average for a particular shop).
- In other examples, certain technician assignments may be suggested for the purpose of training technicians on certain types of jobs rather than maximizing overall efficiency and/or profitability. For instance, a training reassignment may be identified and displayed that assigns a service job to a less efficient technician (e.g., having a lower average completion time or other scoring metric) as long as all the service jobs can still be completed in a given time window. In further examples, a training reassignment may be suggested as long as a certain level of overall expected efficiency and/or target profitability level across the shop is maintained. In some examples, a tiered approach may be used so that a technician that typically performs simple jobs like oil changes does not get moved up directly to difficult jobs like transmission overhauls.
- In some examples, when overall work volume is high, the highest scoring available technician may be assigned to each service job. When overall work volume is lower, more training assignments may be allowed so that extra time in the schedule may be leveraged for training. In some examples, suggested technician assignments may be determined that maximize overall technician utilization time while ensuring that all jobs are expected to be completed within a given time window.
- Other factors may also be considered in determining suggested technician assignments. In some examples, service jobs may be balanced according to difficulty levels so that each individual technician does not get a disproportionate number of difficult service jobs in a given time period. In further examples, technicians may be precluded from being assigned certain service jobs if their comeback rates cross a certain threshold percentage. Scoring metrics and technician performance data may be used to generate suggested technician assignments in other ways as well.
- In some examples, a technician assignment interface may provide a ranking of technicians according to their scoring metrics for a particular service job. For instance, a dropdown menu may be provided when a user clicks on a particular service job to be assigned. The dropdown menu may list available technicians in order based on their scoring metrics for the particular service job in order to facilitate assignment or reassignment of a technician to the service job. Upon selection of a particular technician, an expected profitability metric may be updated within the user interface to provide an indication of the effect of a technician assignment or reassignment on overall shop profitability.
- In some examples, a remote server may aggregate technician performance data received from individual technician diagnostic devices over time. The server may then generate suggested technician assignments for future service jobs based on the technician performance data. Upon confirmation by a service writer, the server may then communicate the assignments to technician diagnostic devices, which may be the same devices or different devices from the ones that provided technician performance data to the server. In some examples, the diagnostic devices may display steps of the service jobs as they are performed and keep track of the pace of performance of individual technicians. This timing information may be used by the diagnostic devices both to help keep technicians on pace to complete service jobs on time, and also to report the completion times to the server to use in future technician assignments. In some examples, a technician may view a service job (or steps of a service job) using a variety of computing devices, including touchpad devices, laptops, wearable computing devices (e.g., glasses, goggles, wrist displays), and other types of portable displays.
- In further examples, a technician assignment interface may dynamically display current job progress of individual technicians. In some cases, the assignment interface may suggest reassignments on the fly. For instance, a job may be reassigned from a particular technician that is behind schedule to another available technician. Past technician performance data and scoring metrics may be used to suggest the technician to handle the reassigned job as well. An expected profitability metric for the shop may be updated based on the suggested reassignment.
- In some examples, a technician assignment interface may also display suggested starting and ending times for individual vehicle service jobs (e.g., a shop calendar for a day or for a week). In further examples, the starting and/or ending times of jobs may be dynamically adjusted in addition to or instead of technician assignments. For instance, adjustments may be made based on the current pace of performance of individual technicians in their currently assigned jobs. Adjustments may also be made based on other factors, such as availability of technicians with particular skill sets or availability of shop equipment to perform certain service jobs. In some cases, the technician assignment interface may suggest to reschedule a service job to a time outside of a currently displayed time window to improve expected profitability of a shop. For instance, a suggested rescheduling may be displayed when an expected profitability metric is below a target profitability level for the shop.
- As mentioned above, this description describes several example embodiments. Within this description, the articles “a” or “an” are used to introduce elements of the example embodiments. The intent of using those articles is that there is one or more of the elements. The intent of using the conjunction “or” within a described list of at least two terms is to indicate any of the listed terms or any combination of the listed terms. The use of ordinal numbers such as “first,” “second,” “third” and so on is to distinguish respective elements rather than to denote a particular order of those elements.
- Additional functionalities and examples of the described methods and computing devices are also described hereinafter with reference to the accompanying figures.
- Referring now to the Figures,
FIG. 1 illustrates an example workflow diagram including several devices. More specifically, an example system may include aclient device 122 which transmitstechnician performance data 144 over a communication network 114 to acomputing device 102. Theclient device 122 can represent any type of mobile or stationary computing device. By way of example, theclient device 122 can be a vehicle diagnostic device that is connectable (wired or wirelessly) to a vehicle data bus or a vehicle circuit to allow for communication with a vehicle. However, the example is not meant to be limiting. In other instances, theclient device 122 can be a laptop computer, tablet device, cellular phone, wearable computing device, including an HMD, glasses, goggles, a smartwatch or other wrist display, or another type of computing device. - The
computing device 102 can similarly be any type of computing device. In one instance, thecomputing device 102 can be a server or a component of a server that is located remotely from the client device 122 (e.g., in a cloud computing environment). For example, thecomputing device 102 can be a desktop computer, workstation, or other type of computing device configured to operate within a client-server architecture. In another instance, thecomputing device 102 can be a computing device that is located at a repair shop. For example, thecomputing device 102 may be a computing device used by a repair shop to manage repair orders and/or shop equipment that is used to service vehicles. In further examples, thecomputing device 102 may be connectable (wired or wirelessly) to a vehicle data bus or a vehicle circuit to allow for communication with one or more vehicles. Other configurations are also contemplated. - The
computing device 102 can include amemory 104 and aprocessor 106. Similarly, theclient device 122 can also include amemory 124 and aprocessor 126. Theprocessor 106 and theprocessor 126 can be any type of processors, such as a microprocessor, digital signal processor, multicore processor, etc., coupled to thememory 104 andmemory 124 respectively. Thememory 104 and thememory 124 can be any type of memories, such as volatile memory like random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), or non-volatile memory like read-only memory (ROM), flash memory, magnetic or optical disks, digital versatile disk read-only memory (DVD-ROM), or compact-disc read-only memory (CD-ROM), among other devices used to store data or programs on a temporary or permanent basis. - Additionally, the
computing device 102 can include acommunication interface 108 and theclient device 122 can include acommunication interface 128. Thecommunication interface 108 and thecommunication interface 128 can facilitate communication with the communication network 114 for thecomputing device 102 and theclient device 122 according to one or more wired or wireless communication standards or protocols. For instance, thecommunication interface 108 and thecommunication interface 128 can facilitate data communication over one or more network links. Thecommunication interface 108 and/or thecommunication interface 128 can include a transmitter to transmit data and a receiver to receive data. Alternatively, thecommunication interface 108 and/or thecommunication interface 128 can include a transceiver configured to transmit and receive data. - The
client device 122 may usecommunication interface 108 to communicatetechnician performance data 144 over communication network 114 tocomputing device 102. In some examples,technician performance data 144 may be communicated tocomputing device 102 each time a technician completes a service job. For instance, thetechnician performance data 144 may include an identifier for a technician that usedclient device 122 while performing a vehicle service job along with data identifying the type of job performed, the amount of time taken by the technician to complete the job, and/or attributes of the vehicle being serviced. In further examples,technician performance data 144 may instead be communicated byclient device 122 tocomputing device 102 periodically (e.g., at the end of each hour, business day, or week). - The
client device 122 may also optionally include a display. The display could be any type of electronic visual display capable of presenting information visually to a technician. For instance, the display could be capable of presenting visual information in a variety of ways, including text, two-dimensional visual images and/or three-dimensional visual images. In additional examples, the display may be capable of presenting information to a technician in other ways (e.g., audio, haptics) as well or instead. Example displays include computer monitors, touchscreens, HMD's, or wrist displays. Other types of electronic displays may also be used. - In some examples, the
client device 122 may display steps of a vehicle service job along with information to help a technician complete each of the steps. As the service job is performed, theclient device 122 may record data about the specific instance of performance of the vehicle service job by the technician. This data may be transmitted as part oftechnician performance data 144 tocomputing device 102 during or after performance of the vehicle service job by the technician. - In further examples,
computing device 102 may receive and aggregate technician performance data for a number of different technicians each using a different client device. For instance, over the course of a day,computing device 102 may receive technician performance data for ten different technicians using ten corresponding vehicle diagnostic devices in the performance of fifty vehicle service jobs. -
FIG. 2 illustrates another example workflow diagram including several devices. More specifically, an example system may include acomputing device 202 which transmits assigned service job(s) 244 over acommunication network 214 to aclient device 222. Assigned service job(s) 244 may be one or more assigned vehicle service jobs for a technician that is associated withclient device 222. In some examples, assigned service job(s) 244 may be sent toclient device 222 after user confirmation of a suggested technician assignment that is displayed by computingdevice 202. - In some examples,
computing device 202 may be the same device ascomputing device 102 illustrated inFIG. 1 . That is, the same computing device may receive and aggregate technician performance data from one or more client devices, display suggested technician assignments based on the technician performance data for one or more vehicle service jobs to be performed, and ultimately transmit technician assignments to one or more client devices. In such examples,computing device 202 may be located at a vehicle repair shop or it may be located remote from a vehicle repair shop. - In other examples,
computing device 202 illustrated inFIG. 2 may be a separate device from computingdevice 102 illustrated inFIG. 1 . For instance,computing device 102 may be a remote server which receives and aggregates technician performance data.Computing device 202 may be a workstation located at a repair shop with a user interface that is accessible by a service writer. In such examples,computing device 202 may receive suggested technician assignments fromcomputing device 102.Computing device 202 may then display the suggested technician assignments and later transmit assigned service jobs to one or more client devices. In other examples,computing device 202 may receive aggregated technician performance data fromcomputing device 102 rather than suggested technician assignments for particular service jobs. In such examples,computing device 202 may then generate suggested technician assignments for display based on the aggregated technician performance data. -
Computing device 202 may includememory 204,processor 206,communication interface 208, anddisplay interface 210.Memory 204 may be any memory as described previously in reference tomemory 104 ofFIG. 1 .Processor 206 may be any processor as described previously in reference toprocessor 106 ofFIG. 1 .Communication interface 208 may be any communication interface as described previously in reference tocommunication interface 108 ofFIG. 1 . -
Display interface 210 could be any type of electronic visual display capable of presenting information visually to a service writer. In some examples,display interface 210 may be a computer monitor of a workstation located at a repair shop. In further examples,display interface 210 may be a computer monitor of a workstation that is remote from the repair shop. In additional examples,display interface 210 may be a touchscreen of a portable computing device, such as a tablet device. More specifically,display interface 210 may be a heavy-duty tablet device with a graphical user interface (GUI) and a touchpad for communicating information from a repair shop to a server and/or to other computing devices at the shop. In additional examples,display interface 210 may receive user input from one or more separate input devices, such as a keyboard or computer mouse. - In some examples,
communication network 214 ofFIG. 2 may be the same as communication network 114 ofFIG. 1 . In further examples,communication network 214 may be a separate network or subnetwork.Communication network 214 may include any of the types of communication networks described in reference to communication network 114 ofFIG. 1 . - In some examples,
client device 222 ofFIG. 2 may be the same asclient device 122 ofFIG. 1 . That is,client device 222 may both provide technician performance data and receive assigned service jobs. In such examples,client device 222 may be assigned to a single technician during both a performance data generation phase in which performance data for the technician is generated and an assignment phase in which one or more new vehicle service jobs are assigned to the technician. - In other examples,
client device 222 ofFIG. 2 may be different fromclient device 122 ofFIG. 1 . That is, a different client device may be used to receive a next assignment for a technician than the client device used to generate past performance data for the technician. In such examples,client device 222 may be the same type of device asclient device 122, orclient device 222 may be a different type of device fromclient device 122. -
Client device 222 may includememory 224,processor 226, andcommunication interface 228.Memory 224 may be any memory as described previously in reference tomemory 124 ofFIG. 1 .Processor 226 may be any processor as described previously in reference toprocessor 126 ofFIG. 1 .Communication interface 228 may be any communication interface as described previously in reference tocommunication interface 128 ofFIG. 1 . - In order to associate the past performance of particular service jobs with particular technicians, one or more technicians may be identified from each individual repair order (RO). A repair order (RO) comprises an archive of information pertaining to at least one vehicle job (or more simply “job”). Each job can be identified on a separate job line of the RO. An RO can indicate a job status such as prospective, in process, on hold (after being in process), completed, or comeback. The come-back status can represent a job that was considered to be complete until the vehicle was brought back to the repair shop because the job was not performed to the satisfaction of some person, such as a vehicle owner, or for some other reason. More specifically, the come-back status may be defined as a return of a vehicle within a fixed time window (e.g., one month or three months) with the same or a similar problem as initially serviced. A job line can comprise one or more rows of text. A job line can comprise graphical images such as an outline of a vehicle. The graphical image can be marked to indicate information about a job.
- A job identified by an RO can comprise explicit job information that indicates a particular procedure that is to be performed, is being performed, or was performed to a vehicle, such as rotate vehicle tires, change engine oil, or replace air filter. A job identified by an RO can comprise implicit job information such as a complaint or symptom that pertains to a vehicle, such as “car does not start,” “check engine light on,” or “oil leaking.” A job with implicit job information can be revised to include explicit job information that identifies a particular procedure performed for the job.
- A job identified by an RO can comprise text representing actual language used by a person requesting performance of the job. Additionally or alternatively, a job identified by an RO can comprise text based on an interpretation of the language used by the person requesting performance of the job. A person, such as a service advisor, or a computing device can perform the interpretation.
- A job identified by an RO can comprise a job performed by or on behalf of a vehicle repair shop that generates the RO. For example, the job can be performed by a technician that is employed by the vehicle repair shop. As another example, the job can be performed by a third party (e.g., a vehicle glass specialist) commissioned by the vehicle repair shop to perform the job identified by an RO.
- An RO can comprise other data within or outside of a job line. The other RO data can comprise, for example, data classifiable in at least one of the following categories of data: repair shop identification data, vehicle owner identification data, service advisor identification data, vehicle technician identification data, vehicle identification data, repair parts data, specification data, labor data, estimate data, financial data, technician notes regarding a job performed by the technician, or miscellaneous RO data.
- The repair shop identification data can comprise, for example, data indicating a name, a location, a telephone number, a physical address, an e-mail address, or a website URL of a repair shop where performance of the job occurred. The identification data of a person, such as the vehicle owner, service advisor, or technician, can comprise at least a part of the person's name, a numeric identifier, or an alpha-numeric identifier. The vehicle owner identification data can comprise a telephone number, a physical address, or an e-mail address of the vehicle owner. The service advisor or technician identification data can comprise an employee number assigned by the vehicle repair shop.
- The vehicle identification data can comprise a vehicle identification number of a particular vehicle or data indicating some other characteristics of the particular vehicle, such as the year, make, and model of the particular vehicle or a number on a license plate attached to the vehicle. The repair parts data can comprise data that indicates, for example, a brand, quantity, amount, or price of a repair part or supply, such as a fluid, used to carry out the job. The specification data can comprise data that indicates, for example, capacities of a particular vehicle or torque specifications for the particular vehicle. The labor data can comprise data that indicates, for example, a labor rate or flagged hours. The labor rate can be associated with the vehicle repair shop or the technician assigned to the job. Flagged hours can indicate actual times when the job was performed, such as 8:15 AM to 8:45 AM.
- The estimate data can comprise cost and time estimates for carrying out each job on the RO. The estimate data can comprise one or more estimates, such as an original estimate and a revised estimate. The financial data can comprise, for example, a financial summary of costs associated with the job(s) indicated on the RO, labor rate information, or tax information. The miscellaneous RO data can comprise, for example, a calendar date, an RO number, or a vehicle odometer reading.
- An RO can be archived on a variety of media, such as any of a variety of different types of paper, or within a variety of media, such as any of a variety of different non-transitory computer-readable memories. An RO stored in a computer-readable memory can comprise metadata that identifies the category of one or more data elements on RO.
- The data to be archived as part of an RO can be received in various ways. For example, a service advisor can receive information to archive as part of an RO during a conversation in person or over the telephone, by an inspection, such as a visual inspection, or in writing. The service advisor can archive the received information by, for example, recording the information on a paper RO or entering the information into a computing device via a computer input device, such as a keyboard or mouse. The computing device can store the received information within a memory device as part of an RO.
- The information of an RO can comprise information a computing device receives via a vehicle data message generated by the vehicle. The information within a vehicle data message can, for example, comprise a vehicle identification number, an odometer reading, a diagnostic trouble code, a vehicle measurement performed by a component on a vehicle, or a parameter identifier (PID) and PID value. The vehicle measurement can, for example, comprise a tire pressure measurement or a tire temperature measurement.
- The information of an RO can comprise information a computing device receives via a message generated by a service tool used to perform the job. As an example, the service tool can comprise a wheel alignment machine that generates a message with pre-alignment wheel measurements and post-alignment wheel measurements. As another example, the service tool can comprise a vehicle inspection machine that generates measurements during an inspection of the vehicle as the vehicles passes onto or in proximity of the vehicle inspection machine.
- The information of an RO can comprise information a computing device receives via a phone call. For example, the computing device can receive audio or user selections via a touch-tone selection system during a phone call, convert the received audio and/or user selections into information to be recorded as part of an RO, and store the information in the memory. The audio or user selections can represent any data described herein as being part of an RO.
- The information of an RO can comprise information a computing device receives from a remote computing device running an application for inputting RO information. The remote computing device can comprise a smartphone, tablet device, a desktop or laptop computer or some other computing device. The information received from the remote computing device can comprise any data described herein as being part of an RO.
- The information of an RO can comprise data indicating performance of a job identified on the RO is declined or approved. The data indicating declining or approving performance of a job can comprise an electronic signature of a person that declined or approved performance of the job.
- An RO can be revised. For example, an RO may initially identify a complaint, but not a cause of the complaint or a correction to the vehicle made during performance of a job. After performance of the job, the RO may be revised to indicate the cause and the complaint. As another example, an RO generated with an implicit job “oil leaking” can be revised to reflect what job was carried out on a vehicle. For instance, the RO can be revised to state “oil leaking, looked for engine for oil leaks, replaced main seal.” Moreover, the RO can be revised based on at least one of a taxonomy or an ontology so that the RO recites predefined terms and phrases for jobs, vehicle components, vehicle component locations or other information. For example, the initial RO can be revised to state, “Customer states vehicle is leaking oil. Technician inspected vehicle for oil leaks. Technician removed and replaced rear main bearing engine oil seal. Technician confirmed vehicle is not leaking oil.”
- An RO can include an initial number of job lines. The RO can be revised to include a different number of job lines. The different number of job lines can be based on a vehicle technician recommending performance of some additional job not listed among the initial number of job lines. The additional job can be identified on a job line added by revising the RO.
- Next,
FIG. 3 is a block diagram of anexample method 300 for providing a technician assignment interface for display.Method 300 shown inFIG. 3 presents an embodiment of a method that could be used or implemented by computingdevice 102 ofFIG. 1 , for example, or by components ofcomputing device 102. In further examples,method 300 could be used or implemented by computingdevice 202 ofFIG. 2 or by components ofcomputing device 202. In additional examples,method 300 could be used or implemented by any of a variety of computing devices.Method 300 can include one or more operations, functions, or actions as illustrated by one or more of blocks 302-310. Although the blocks are illustrated in a sequential order, these blocks can also be performed in parallel, and/or in a different order than those described herein. Also, the various blocks can be combined into fewer blocks, divided into additional blocks, and/or removed based upon the desired implementation. - In addition, for the
method 300 and other processes and methods disclosed herein, the block diagram shows functionality and operation of one possible implementation of present embodiments. In this regard, each block can represent a module, a segment, or a portion of program code, which includes one or more instructions executable by a processor or computing device for implementing specific logical functions or steps in the process. The program code can be stored on any type of memory or computer-readable medium, for example, such as a storage device including a disk or hard drive. The computer-readable medium can include non-transitory computer-readable medium, for example, such as computer-readable media that stores data for short periods of time like register memory, processor cache and random access memory (RAM). The computer-readable medium can also include non-transitory media, such as secondary or persistent long term storage, like read only memory (ROM), optical or magnetic disks, compact-disc read only memory (CD-ROM), for example. The computer-readable medium can also be any other volatile or non-volatile storage systems. The computer-readable medium can be considered a computer-readable storage medium, for example, or a tangible storage device. - In addition, for the
method 300 and other processes and methods disclosed herein, each block inFIG. 3 can represent circuitry that is wired to perform the specific logical functions in the process. - At
block 302, themethod 300 includes receiving a plurality of vehicle service jobs to be performed within a given time window. In some examples, one or more of the vehicle service jobs may be received via a user interface presented to a service writer at a vehicle repair shop. For instance, a service writer may input service jobs to perform based on symptoms associated with vehicles to be serviced. In further examples, one or more of the vehicle service jobs may be generated by a computing device. The service jobs to be performed may be received at different times, or they may be received all at once. The time window could be any amount of time, such as a business day or week. -
FIG. 4 illustrates example vehicle service jobs. More specifically, a first vehicle to be serviced may have vehicle attributes 402, including a year (1997), a make (Ford), and model (Crown Victoria). Afirst service job 404 may be received for the vehicle that involves replacing an engine thermostat of the vehicle. Thefirst service job 404 may have atarget completion time 406 of 60 minutes. In some cases, thetarget completion time 406 may be based on a fixed billing rate for thefirst service job 404. For instance, it may be expected that a customer will be billed for one hour of technician time to replace an engine thermostat. - In some examples, a
user interface 400 may be presented to a technician assigned to service the vehicle. For example, theuser interface 400 could be an interface of a vehicle diagnostic device. Theuser interface 400 may display information about one or more vehicle service jobs, such as vehicle attributes 402,first service job 404 to perform on the vehicle, andtarget completion time 406 for thefirst service job 404. - Additionally, a second vehicle to be serviced may have vehicle attributes 412, including a year (2007), a make (Chevy), and model (Cobalt). A
second service job 414 may be received for the second vehicle that involves changing the engine oil and filter of the second vehicle. Thesecond service job 414 may have atarget completion time 416 of 15 minutes. Additionally,third service job 418 may be received for the second vehicle that involves replacing the battery of the second vehicle. Thethird service job 418 may have atarget completion time 420 of 30 minutes. In some examples, auser interface 410 may be presented to a technician assigned to service the second vehicle. - As illustrated in
FIG. 4 , in some examples, multiple service jobs may be performed on a single vehicle. In some examples, suggested technician assignments may be generated so that a single technician is assigned to perform all of the service jobs on a given vehicle. In other examples, suggested technician assignments may be generated so that multiple technicians are assigned to perform different service jobs on a given vehicle. For instance,second service job 414 may be assigned to one technician, andthird service job 418 may be assigned to a different technician. - Referring back to
FIG. 3 , atblock 304, themethod 300 further includes receiving technician performance data for a plurality of technicians. More specifically, technician performance data for a technician may be information about past performances of one or more of the vehicle service jobs by the technician. The technician performance data may be generated by mining ROs associated with individual technicians. In particular, the technician performance data may include information aggregated from large numbers (e.g., hundreds or thousands) of ROs. In some examples, the technician performance data may be received at or around the time that previous vehicle service jobs were completed. In further examples, the technician performance data may be stored (e.g., in a technician performance database). Portions of the technician performance data may then be retrieved (e.g., for a particular subset of technicians and a particular subset of vehicle service jobs) in order to generate a new set of technician assignments. - In some examples, the technician performance data may include the number of performances of a vehicle service job within a predetermined amount of time. For instance, the technician performance data may indicate that a technician repaired twenty-five flat tires within the past year. In further examples, the technician performance data may include completion times for particular vehicle service jobs. In additional examples, the technician performance data may include comeback rates indicating that service jobs may not have been performed properly. In particular, a comeback rate may be a rate of return of vehicles having the same or similar problems as initially serviced within a certain time window (e.g., one month or three months). The technician performance data may include a combination of different types of data.
-
FIG. 5 is an example table of technician performance times. More specifically, table 500 includes performance times in minutes for three technicians in the performance of three different vehicle service jobs. For instance,Job 1 may be engine thermostat replacement.Technician 1 may have completed three engine thermostat replacements in the times shown in table 500,Technician 2 may have completed five engine thermostat replacements in the times shown, andTechnician 3 may have completed three engine thermostat replacements in the times shown. Further,Job 2 may be changing the engine oil and filter.Technician 1 may have completedJob 2 six times as shown in table 500,Technician 2 may have completedJob 2 four times, andTechnician 3 may have completedJob 2 six times. Additionally,Job 3 may be battery replacement.Technician 1 may have completedJob 3 four times as shown in table 500,Technician 2 may not have performedJob 3 at all, andTechnician 3 may have completedJob 3 five times as shown. - As previously explained, the performance data shown in table 500 may have been aggregated over time as vehicle service jobs were performed. For instance, the data may all be stored in a technician performance database, and then later retrieved to generate scoring metrics. Additionally, the data illustrated by table 500 may be stored in any of a number of different possible data structures, including an array, a matrix, or a tree. In further examples, multiple tables may be stored, each representing a separate vehicle type, such as a separate vehicle year, make, and model. A specific table may be chosen based on the type of vehicle to be serviced in order to obtain the most relevant performance data.
- Referring back to
FIG. 3 , atblock 306, themethod 300 further includes determining scoring metrics corresponding to vehicle service jobs for each technician. More specifically, the technician performance data may be used to generate a scoring metric on a given vehicle service job to be performed for each of a group of available technicians. A scoring metric for a technician on a particular vehicle service job may be indicative of the technician's aptitude in performing the particular vehicle service job given the technician's past performances of the particular vehicle service job. The scoring metric may be determined by combining (e.g., averaging) data across a number of past performances of the particular vehicle service job. - In some examples, the scoring metrics may be determined based only on completion times for past performances of the vehicle service jobs. For instance, a scoring metric may be an average completion time based on a mathematical average of past completion times. In further examples, a scoring metric may be based on a weighted average of past completion times. For instance, more recent performances of the service jobs may be weighted more heavily. In a further example, a scoring metric may be based on a ratio of an average of past completion times (weighted or not) relative to a target completion time or baseline completion time.
- In further examples, a scoring metric may be based on a frequency of performance of a vehicle service job. For instance, a technician having performed a particular vehicle service job five times a week for the past six months may receive a higher scoring metric than another technician that only performed the particular vehicle service job once a week. In additional examples, average completion time and frequency of performance may both be factors in generating a scoring metric.
- In additional examples, a scoring metric may be based on a comeback rate of vehicles following past performances of a vehicle service job. In some examples, average completion times and comeback rates may both be factors in generating a scoring metric. For instance, a scoring metric may first be determined based on average completion time and then adjusted down for any vehicle comebacks that may indicate unsuccessful performances of the vehicle service job.
- In further examples, a default scoring metric may be determined for a technician when no past performance data is available for the technician on a given vehicle service job. In some examples, the default scoring metric may simply be the lowest possible scoring metric. In other examples, the default scoring metric may be a predetermined value associated with average or expected proficiency. In such examples, a default scoring metric for a technician may later be adjusted upwards or downwards when performance data becomes available. In further examples, scoring metrics for technicians on vehicle service jobs may be periodically updated for technicians as soon as more technician performance data becomes available. In such examples, precomputed scoring metrics may be retrieved when new vehicle service jobs to be assigned are received.
-
FIG. 6 illustrates example scoring metrics for technicians. More specifically,FIG. 6 illustrates scoring metrics determined based on the technician performance data from table 500 ofFIG. 5 . In particular, three scoring metrics are generated for each technician corresponding to the three vehicle service jobs. - In
FIG. 6 , table 602 shows scoring metrics for the three technicians on Job 1 (thermostat replacement). In this example, average completion times may be determined for each technician by averaging the completion times for each past performance ofJob 1 by the technician. A scoring metric is then generated based on a ratio of the target completion time forJob 1 to a technician's average completion time. Accordingly, a scoring metric above 1.00 may indicate an above average technician (or more efficient than average technician) for thermostat replacement, while a scoring metric below 1.00 may indicate a below average technician. As shown in table 602,Technician 2 has the highest scoring metric forJob 1 and may be the preferred technician to handle additional performances ofJob 1. - Similarly, table 604 shows scoring metrics for the three technicians on Job 2 (changing the engine oil and filter). The scoring metrics may be computed in a similar manner as described in reference to table 602. As shown in table 604,
Technician 1 has the highest scoring metric forJob 2 and may be the preferred technician to handle additional performances ofJob 2. - Additionally, table 606 shows scoring metrics for the three technicians on Job 3 (battery replacement). The scoring metrics may be computed in a similar manner as described in reference to table 602. As shown in table 606,
Technician 3 has the highest scoring metric forJob 3 and may be the preferred technician to handle additional performances ofJob 3. In this example,Technician 2 is a assigned a score of 0.00 because no performance data is available forTechnician 2 onJob 3. - Referring back to
FIG. 3 , atblock 308, themethod 300 further includes determining suggested assignments of technicians to service jobs. More specifically, a set of suggested technician assignments may be generated that maps one technician to each service job to be performed. In some examples, the highest scoring available technician may be assigned to each service job. In further examples, certain technicians may be assigned to perform multiple service jobs while other technicians may not be assigned any service jobs. - In further examples, a set of suggested technician assignments may be determined to maximize overall shop profitability or efficiency. For instance, the suggested assignments may be determined to minimize total expected completion time across all service jobs based on the technician performance data.
- In additional examples, one or more technician assignments may be suggested for the purpose of training a technician rather than selecting the highest scoring available technician. In particular, a lower scoring technician may be assigned the service job in an effort to improve the proficiency of the lower scoring technician. In some examples, training assignments may only be generated when there is extra time available in a schedule (e.g., a slow day at a repair shop) so that overall shop efficiency is not affected or not affected by more than a threshold amount.
- At
block 310, themethod 300 further includes providing a technician assignment interface for presentation on a display. More specifically, the technician assignment interface may be a user interface displayed on a computing device operated by a service writer, shop manager, or other individual in charge of confirming technician assignments. The technician assignment interface may show the suggested technician assignments for each service job to be performed. In some examples, the technician assignment interface may also show suggested time slots (e.g., start and stop times) for each service job. Accordingly, the technician assignment interface may function as a shop calendar for a day or week that shows each technician's scheduled service jobs. - In further examples, a separate computing device may provide equipment availability updates indicative of service equipment availability. Corresponding time slots for service jobs may be determined based on the equipment availability updates.
- In some examples, a technician assignment interface may include an option to confirm displayed suggested technician assignments. Upon receiving confirmation from a service writer, a computing device may provide the respective assignments to each technician. For instance, the computing device may transmit to individual diagnostic devices corresponding to each technician instructions indicating to display the steps of vehicle service jobs assigned to the technician.
-
FIG. 7 illustrates a portion of an example technician assignment interface. More specifically,display 700 may show anassignment window 702 that shows suggested technician assignments within a given time window for a repair shop. As illustrated, a suggested set of technician assignments may include assignment ofJob 1 toTechnician 2,Job 2 toTechnician 1, andJob 3 toTechnician 3. The assignments may be determined to assign the highest scoring technician on each service job to perform the service job. - As shown in
FIG. 7 , thedisplay 700 may additionally show a totaltarget completion time 704, a total expectedcompletion time 706, and an expectedprofitability metric 708. The totaltarget completion time 704 may be determined by adding together the target completion times for each ofJob 1,Job 2, andJob 3. The total expectedcompletion time 706 may be determined by adding together the average completion time ofTechnician 2 onJob 1, the average completion time ofTechnician 1 onJob 2, and the average completion time ofTechnician 3 onJob 3. The expectedprofitability 708 may be determined by computing a ratio of the total expectedcompletion time 706 to the totaltarget completion time 704. In this example, the expectedprofitability 708 of 125% may indicate that the service jobs are expected to be completed in less time than is budgeted for all of the service jobs together. - In
FIG. 7 , the total expectedcompletion time 706 and the expectedprofitability 708 are based on the displayed suggested assignments. In some examples, the suggested assignments are subject to manual override before being sent to the technicians. In such examples, if a service writer provides input data indicating one or more modifications to technician assignments, the total expectedcompletion time 706 and/or the displayed expectedprofitability metric 708 may be modified ondisplay 700 to reflect the new assignment. - In further examples, the effects of manual overrides on profitability may be tracked and later indicated on a technician assignment interface. In particular, the actual shop profitability after a manual override may be determined and compared to the expected profitability if the suggested technician assignments had been followed. A representation of this comparison may be displayed to provide a service writer with an indication of how past manual overrides have affected profitability. In some examples, the comparison may be determined and displayed for a particular type of technician assignment when a manual override is attempted. For instance, the comparison may indicate that past manual overrides of technician assignments for a particular type of service job have resulted in performance times that were 15% worse than expected for the suggested assignments.
- In further examples, a suggested set of technician assignments may be determined and displayed to maximize expected shop profitability or efficiency. If there is available time within the schedule (where one or more technicians are underutilized), one or more suggested training reassignments may be displayed to reassign service jobs to lower scoring or less experienced technicians. In some examples, a training reassignment may only be made if specifically confirmed with user input through a user interface.
- In additional examples, a suggested set of technician assignments may be determined to maximize technician utilization. For instance, based on expected job completion times of technicians on corresponding service jobs, assignments may be determined that maximize the total percentage of time that technicians are expected to be busy performing service jobs.
- In further examples, a suggested set of technician assignments may be determined to balance difficult service jobs across technicians. In some examples, each service job may have a predetermined difficulty level. In other examples, job difficulty levels may be determined by a computing device based on performance data. For instance, a service job in which technicians regularly fail to meet the target completion time or book time may be considered a more difficult service job than one which technicians usually complete on time or ahead of time.
- In some examples, predicted job completion days and/or times may additionally be provided to customers. For instance, a predicted completion day and time for a given service job may be electronically sent to a customer's phone. Additionally, the predicted completion day and time for the job may be displayed within a technician assignment interface at the shop. A predicted job completion day and/or time may be determined probabilistically based on technician performance data. For example, a service job may have a book time of ten hours, but may be assigned to a technician who typically performs the job within six hours. The average past completion time of the service job by the particular technician may be used both to determine when to schedule the service job within a shop calendar and to provide a predicted job completion time to a customer. Accordingly, a system may consider shop load as well as technician performance metrics to promptly assign and schedule an incoming service job, and to provide a customer with an expected vehicle pickup time.
- In further examples, predicted work hours and/or pay rates may be provided to technicians. For example, once a particular set of assignments for a technician is generated, the technician's past performance data may be used to generate expected working hours for the technician. The technician may also be provided with the total book time for the service jobs relative to the expected performance time. In some examples, the technician may be paid based on the total book time. Accordingly, the technician may be provided with an indication of the total expected payout as well as the total expected performance time for the technician to complete the assigned service jobs within a given time period (e.g., a week). Any or all of this information may be displayed on a computing device, such as a vehicle diagnostic device used by the technician during performance of vehicle service jobs.
-
FIG. 8 illustrates a portion of another example technician assignment interface. In this example, rankings of technicians are displayed rather than suggested technician assignments. More specifically,display 800 shows anassignment window 802 that includes arank order 804 of technicians forJob 2 and arank order 806 of technicians forJob 3. Eachrank order rank order 804 may be displayed in a technician selection dropdown menu when a user clicks onJob 2 to assign the service job. Therank order 806 may similarly be displayed in a separate dropdown menu when the user attempts to assign a technician toJob 3. Accordingly,display 800 provides a service writer with an opportunity to incorporate scoring metrics and rankings determined based on past performance data without suggesting specific technician assignments to the service writer. - In
FIG. 8 ,display 800 additionally displays totaltarget completion time 814, total expectedcompletion time 816, and expectedprofitability 818. The values for each may initially be set so that the expectedprofitability 818 is 100% using the assumption that the service jobs will be completed in target times for the service jobs. When a technician is assigned to a particular service job, the total expectedcompletion time 816 and the expectedprofitability 818 may be adjusted upward or downwards ondisplay 800 according to the technician's past performance data for the particular service job. -
FIG. 9 illustrates a portion of an additional example technician assignment interface. More specifically,FIG. 9 illustrates a dynamic user interface that shows current service job progress of technicians within a business day at a repair shop. In particular,FIG. 9 includes adisplay 900 that shows a dynamictechnician assignment window 902.Assignment window 902 shows the currently assigned service jobs to each technician. In particular,Technician 1 is scheduled to completeJobs Technician 2 is scheduled to completeJobs Technician 3 is scheduled to completeJobs -
Assignment window 902 additionally includesprogress indicators - In the example shown in
FIG. 9 , thecurrent time 914 is 11:00. Accordingly,progress indicator 904 indicates thatTechnician 1 is behind schedule for the day,progress indicator 906 indicates thatTechnician 2 is approximately on schedule for the day, andprogress indicator 908 indicates thatTechnician 3 is ahead of schedule for the day. Theprogress indicators display 900 may automatically suggest one or more technician reassignments based on theprogress indicators -
Display 900 may additionally display an expectedprofitability metric 916. The expectedprofitability metric 916 may indicate the expected profitability across all technicians given the current technician assignments and the current pace of performance of each technician. In this example, the expectedprofitability metric 916 is above 100%, which may indicate thatTechnician 3 is further ahead of schedule thanTechnician 1 is behind schedule. In some examples, one or more technician reassignments may be needed to realize this expected profitability (e.g., to reduce the workload ofTechnician 1 and/or increase the workload of Technician 3). -
FIG. 10 illustrates example filtering of technician performance data based on vehicle attributes. The technician performance data in table 1000 forTechnician 1 in performing engine thermostat replacement may be filtered to produce targetedperformance data 1004. More specifically, table 1000 includes performance times for nine past performances of the service job by the technician, but only three performance times may be used to determine the average completion time shown by targetedperformance data 1004. To filter the past performance data, only performances on vehicles sharing certain attributes with a current vehicle to be serviced may be used to generate a scoring mechanism. In this example, thefilter 1002 specifies a year range (after 1999) and make (Ford) to use as cohort attributes. Only past performances of the service job on vehicles sharing those attributes may be selected. - In some examples, a separate filter may be determined for each type of service job. The filter may indicate which vehicle attributes to use to identify the most relevant past performances of a particular type of service job for predicting technician performance in a future performance of the service job. In further examples, the filter for each service job may be hardcoded or it may be machine learned.
- In additional examples, the filter may be specified by a service writer though a technician assignment interface. For instance, a technician assignment interface may display a number of selectable vehicle attributes that may be used to filter technician performance data before determining scoring metrics and/or suggested technician assignments. A service writer may select one or more of the displayed vehicle attributes. Only past performances of service jobs on vehicles sharing the selected attributes may be considered. In further examples, a filter selected through a user interface could be applied to all service jobs or a separate filter may be selected for each service job.
- In further examples, rather than filtering out less relevant past performances of service jobs, a variable weighting system may be used. In particular, past performance data for vehicles that are more similar to a vehicle to be serviced (e.g., sharing more attributes) may be weighted more heavily in determining scoring metrics and/or suggested technician assignments than past performance data for less similar vehicles.
- In additional examples, an electronic technician performance profile may be generated. The profile may be transferrable from one repair shop to another repair shop. The profile may be displayable on a computing device at a repair shop, such as within a technician assignment interface. The profile may contain metrics and proficiencies related to a particular technician's past performances of vehicle service jobs. The profiles may be useful both to determine which technicians to employ at a given shop as well as which service jobs to assign to which technicians. In some examples, technician performance profiles may be stored at a centrally located database that is accessible by multiple repair shops. A technician performance profile may include the same types of performance information used by a scheduler software application in assigning technicians to service jobs. In further examples, a profile may aggregate technician performance data in a different manner and/or allow for display of other metrics associated with technician performance as well or instead.
- In some examples, a technician performance profile may include vehicle service job categories for which a technician is proficient. A taxonomy system may be defined that groups service jobs into different service job categories, such as maintenance, diagnostics, and under-car work. The job categories may also be associated with particular vehicle systems as well or instead, such as engine repair or brake repair. A technician assignment interface may also assign service jobs to technicians based on past performance on service jobs within particular job categories. For instance, all types of brake work may be aggregated together to determine a particular technician's proficiency to perform any type of future brake work. Service jobs may be grouped together for purposes of determining technician performance metrics in a variety of manners.
- As described above, the computing devices described herein can be any of a number of different types of computing devices.
FIG. 11 is a functional block diagram illustrating anexample computing device 1100 used in a computing system that is arranged in accordance with at least some embodiments described herein. Thecomputing device 1100 can be implemented to determine or display suggested technician assignments or to perform any of the functions described above with reference toFIGS. 1-10 . In a basic configuration 1102,computing device 1100 can typically include one ormore processors 1110 andsystem memory 1120. A memory bus 1130 can be used for communicating between theprocessor 1110 and thesystem memory 1120. Depending on the desired configuration,processor 1110 can be of any type including but not limited to a microprocessor (pP), a microcontroller (pC), a digital signal processor (DSP), or any combination thereof. Amemory controller 1115 can also be used with theprocessor 1110, or in some implementations, thememory controller 1115 can be an internal part of theprocessor 1110. - Depending on the desired configuration, the
system memory 1120 can be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof.System memory 1120 can include one ormore applications 1122, andprogram data 1124.Application 1122 can include analgorithm 1123 that is arranged to determine or display suggested technician assignments, in accordance with the present disclosure.Program data 1124 can includerepair order data 1125 that could be directed to any number of types of data. In some example embodiments,application 1122 can be arranged to operate withprogram data 1124 on an operating system. -
Computing device 1100 can have additional features or functionality, and additional interfaces to facilitate communications between the basic configuration 1102 and any devices and interfaces. For example,data storage devices 1140 can be provided including removable storage devices 1142,non-removable storage devices 1144, or a combination thereof. Examples of removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDD), optical disk drives such as compact disc (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few. Computer storage media can include volatile and nonvolatile, non-transitory, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. -
System memory 1120 andstorage devices 1140 are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed bycomputing device 1100. Any such computer storage media can be part ofdevice 1100. -
Computing device 1100 can be implemented as a portion of a small-form factor portable (or mobile) electronic device such as a cell phone, a personal data assistant (PDA), a personal media player device, a wireless web-watch device, a personal headset device, an application specific device, or a hybrid device that include any of the above functions.Computing device 1100 can also be implemented as a personal computer, including both laptop computer and non-laptop computer configurations, or a server. In some embodiments, the disclosed methods can be implemented as computer program instructions encoded on a non-transitory computer-readable storage media in a machine-readable format, or on other non-transitory media or articles of manufacture.FIG. 12 is a schematic illustrating a conceptual partial view of an examplecomputer program product 1200 that includes a computer program for executing a computer process on a computing device, arranged according to at least some embodiments presented herein. -
Computing device 1100 can also includeoutput interfaces 1150 that can include agraphics processing unit 1152, which can be configured to communicate to various external devices such asdisplay devices 1160 or speakers via one or more A/V ports 1154 or acommunication interface 1170. Thecommunication interface 1170 can include anetwork controller 1172, which can be arranged to facilitate communications with one or moreother computing devices 1180 over a network communication via one ormore communication ports 1174. The communication connection is one example of a communication media. Communication media can be embodied by computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. A modulated data signal can be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media can include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared (IR) and other wireless media. - In one embodiment, the example
computer program product 1200 is provided using a signal bearing medium 1201. The signal bearing medium 1201 can include one ormore programming instructions 1202 that, when executed by one or more processors can provide functionality or portions of the functionality described above with respect toFIGS. 1-10 . In some examples, the signal bearing medium 1201 can encompass a computer-readable medium 1203, such as, but not limited to, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc. In some implementations, the signal bearing medium 1201 can encompass acomputer recordable medium 1204, such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations, the signal bearing medium 1201 can encompass a communications medium 1205, such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.). Thus, for example, the signal bearing medium 1201 can be conveyed by a wireless form of the communications medium 1205 (e.g., a wireless communications medium conforming to the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard or another transmission protocol). - The one or
more programming instructions 1202 can be, for example, computer executable and/or logic implemented instructions. In some examples, a computing device such as thecomputing device 1100 ofFIG. 11 can be configured to provide various operations, functions, or actions in response to theprogramming instructions 1202 conveyed to thecomputing device 1100 by one or more of the computer-readable medium 1203, thecomputer recordable medium 1204, and/or thecommunications medium 1205. - It should be understood that arrangements described herein are for purposes of example only. As such, those skilled in the art will appreciate that other arrangements and other elements (e.g. machines, interfaces, functions, orders, and groupings of functions, etc.) can be used instead, and some elements can be omitted altogether according to the desired results. Further, many of the elements that are described are functional entities that can be implemented as discrete or distributed components or in conjunction with other components, in any suitable combination and location.
- While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope being indicated by the following claims, along with the full scope of equivalents to which such claims are entitled. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting.
- Embodiments of the present disclosure may thus relate to one of the enumerated example embodiments (EEEs) listed below.
-
EEE 1 is a method comprising: receiving, by a computing device, a plurality of vehicle service jobs to be performed in a given time window; receiving, by the computing device, technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs; determining, by the computing device based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians; determining, by the computing device based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each vehicle service job of the plurality of vehicle service jobs; and providing, by the computing device for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each vehicle service job of the plurality of vehicle service jobs. -
EEE 2 is the method ofEEE 1, wherein determining the plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians comprises determining an average completion time of a plurality of past performances of a particular vehicle service job by a particular technician. -
EEE 3 is the method ofEEE -
EEE 4 is the method of any one ofEEE 1 to 3, wherein determining the plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians comprises determining a frequency of performance of a particular vehicle service job by a particular technician. -
EEE 5 is the method of any one ofEEE 1 to 4, wherein determining the plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians comprises: identifying past performances of a particular vehicle service job by a particular technician on vehicles sharing one or more cohort attributes with a vehicle to be serviced with the particular vehicle service job in the given time window; and determining the scoring metric corresponding to the particular vehicle service job for the particular technician based on the identified past performances. -
EEE 6 is the method of any one ofEEE 1 to 4, wherein determining the plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians comprises: causing a plurality of selectable vehicle attributes to be displayed in the technician assignment interface; receiving, from the technician assignment interface, a selection of one or more cohort attributes from the displayed plurality of selectable vehicle attributes; identifying past performances of a particular vehicle service job by a particular technician on vehicles sharing the one or more cohort attributes with a vehicle to be serviced with the particular vehicle service job in the given time window; and determining the scoring metric corresponding to the particular vehicle service job for the particular technician based on the identified past performances. -
EEE 7 is the method of any one ofEEE 1 to 6, further comprising: determining, based on the scoring metrics, a rank order of the plurality of technicians for a particular vehicle service job of the plurality of vehicle service jobs; and causing the rank order of the plurality of technicians to be displayed in the technician assignment interface. -
EEE 8 is the method of any one ofEEE 1 to 7, further comprising: receiving, from the technician assignment interface, a confirmation of the displayed suggested technician assignments; and in response to receiving the confirmation, providing, by the computing device to a plurality of other computing devices corresponding to the plurality of technicians, instructions to display steps of vehicle service jobs assigned to the corresponding technician according to the displayed suggested technician assignments. -
EEE 9 is the method ofEEE 8, further comprising: receiving, at the computing device from the plurality of other computing devices, job status updates indicative of a current pace of performance of in-progress vehicle service jobs of the plurality of vehicle service jobs; and causing an indication of the current pace of performance of each of the in-progress vehicle service jobs to be displayed in the technician assignment interface. -
EEE 10 is the method ofEEE 9, further comprising adjusting one or more of the suggested technician assignments based on the job status updates. -
EEE 11 is the method of any one ofEEE 1 to 10, further comprising: determining corresponding time slots within the given time window for the plurality of vehicle service jobs; and causing the plurality of vehicle service jobs to be displayed at the corresponding time slots in the technician assignment interface. -
EEE 12 is the method ofEEE 11, further comprising: receiving, at the computing device, equipment availability updates indicative of service equipment availability within the given time window; and determining the corresponding time slots based on the equipment availability updates. - EEE 13 is the method of any one of
EEE 1 to 12, further comprising: determining an expected profitability metric indicative of an expected profitability of the plurality of vehicle service jobs based on the suggested technician assignments; and causing the expected profitability metric to be displayed in the technician assignment interface. - EEE 14 is the method of EEE 13, further comprising: receiving, from the technician assignment interface, input data indicating one or more modifications to the suggested technician assignments; and modifying the displayed expected profitability metric based on the one or more modifications to the suggested technician assignments.
-
EEE 15 is the method of any one ofEEE 1 to 14, further comprising: determining an expected profitability metric indicative of an expected profitability of the plurality of vehicle service jobs based on the suggested technician assignments; determining that the expected profitability metric is below a target profitability level; determining a suggested rescheduling of one or more vehicle service jobs of the plurality of vehicle service jobs to one or more time slots outside of the given time window in order to increase the expected profitability metric above the target profitability level; and causing an indication of the suggested rescheduling of the one or more vehicle service jobs to be displayed in the technician assignment interface. -
EEE 16 is the method of any one ofEEE 1 to 15, further comprising: identifying a training reassignment of a particular vehicle service job from a first technician to a second technician, wherein the second technician has a lower scoring metric for the particular vehicle service job than the first technician; determining that the plurality of vehicle service jobs are predicted to be completed within the given time window after the training reassignment; and adjusting the suggested technician assignments to include the training reassignment. -
EEE 17 is the method of any one ofEEE 1 to 16, further comprising: determining an expected profitability metric indicative of an expected profitability of the plurality of vehicle service jobs based on the suggested technician assignments; identifying a training reassignment of a particular vehicle service job from a first technician to a second technician, wherein the second technician has a lower scoring metric for the particular vehicle service job than the first technician; determining that the expected profitability metric is above a target profitability level after the training reassignment; and adjusting the suggested technician assignments to include the training reassignment. -
EEE 18 is the method of any one ofEEE 1 to 17, further comprising: determining, based on the technician performance data, a plurality of job difficulty levels corresponding to the plurality of vehicle service jobs to be performed; and determining the suggested technician assignments to balance the plurality of job difficulty levels across the plurality of technicians. - EEE 19 is the method of any one of
EEE 1 to 18, further comprising: determining, based on the technician performance data, a plurality of expected job completion times corresponding to the plurality of vehicle service jobs for each of the plurality of technicians; and determining the technician assignments based on the expected job completion times in order to maximize technician utilization time while completing the plurality of vehicle service jobs within the given time window. -
EEE 20 is a computing device comprising: a display interface; one or more processors; a non-transitory computer readable medium; and program instructions stored on the non-transitory computer readable medium and executable by the one or more processors to cause the computing device to perform functions comprising: receiving a plurality of vehicle service jobs to be performed in a given time window; receive technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs; determining, based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians; determining, based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each vehicle service job of the plurality of vehicle service jobs; and providing, for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each vehicle service job of the plurality of vehicle service jobs. The program instructions may be further executable by the one or more processors to cause the computing device to perform any of the functions ofEEE 2 to 19. - EEE 21 is a non-transitory computer readable medium having stored therein program instructions executable by one or more processors to cause a computing system to perform functions comprising: receiving a plurality of vehicle service jobs to be performed in a given time window; receive technician performance data for a plurality of technicians, wherein the technician performance data for a given technician is indicative of past performances by the given technician of one or more of the vehicle service jobs; determining, based on the technician performance data, a plurality of scoring metrics corresponding to the plurality of vehicle service jobs for each of the plurality of technicians; determining, based on the scoring metrics, suggested technician assignments of individual technicians of the plurality of technicians to each vehicle service job of the plurality of vehicle service jobs; and providing, for presentation on a display, a technician assignment interface that shows the suggested technician assignments of the individual technicians to each vehicle service job of the plurality of vehicle service jobs. The program instructions may be further executable by the one or more processors to cause the computing system to perform any of the functions of
EEE 2 to 19.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/928,378 US20200342389A1 (en) | 2017-06-16 | 2020-07-14 | Technician Assignment Interface |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/625,388 US10733548B2 (en) | 2017-06-16 | 2017-06-16 | Technician assignment interface |
US16/928,378 US20200342389A1 (en) | 2017-06-16 | 2020-07-14 | Technician Assignment Interface |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/625,388 Continuation US10733548B2 (en) | 2017-06-16 | 2017-06-16 | Technician assignment interface |
Publications (1)
Publication Number | Publication Date |
---|---|
US20200342389A1 true US20200342389A1 (en) | 2020-10-29 |
Family
ID=62842290
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/625,388 Active 2038-07-11 US10733548B2 (en) | 2017-06-16 | 2017-06-16 | Technician assignment interface |
US16/928,378 Pending US20200342389A1 (en) | 2017-06-16 | 2020-07-14 | Technician Assignment Interface |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/625,388 Active 2038-07-11 US10733548B2 (en) | 2017-06-16 | 2017-06-16 | Technician assignment interface |
Country Status (2)
Country | Link |
---|---|
US (2) | US10733548B2 (en) |
WO (1) | WO2018232306A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220245551A1 (en) * | 2021-02-03 | 2022-08-04 | ServiceTitan, Inc. | Adjustable work-flow capacity planning |
US11544114B1 (en) * | 2019-05-24 | 2023-01-03 | F5, Inc. | Methods for optimizing cloud-scale distributed asynchronous systems with idempotent workloads and devices thereof |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10150455B1 (en) * | 2018-02-13 | 2018-12-11 | Cmt Group Llc | Automotive service line |
US10708277B2 (en) * | 2018-03-02 | 2020-07-07 | Bosch Automotive Service Solutions Inc. | Artificial intelligence for a vehicle service ecosystem |
US11094220B2 (en) * | 2018-10-23 | 2021-08-17 | International Business Machines Corporation | Intelligent augmented reality for technical support engineers |
US11823104B2 (en) | 2018-12-27 | 2023-11-21 | Clicksoftware, Inc. | Systems and methods for scheduling connected device |
US11074768B2 (en) * | 2019-01-25 | 2021-07-27 | Snap-On Incorporated | Method and system for providing scanner jobs on diagnostic tool |
JP7252075B2 (en) * | 2019-06-27 | 2023-04-04 | 本田技研工業株式会社 | Information processing device and control method for information processing device |
US11852505B2 (en) | 2019-09-18 | 2023-12-26 | Johnson Controls Tyco IP Holdings LLP | Critical environment monitoring system |
EP4031940A1 (en) | 2019-09-18 | 2022-07-27 | Johnson Controls Tyco IP Holdings LLP | Building systems for improving temperature, pressure and humidity compliance |
KR102385073B1 (en) * | 2020-11-13 | 2022-04-11 | (주)뤼이드 | Learning problem recommendation system that recommends evaluable problems through unification of the score probability distribution form and operation thereof |
WO2023150673A2 (en) * | 2022-02-04 | 2023-08-10 | Mezo Inc. | Diagnosing and troubleshooting maintenance repair requests using an artificial intelligence-driven chatbot |
CN116303830B (en) * | 2023-03-15 | 2023-10-17 | 深圳开思时代科技有限公司 | Matching method and system for parts to be repaired of automobile |
CN116400756B (en) * | 2023-06-05 | 2023-08-18 | 山东颐德电气设备工程有限公司 | Multi-field electrical equipment monitoring management system and method |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020007289A1 (en) * | 2000-07-11 | 2002-01-17 | Malin Mark Elliott | Method and apparatus for processing automobile repair data and statistics |
US20060229896A1 (en) * | 2005-04-11 | 2006-10-12 | Howard Rosen | Match-based employment system and method |
US7385479B1 (en) * | 2004-11-12 | 2008-06-10 | Esp Systems, Llc | Service personnel communication system |
US20090018890A1 (en) * | 2007-07-13 | 2009-01-15 | Ted Werth | Systems and methods for hybrid delivery of remote and local technical support via a centralized service |
US20090313078A1 (en) * | 2008-06-12 | 2009-12-17 | Cross Geoffrey Mark Timothy | Hybrid human/computer image processing method |
US20090327024A1 (en) * | 2008-06-27 | 2009-12-31 | Certusview Technologies, Llc | Methods and apparatus for quality assessment of a field service operation |
US20110213733A1 (en) * | 2010-02-26 | 2011-09-01 | Cail Ii Dennis Ray | System and method for grading and rating green and sustainable jobs |
US8046251B2 (en) * | 2000-08-03 | 2011-10-25 | Kronos Talent Management Inc. | Electronic employee selection systems and methods |
US20130275187A1 (en) * | 2012-03-19 | 2013-10-17 | Work Measurement Analyteks, LLC | Work measurement toolkit |
US20130325541A1 (en) * | 2012-05-08 | 2013-12-05 | John A. Capriotti | System and method for managing and providing vehicle maintenance |
US20140142998A1 (en) * | 2012-11-19 | 2014-05-22 | Fmr Llc | Method and System for Optimized Task Assignment |
US20140278661A1 (en) * | 2009-02-11 | 2014-09-18 | Certusview Technologies, Llc | Methods, apparatus, and systems for dispatching service technicians |
US20150262114A1 (en) * | 2014-03-14 | 2015-09-17 | Kabi Llc | Works timing |
US20150286979A1 (en) * | 2014-04-04 | 2015-10-08 | Kabi Llc | Job loader |
US20160100000A1 (en) * | 2013-12-11 | 2016-04-07 | Hewlett-Packard Development Company, L.P. | Result aggregation |
US20170076241A1 (en) * | 2015-09-10 | 2017-03-16 | Xerox Corporation | Method and system for selecting crowd workforce for processing task |
US20170301039A1 (en) * | 2014-11-03 | 2017-10-19 | PJS of Texas Inc. | Devices, Systems, and Methods of Activity-Based Monitoring and Incentivization |
Family Cites Families (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6859699B2 (en) | 1997-05-16 | 2005-02-22 | Snap-On Incorporated | Network-based method and system for distributing data |
US6141608A (en) | 1997-10-28 | 2000-10-31 | Snap-On Tools Company | System for dynamic diagnosis of apparatus operating conditions |
US6263322B1 (en) | 1998-07-07 | 2001-07-17 | Hunter Engineering Company | Integrated automotive service system and method |
US6301531B1 (en) | 1999-08-23 | 2001-10-09 | General Electric Company | Vehicle maintenance management system and method |
US20020007237A1 (en) | 2000-06-14 | 2002-01-17 | Phung Tam A. | Method and system for the diagnosis of vehicles |
EP1303897A1 (en) | 2000-06-26 | 2003-04-23 | Premier Aviation, Inc. | Method and apparatus for detecting electrical faults and isolating power source from the electrical faults |
CA2420414A1 (en) | 2000-08-23 | 2002-02-28 | General Electric Company | Method for training service personnel to service selected equipment |
US20030217025A1 (en) | 2000-09-11 | 2003-11-20 | David Costantino | Textual data storage system and method |
ES2383344T3 (en) | 2001-03-20 | 2012-06-20 | Snap-On Incorporated | Diagnostic Director |
US6907416B2 (en) | 2001-06-04 | 2005-06-14 | Honeywell International Inc. | Adaptive knowledge management system for vehicle trend monitoring, health management and preventive maintenance |
US6662091B2 (en) | 2001-06-29 | 2003-12-09 | Battelle Memorial Institute | Diagnostics/prognostics using wireless links |
US6928345B2 (en) | 2003-03-06 | 2005-08-09 | Honeywell International Inc. | Vehicle health management system |
US7092937B2 (en) | 2003-04-07 | 2006-08-15 | General Motors Corporation | Vehicle diagnostic knowledge delivery |
US6768935B1 (en) | 2003-04-07 | 2004-07-27 | General Motors Corporation | Vehicle diagnostic record mapping |
US20050015186A1 (en) | 2003-06-02 | 2005-01-20 | John Kelly | Method and system of managing service reminders using mileage estimates |
US7209860B2 (en) | 2003-07-07 | 2007-04-24 | Snap-On Incorporated | Distributed expert diagnostic service and system |
US20050085964A1 (en) | 2003-10-21 | 2005-04-21 | Knapp Benjamin P. | Network coupled diagnosis and maintenance system |
US7289020B2 (en) | 2004-06-07 | 2007-10-30 | Hunter Engineering Company | Method and apparatus for assisted vehicle identification and service |
US7142960B2 (en) | 2004-10-14 | 2006-11-28 | Snap-On Incorporated | Prioritized test procedure and step display using statistical feedback |
US8005853B2 (en) | 2004-11-09 | 2011-08-23 | Snap-On Incorporated | Method and system for dynamically adjusting searches for diagnostic information |
US7526461B2 (en) | 2004-11-17 | 2009-04-28 | Gm Global Technology Operations, Inc. | System and method for temporal data mining |
US7555376B2 (en) | 2004-12-14 | 2009-06-30 | Snap-On Incorporated | Dynamic information method and system |
ATE387649T1 (en) | 2004-12-21 | 2008-03-15 | Ibm | DIAGNOSTIC METHOD AND SYSTEM |
US7209815B2 (en) | 2004-12-28 | 2007-04-24 | Snap-On Incorporated | Test procedures using pictures |
US8024083B2 (en) | 2005-06-30 | 2011-09-20 | Chenn Ieon C | Cellphone based vehicle diagnostic system |
US8068951B2 (en) | 2005-06-24 | 2011-11-29 | Chen Ieon C | Vehicle diagnostic system |
US8019503B2 (en) | 2007-06-28 | 2011-09-13 | Innova Electronics Corp | Automotive diagnostic and remedial process |
US9117319B2 (en) | 2005-06-30 | 2015-08-25 | Innova Electronics, Inc. | Handheld automotive diagnostic tool with VIN decoder and communication system |
US7373225B1 (en) | 2005-07-25 | 2008-05-13 | Snap-On Incorporated | Method and system for optimizing vehicle diagnostic trees using similar templates |
US7373226B1 (en) | 2005-07-25 | 2008-05-13 | Snap-On Incorporated | System and method for optimizing vehicle diagnostic tress using similar templates |
US7551993B1 (en) | 2005-07-25 | 2009-06-23 | Snap-On Incorporated | Diagnostic tree substitution system and method |
US20070043487A1 (en) | 2005-08-19 | 2007-02-22 | Snap-On Incorporated | Method and system for providing vehicle-service alerts to a vehicle technician |
US7739007B2 (en) | 2006-03-29 | 2010-06-15 | Snap-On Incorporated | Vehicle diagnostic method and system with intelligent data collection |
US7751955B2 (en) | 2006-06-30 | 2010-07-06 | Spx Corporation | Diagnostics data collection and analysis method and apparatus to diagnose vehicle component failures |
US8630765B2 (en) | 2006-11-17 | 2014-01-14 | Innova Electronics, Inc. | OBD II-compliant diagnostic PC tablet and method of use |
US8694328B1 (en) | 2006-12-14 | 2014-04-08 | Joseph Gormley | Vehicle customization and personalization activities |
US7363129B1 (en) | 2007-01-05 | 2008-04-22 | Moon Valley Software | Apparatus, system and method that interfaces with an automobile engine control unit |
US7945438B2 (en) | 2007-04-02 | 2011-05-17 | International Business Machines Corporation | Automated glossary creation |
ITBO20070531A1 (en) | 2007-07-30 | 2009-01-31 | T E Systems And Advanced Tec H | METHOD OF DIAGNOSIS OF A COMPONENT OF A VEHICLE |
US20090295559A1 (en) | 2008-06-02 | 2009-12-03 | Gm Global Technology Operations, Inc. | Integrated hierarchical process for fault detection and isolation |
US8374745B2 (en) | 2008-09-05 | 2013-02-12 | GM Global Technology Operations LLC | Telematics-enabled aggregated vehicle diagnosis and prognosis |
JP5453769B2 (en) | 2008-11-06 | 2014-03-26 | トヨタ自動車株式会社 | Vehicle battery diagnosis system and vehicle battery diagnosis method |
US9978186B2 (en) | 2009-01-09 | 2018-05-22 | The Raymond Corporation | Information reporting system for managing a fleet of an industrial vehicles |
US8285438B2 (en) | 2009-11-16 | 2012-10-09 | Honeywell International Inc. | Methods systems and apparatus for analyzing complex systems via prognostic reasoning |
US8676432B2 (en) | 2010-01-13 | 2014-03-18 | GM Global Technology Operations LLC | Fault prediction framework using temporal data mining |
US8301333B2 (en) | 2010-03-24 | 2012-10-30 | GM Global Technology Operations LLC | Event-driven fault diagnosis framework for automotive systems |
JP2012043396A (en) | 2010-08-13 | 2012-03-01 | Hyundai Motor Co Ltd | System and method for managing vehicle consumables using augmented reality |
KR101703163B1 (en) | 2011-03-22 | 2017-02-07 | 한국전자통신연구원 | Apparatus and method for predicting vehicle mixed fault |
US8509985B2 (en) | 2011-05-25 | 2013-08-13 | GM Global Technology Operations LLC | Detecting anomalies in fault code settings and enhancing service documents using analytical symptoms |
US8190749B1 (en) | 2011-07-12 | 2012-05-29 | Google Inc. | Systems and methods for accessing an interaction state between multiple devices |
US8930064B2 (en) | 2011-10-27 | 2015-01-06 | Snap-On Incorporated | Method and system for automated and manual data capture configuration |
US9171209B2 (en) | 2012-02-23 | 2015-10-27 | Tyco Electronics Uk Infrastructure Limited | Overlay-based asset location and identification system |
US8744668B2 (en) | 2012-05-09 | 2014-06-03 | Bosch Automotive Service Solutions Llc | Automotive diagnostic server |
US8977423B2 (en) | 2012-05-23 | 2015-03-10 | Snap-On Incorporated | Methods and systems for providing vehicle repair information |
GB201211283D0 (en) | 2012-06-26 | 2012-08-08 | Bae Systems Plc | Assisting with vehicle assessment |
US20140075356A1 (en) | 2012-09-07 | 2014-03-13 | Service Solutions U.S. Llc | Diagnostic Hub |
CN103792093A (en) | 2012-10-29 | 2014-05-14 | 北京开元智信通软件有限公司 | Automobile diagnosis method, server and system |
US8825271B2 (en) | 2013-01-04 | 2014-09-02 | Innova Electronics, Inc. | Smart phone app-based VIN decoding and symptomatic diagnostic system and method |
US9014908B2 (en) | 2013-01-04 | 2015-04-21 | Innova Electronics, Inc. | Multi-stage diagnostic system and method |
US9142066B2 (en) | 2013-01-04 | 2015-09-22 | Innova Electronics, Inc. | Multi-stage diagnostic system and method |
US9158834B2 (en) | 2013-01-21 | 2015-10-13 | Snap-On Incorporated | Methods and systems for mapping repair orders within a database |
US9858731B2 (en) | 2013-03-15 | 2018-01-02 | Bosch Automotive Service Solutions Inc. | Graphical user interface with vehicle scanned function |
US10134203B2 (en) | 2013-03-23 | 2018-11-20 | Dexen Industries, Inc | Networked monitoring system for automobiles |
US20150066781A1 (en) | 2013-09-05 | 2015-03-05 | Snap-On Incorporated | Prognostics-Based Estimator |
-
2017
- 2017-06-16 US US15/625,388 patent/US10733548B2/en active Active
-
2018
- 2018-06-15 WO PCT/US2018/037856 patent/WO2018232306A1/en active Application Filing
-
2020
- 2020-07-14 US US16/928,378 patent/US20200342389A1/en active Pending
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020007289A1 (en) * | 2000-07-11 | 2002-01-17 | Malin Mark Elliott | Method and apparatus for processing automobile repair data and statistics |
US8046251B2 (en) * | 2000-08-03 | 2011-10-25 | Kronos Talent Management Inc. | Electronic employee selection systems and methods |
US8265977B2 (en) * | 2000-08-03 | 2012-09-11 | Kronos Talent Management Inc. | Electronic employee selection systems and methods |
US7385479B1 (en) * | 2004-11-12 | 2008-06-10 | Esp Systems, Llc | Service personnel communication system |
US20060229896A1 (en) * | 2005-04-11 | 2006-10-12 | Howard Rosen | Match-based employment system and method |
US20090018890A1 (en) * | 2007-07-13 | 2009-01-15 | Ted Werth | Systems and methods for hybrid delivery of remote and local technical support via a centralized service |
US20090313078A1 (en) * | 2008-06-12 | 2009-12-17 | Cross Geoffrey Mark Timothy | Hybrid human/computer image processing method |
US20090327024A1 (en) * | 2008-06-27 | 2009-12-31 | Certusview Technologies, Llc | Methods and apparatus for quality assessment of a field service operation |
US20140278661A1 (en) * | 2009-02-11 | 2014-09-18 | Certusview Technologies, Llc | Methods, apparatus, and systems for dispatching service technicians |
US20110213733A1 (en) * | 2010-02-26 | 2011-09-01 | Cail Ii Dennis Ray | System and method for grading and rating green and sustainable jobs |
US20130275187A1 (en) * | 2012-03-19 | 2013-10-17 | Work Measurement Analyteks, LLC | Work measurement toolkit |
US20130325541A1 (en) * | 2012-05-08 | 2013-12-05 | John A. Capriotti | System and method for managing and providing vehicle maintenance |
US20140142998A1 (en) * | 2012-11-19 | 2014-05-22 | Fmr Llc | Method and System for Optimized Task Assignment |
US20160100000A1 (en) * | 2013-12-11 | 2016-04-07 | Hewlett-Packard Development Company, L.P. | Result aggregation |
US20150262114A1 (en) * | 2014-03-14 | 2015-09-17 | Kabi Llc | Works timing |
US20150286979A1 (en) * | 2014-04-04 | 2015-10-08 | Kabi Llc | Job loader |
US20170301039A1 (en) * | 2014-11-03 | 2017-10-19 | PJS of Texas Inc. | Devices, Systems, and Methods of Activity-Based Monitoring and Incentivization |
US20170076241A1 (en) * | 2015-09-10 | 2017-03-16 | Xerox Corporation | Method and system for selecting crowd workforce for processing task |
Non-Patent Citations (4)
Title |
---|
Cordeau, Jean-François, et al. "Scheduling technicians and tasks in a telecommunications company." Journal of Scheduling 13.4 (2010): 393-409. (Year: 2010) * |
Pillac, Victor, Christelle Guéret, and Andrés Medaglia. On the dynamic technician routing and scheduling problem. Diss. Ecole des Mines de Nantes, 2012. (Year: 2012) * |
Solomon, Marius M. "Algorithms for the vehicle routing and scheduling problems with time window constraints." Operations research 35.2 (1987): 254-265. (Year: 1987) * |
Xu, Jiyang, and Steve Y. Chiu. "Effective heuristic procedures for a field technician scheduling problem." Journal of Heuristics 7.5 (2001): 495-509. (Year: 2001) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11544114B1 (en) * | 2019-05-24 | 2023-01-03 | F5, Inc. | Methods for optimizing cloud-scale distributed asynchronous systems with idempotent workloads and devices thereof |
US20220245551A1 (en) * | 2021-02-03 | 2022-08-04 | ServiceTitan, Inc. | Adjustable work-flow capacity planning |
Also Published As
Publication number | Publication date |
---|---|
US20180365621A1 (en) | 2018-12-20 |
US10733548B2 (en) | 2020-08-04 |
WO2018232306A1 (en) | 2018-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200342389A1 (en) | Technician Assignment Interface | |
CA2915629C (en) | System and method for pre-evaluation vehicle diagnostic and repair cost estimation | |
Baines et al. | Made to serve | |
US20220036318A1 (en) | System and Method for Vehicle Service Scheduler | |
US20150066781A1 (en) | Prognostics-Based Estimator | |
US20120130844A1 (en) | Automotive diagnostic and estimate system and method | |
US20120284087A1 (en) | System and Method for Providing Competitive Pricing for Automobiles | |
WO2015035056A2 (en) | Prognostics-based estimator | |
US20060184383A1 (en) | Methods and systems for pricing parts and components | |
US20080208609A1 (en) | Smart inspections | |
US20200234223A1 (en) | Technician Timer | |
Borchardt et al. | Achieving better revenue and customers’ satisfaction with after-sales services: How do the best branded car dealerships get it? | |
Johnson et al. | Characterizing plug-in hybrid electric vehicle consumers most influenced by california’s electric vehicle rebate | |
US20240012991A1 (en) | Recommendation platform for skill development | |
JP6902162B2 (en) | Information processing equipment and programs | |
US20230237587A1 (en) | Dynamic automated insurance application architecture | |
Texis et al. | Proposal: Lean Model for Continuous Improvement as a Cost Reduction Strategy, SME: SL Service Automotive Mechanical Engineering | |
US20240029032A1 (en) | Vehicle telematics systems and methods | |
Weglage | Fleet customer loyalty analysis and action plan for Volkswagen Service in Finland | |
Okatch | Towards a framework for the development of effective subcontracting relations and networks among small, medium and large firms in the motor vehicle manufacturing industry in Kenya | |
Onisimchuk | Strategic management of automobile dealership center distribution channels | |
Wanda | Evaluation of forecasting methods for critical maintenance spare parts for the bus industry in South Africa | |
Csepinszky | Operational results and conclusions of the fot execution phase of eurofot european large scale field operational test | |
Oosthuizen | Evaluating the impact of pre-diagnostics on an automotive workshop’s operational efficiency | |
Pacheco | Solving Transparency Issues at Bosch Car Service by Introducing an Enterprise Resource Planning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SNAP-ON INCORPORATED, WISCONSIN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MERG, PATRICK S.;FOREMAN, JACOB B.;MERCER, TODD;AND OTHERS;SIGNING DATES FROM 20170616 TO 20170619;REEL/FRAME:053215/0043 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |