FIELD OF THE INVENTION
This application claims priority from U.S. patent application Ser. No. 09/365,787, filed Aug. 3, 1999.
The present invention relates generally to a method and system for selecting an item from a pool of items to fill a position and more particularly to a computer-hosted method and system for generating and storing profiles of items based on characteristics, features and specifications, generating and storing a profile for an item request, adjusting the profile of items based on the item request profile, and comparing items based on their adjusted profiles.
In the context of selecting a product from a pool of products to satisfy a customer's request, the present invention relates to a computer-hosted method and system for generating and storing profiles of products based on features or characteristics and specifications relating to those characteristics, adjusting the product profile based on the customer's request for a product, and comparing products based on their adjusted profiles.
- BACKGROUND OF THE INVENTION
In the context of filling a job position with a job candidate, the present invention relates to a computer-hosted method and system for generating and storing profiles of candidates based on skills and experience, generating and storing a skills profile for a position to be filled, adjusting the skills profile of candidates based on levels of skills needed, and comparing candidates based on their adjusted profiles.
One application of matching technology is in the field of finding qualified job candidates for a position to be filled. A number of web sites exist for matching job candidates to jobs or positions. These systems collect resume data from candidates and a job description from an employer. These services provide rudimentary matching that yields a high percentage of “matches” that are not necessarily qualified, or are overqualified, for given positions. What has been needed is a more sophisticated method and system for collecting data from candidates about their skills and data from employers about their needs. What has further been needed is a more finely tuned system and method of matching a candidate to a position to optimize the match such that an overqualified candidate is not used and is therefore still available in the candidate pool.
- SUMMARY OF THE INVENTION
Other opportunities to use optimal matching technology exist in the field of product or item selection, and in any other arena in which a thing can be represented by one or more parameters that can be expressed numerically.
The apparatus, system and method of the present invention yield highly compatible matches of an item to a use for an item. In the context of product matching, a customer will find a product that best suits the customer's product request. More specifically, the system and method will return products that possess the features, characteristics, or qualities and specifications requested by the customer at the level requested by the customer. The system and method use a weighting technique to limit or adjust the score that a product has as it is evaluated for a particular use.
In the context of employment, the apparatus, system and method of the present invention yield highly compatible matches that should be satisfying for both employers and employees. Employers will find candidates who possess the skills they need at the level required for the position. Candidates can step into these positions confident that they are qualified and that their knowledge and experience are valued. Further, this system and method produce conservation of skills: because employers are able to select candidates that “just fit” instead of those with the highest scores, jobs and positions can be staffed such that skills are not wasted where they are not needed. This leaves a more valuable pool of candidates from which to select for subsequent positions.
BRIEF DESCRIPTION OF THE DRAWINGS
The apparatus, system and method of the present invention further relates to the schemes or models for adjusting scores for candidate items, and to the selection of a scheme or model from amongst several pre-defined schemes.
An exemplary version of an apparatus, system and method for selecting an item for a particular use from a pool of items is shown in the figures wherein like reference numerals refer to equivalent structure or steps throughout, and wherein:
FIG. 1a is a schematic representation of an apparatus, system and method according to the present invention;
FIG. 1b shows exemplary hardware for implementing the apparatus, system and method of FIG. 1;
FIG. 1c is a schematic illustration of an apparatus, system and method according to the present invention;
FIG. 2 is a flow chart illustrating the data gathering and verifying phase of the system and method according to the present invention;
FIG. 3 is a flow chart illustrating the data matching phase of the system and method according to the present invention;
FIG. 4 is a flow chart illustrating a feedback process of the system and method according to the present invention;
FIG. 5 is an exemplary table for receiving and displaying data pertaining to a candidate's technical skills for use with the system and method of the present invention;
FIG. 6 is an exemplary table for receiving and displaying data pertaining to a candidate's industry experience for use with the system and method of the present invention;
FIG. 7 is an exemplary table for receiving and displaying data pertaining to a candidate's communication skills for use with the system and method of the present invention;
FIG. 8 is an exemplary table for receiving and displaying data pertaining to a candidate's project experience for use with the system and method of the present invention;
FIG. 9 is an exemplary table for receiving and displaying data pertaining to the skill level required for one or more skills needed for a position to be filled for use with the system and method of the present invention;
FIG. 10 is an exemplary table for displaying information used to compute the maximum possible score for a given position for use with the system and method of the present invention;
FIG. 11a is an exemplary table for displaying scores of a plurality of candidates for use with the system and method of the present invention;
FIG. 11b is an exemplary table for displaying adjusted scores of a plurality of candidates for use with the system and method of the present invention;
FIG. 12 is a graph illustrating score-adjusting schemes for use in the system and method of the present invention;
FIGS. 13a-c are graphs illustrating an example of over- and under-target functions for determining adjusted scores for three product characteristics in a tape selection example;
FIG. 14 is a flow chart illustrating steps in gathering data to populate use and product records; and
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)
FIG. 15 is a flow chart illustrating steps in a scoring method for determining an optimal match.
An apparatus, method and system for finding and selecting an item for a particular use from a pool of items is described. The invention will be described first, with reference to FIGS. 1a-11 b, in the context of the selection of a candidate for a job, and more particularly in the context of finding information technology (IT) or information systems (IS) professional to fill contract positions in their field. Thereafter, with reference to FIGS. 12-15, the invention will be described in the context of the selection of a product for a use, but it will be understood that the system and method are applicable to select any kind of item from a pool for a particular purpose.
The apparatus, system and method of the present invention use relational databases or database files to store, sort, search, and otherwise “mine” stored data. Examples of suitable database software that is commercially available include: Oracle, Access (made by Microsoft) and Filemaker Pro. In addition, the apparatus, system and method of the present invention can be implemented through the use of custom relationship database programs or software.
As illustrated in FIG. 1a, one or more employers, exemplified by reference numerals 1 a, 1 b, 1 c, having one or more positions to be filled provide data regarding the skills desired (“needs”), the skill level or experience needed for desired skills for the position, and the importance or priority of that skill for the position. This “needs” data 5 is stored in a first storage medium 10. Independently, one or more people or “candidates” seeking positions, exemplified by reference numerals 12 a, 12 b, 12 c, enter data regarding the skills they possess and the level of those skills. This “skills” data 15 is stored in a storage medium that is the same as, or is in data communication with, the first storage medium. The needs data and the skills data are stored on the storage medium in a relational database. Preferably, a system coordinator manages the database.
The apparatus, system and method of the present invention can be accomplished with a variety of hardware arrangements. A preferred arrangement 20 is illustrated in FIG. 1b. Employers 1 using PCs 21 a-c and candidates 12 using PCs 22 a-c are data connected to a server 25 to which data is supplied and retrieved by a file server 30 on which is stored a relational database 32. From the PCs 21, employers are able to enter needs data into the database 32. From the PCs 22, candidates are able to enter skills data into the database 32. Suitable graphical interfaces facilitate the candidates'and employers'ability to easily enter and view data.
The system incorporates security features that preclude one candidate from altering data entered by another candidate. Similarly, the system precludes one employer from altering data entered by another employer.
In a preferred embodiment, data connections 35 are made via the Internet. Alternative hardware configurations may be used to facilitate the device, method and system of the present invention. For example, the database may be stored as part of the file server 30 or may be a separate component communicating with the file server 30. Further examples of alternative hardware or hardware/software configurations include phone/voice-menu, hardwire Any hardware or hardware/software configuration that allows for data exchange can be used for this system and method.
As illustrated broadly in FIG. 1c, the apparatus, system and method of the present invention provide appropriate user interfaces 51, 52, 53 for the various users of the system. In a preferred embodiment one interface 52 is provided for the candidates, another and different interface 53 is provided for employers and another and different interface 51 is provided for experts who will provide third-party evaluations of the candidates as will be described below. In addition, yet another interface, not illustrated, may be added for the administrator of the system. In a preferred embodiment, these interfaces 51, 52, 53 are accessible to users through the internet browser. Further, in a preferred embodiment, data is exchanged between the users and a server 55 through the internet 60. The server 55 carries or is able to access one or more databases 65 which store and process data about the candidates and the positions to be filled. Several processes are performed by the server or another computer, including gathering and interrogating data from candidates 67, gathering and interrogating data from employers about positions to be filled 68, and then searching the database to find and rank candidates whose qualifications suit the needs of the positions to be filled 69.
- Data Gathering and Verification Phase
The flow charts of FIGS. 2-4 illustrate a preferred method and system. More specifically, FIG. 2 illustrates a process 100 for gathering and storing needs data and skills data . FIG. 3 illustrates a process 200 for identifying the best qualified candidates for a position. FIG. 4 illustrates a process 300 for gathering feedback from employers and candidates and adjusting employers'needs data and candidates'skills data accordingly.
A candidate seeking a consulting or employment position visits the web site hosting the system. By identifying him/herself, the candidate is allowed to access, alter or author data in a record associated with him/herself. The candidate proceeds through a series of windows to fill in several tables or worksheets (FIGS. 5-8) with the skills that the candidate has and the level of skill he/she has for each skill. These steps are illustrated at reference numerals 101-105, and may be conducted in any order or sequence.
In step 101, the candidate enters the data illustrated in the “Technical Skill Evaluation” table 110 of FIG. 5. Technical skill table 110 has a column 115 identifying technical skills or tools, organized into appropriate categories. In this illustration for the world of information technology professionals, technical categories 120 include “hardware” 121, “operating systems” 122, “languages” 123, “applications” 124 and “others” 125 such as “testing, architecture, tools, methodologies, certifications, databases” and the like. Under each skill category heading are a number of rows for receiving or selecting specific skills or tools from a pre-defined list of skills and tools. For example, under Operating System, in column 115, the candidate might enter “DOS” and “Windows 2000”.
The technical skills table 110 further includes a column 130 for the number of years the candidate has been developing the specified skills or using the specified tool. The next column 140 in table 110, is for the skill level that the candidate believes he/she possesses for the specified skill (i.e. “self-assessed skill level”). The candidate selects the appropriate skill level from a list of pre-defined skill levels. The last column 150 of the table 110 embodiment illustrated in FIG. 5 is for assessment by a third party of the candidate's skills. An auxiliary information table 152 lists the pre-defined skill levels from which the candidate can choose and is preferably available or visible for the candidate's reference as he/she completes table 110. The auxiliary table 152 correlates a numerical value with described specific skill or experience levels. The table 152 illustrated in FIG. 5 shows four exemplary pre-defined skill levels are used: “novice”, “limited”, “experienced” and “expert”.
Auxiliary table 152, and other auxiliary tables described below, are preferably available to the user for reference while he/she is filling in the main table that it accompanies. This auxiliary table, and the several auxiliary tables described throughout this description, may be shown next to the main table, or by providing drop-down or pop-up menus or the like to display the auxiliary table.
In the next step 102 ,illustrated in FIG. 2, the candidate enters industry or business skills in the industry skills evaluation table 155 illustrated in FIG. 6. Table 155 includes a first column 156 in which the candidate identifies industries in which he/she has experience. The second column 157 is for the role that the candidate played when working within the specified industry. Preferably, the candidate chooses a role from a list of pre-defined roles. Columns 159, 160 are for self-assessed skill level and third party-assessed skill level, respectively. The skill levels are preferably chosen from a list of pre-defined skill levels. The table 155 has a number of rows 161 to accommodate a list of multiple industries in which the candidate has experience. Two auxiliary information tables 162, 163 are preferably available for the candidate's reference as he/she completes table 155. The auxiliary table 162 lists pre-defined skill levels and correlates a numerical value with described specific skill or experience levels. The table 162 illustrated in FIG. 6 shows an exemplary list of skill levels including: “worked in the industry”, “used industry-specific applications”, “developed/implemented industry specific applications” and “designed/customized industry-specific applications”. Auxiliary table 163 shows a pre-defined list of roles for the candidate to choose from.
In the next step 103 illustrated in FIG. 2, the candidate enters information about his/her communication and project leadership skills in the evaluation table 165 illustrated in FIG. 7. Table 165 includes a column 166 listing various communication and project leadership skills. Columns 168, 169 are for self-assessed skill level and third party-assessed skill level, respectively. Preferably, the skill levels for columns 168, 169 are selected from a list of pre-defined skill levels. Auxiliary table 170 shows a pre-defined list of skill levels for the candidate and the third-party assessor to choose from and correlates the skill levels to a numerical value. Preferably, auxiliary table 170 is available to or visible as the candidate or third-party assessor enters the skill levels 168, 169.
In step 104 illustrated in FIG. 2, the candidate enters project experience in the project experience evaluation table 172 illustrated in FIG. 8. Table 172 includes a column 173 which lists phases of typical information technology projects from requirement gathering to maintenance. For this table 172, the skill levels are in the form of the length of the project. Columns 176 allow the user to identify his/her length of involvement in project phases for his/her more recent projects. The user may leave blank phases in which he/she was not involved.
After the candidate has entered his/her skills date, the system “cross-validates” to make sure that the information the candidate has entered makes sense. It confirms that the amount of experience identified in one area is congruous with the amount of experience identified in a related area. If the system identifies incongruities, it queries the user as to whether the incongruous data should be modified. In addition, the system and method displays to the user the information entered by the user and invites the user to confirm or modify the data.
For each of tables 110, 155, 165, and 172, the third-party-assessed skill level is determined by an evaluation method such as an interview or testing, illustrated as step 180 in FIG. 2. In a preferred embodiment, the self-assessed scores will be compared to the third-party-assessed scores and, if there is a significant difference between the two, the third-party assessment will be repeated to determine if the first third-party assessment was in error.
The candidate's skills data is stored in a storage medium 182 in association with identifying information for the candidate. The third party assessment of the candidate's skill is similarly stored such that for each candidate and each skill both the self-assessed and the third party assessed skill levels are stored.
The method and system also includes the gathering of preference data for the candidate. For example, the preference data may include the dates of the candidate's availability, a list of one or more companies that the candidate does not wish to work for, a preferred geographic region of employment, the candidate's willingness to travel, the number of days or hours per week that the candidate wishes to work, and so forth.
The method and system also preferably includes a process to distinguish active candidates from inactive or unavailable candidates. For example, if a candidate accepts a position for an unspecified or ill-defined time period, that candidate is no longer available, and would be put on unavailable status. Of course, candidates may take positions that they found through other channels or may take vacations that also would make them unavailable. Preferably the system includes a check-in process by which a candidate will periodically, such as weekly, enter the system and indicate whether he/she is presently available to accept a position. Those candidates who do not make their periodic check-in for an extended period will automatically have their status changed to “inactive”. The system can preferably generate reminders, such as via email, to candidates to make their periodic check-in.
Independently and in parallel, employers seeking to fill positions are entering data regarding the needs for the position. First, an employer identifies or selects skills that are desired for the position, as indicated at step 185, and then assigns to each selected skill a skill level or experience desired 191 and the importance or priority of that skill 192. FIG. 9 illustrates a “requirements” or “needs” table 186 for receiving such data. Table 186 includes a column 187 in which the employer identifies skills and tools desired for a position. The next column 188 identifies the minimum level of experience the position can tolerate. The next column 189 is for the importance of the skill desired for the specified position. Preferably, the importance of a skill may be chosen from a list of pre-defined values. In the illustrated example, the values used are “core strength”, “experienced” and “beneficial”, but it will be understood that these word labels can be altered within the spirit of this invention. Further, more or fewer pre-defined values may be used. The table 186 has a number of rows 190 to accommodate a list of multiple skills desired for the position. Preferably the skills are organized into categories, such as hardware, operating systems, languages, written skills, verbal skills, project leadership and project experience.
In an alternate embodiment, the system and method use artificial intelligence to query the employer about the employer's needs for a position. For example, if the employer indicates that a core strength for the position is in the area of graphical interface design, then the system recognizes that this project is in its early stages of development and proceeds to probe further with questions that are appropriate for such a project, such as methodology being used, industry knowledge and related technologies. A branching method is used by the system to access appropriate follow-up questions in light of information provided in earlier steps by the employer. This artificial intelligence method offers advantage because it assists employers in defining what they need for a particular position. An employer might not have recognized all of the skills they needed for a position, until they are prompted by the system.
Regardless of the method or system used to solicit the needs information from the employers, a numerical value is assigned to the pre-defined list of levels of importance and this is used as a maximum score as will be described below with reference to the data matching phase of the system and method. The table 192 illustrated in FIG. 10 is an example of the profile an employer might generate for a position. Table 192 has columns listing: categories of skills/experience 193; skills 194; the priority 195 (“core”, “experienced”, or “beneficial”) of the listed skills; the minimum experience required 196; and the maximum numerical score 197 which correlates with the priority 195.
The example of FIG. 10 shows that Smalltalk language, Design Documents experience and experience in Requirements Gathering are “core strengths”. “NT”, “client server” architecture and experience in the analysis phase of a project as “experienced”. “Method 1” methodology and experience in the airline industry would be “beneficial” for the job. This table also shows a total possible score 198 that is the sum of the maximum scores for each skill. This score is divided into 100 to obtain a normalization factor 199 to be used later in the matching phase.
In addition to skills information for a position, the position profile may also include additional parameters that the company uses to make hiring decisions. For example, many companies have prohibitions against hiring an employee for a contract position within a specified period after employment. To easily accommodate the incorporation of these kinds of parameters, the system and method includes a file or database for each employer that includes such global rules or preferences. This employer database is related to the position database or file, such that the positions database can access and use the information stored in the employer database for every position offered by a given employer.
- Data Matching Phase
The needs data entered by the employer for the position is stored 182 in a storage medium that may be the same as, or in data communication with, the storage medium in which the candidates'skills data is stored.
The next phase of the method and system is illustrated by the flow chart of FIG. 3. Through automated data processing by a computing device, the candidates'records are searched 205 to find a sub-pool of candidates that possess the skills listed by the employer as desired for the position. A preferred method of finding this sub-pool involves searching all candidate records to find those that possess some threshold level of experience in the “core strengths” (i.e. those skills that are of the highest priority) for a position. Preferably this step of establishing the sub-pool also involves comparison of the candidate's preference data to the position data, and comparison of the company's global hiring rules or preferences to weed out any candidates that are not available, would not be interested in the position and/or do not meet the company's general hiring criteria (e.g. the candidate has been an employee recently and therefore cannot be offered a contract position).
The search will only return those candidates whose skills profiles matches or exceeds specified criteria. In a preferred embodiment, the candidates must have scores for their “core strength” skills that are adequately high, i.e. equal to or above the minimum defined by the administrator. Preferably, the third-party assessed skill levels are used.
This search for a sub-pool may generate too many or too few candidates and therefore a preferred embodiment of the system includes one or more feedback processes to accommodate such a situation. FIG. 4 illustrates a feedback process 220, that counts the number of candidates in the sub-pool and allows for modifications to yield a smaller or larger sub-pool. Specifically, after an employer has entered their needs data, the system searches the candidate records and counts the number of candidates who have the skills and skill levels to fit the needs profile. If the number is too small 230, the system conducts the search again 235 based on the self-assessed skill levels.
If the number in this sub-pool is still relatively large 240, the employer is given the option 245 to modify the needs profile such that it is likely to yield a smaller sub-pool. For example, the employer may raise the level of skill required for a skill, add skills to the list, and/or raise the level of importance of a skill. Conversely, if the sub-pool is relatively small, the employer can adjust the needs profile to yield a larger sub-pool.
Once a sub-pool of satisfactory size is identified, the next task is to determine which of the adequate candidates has skills and experience that most closely match what is needed or desired for a position. One example of a process for accomplishing this optimal matching is illustrated as step 250 in FIG. 3, with reference to FIGS. 11a and 11 b. For each skill, the candidate's score is compared 250 to the maximum score needed by the employer. If the candidate's score exceeds the maximum score requested for a skill, then the system generates an adjusted score for that candidate for that skill that equals the maximum scored needed by the employer 255, 256. If the candidate's score does not exceed the maximum score for that skill, then the adjusted score for that skill equals the actual score. The adjusted score is stored 257; the candidate's actual score is not over-written and remains in the storage medium database. Preferably, the adjusted scores are stored only temporarily as candidates are evaluated for a particular position. Each candidate's adjusted skill scores are added together 258 to yield a total that is used to compare candidates 260. This information is provided to the employer who then selects 261 a candidate for the position or job.
The efficacy of this system and method is illustrated in the example of FIGS. 11a and 11 b. FIG. 11a shows the candidates'actual skill scores; FIG. 11b shows the candidates'adjusted skill scores. Candidate 1 has a score of 10 for the skill of NT Hardware. This skill is only a “experienced” and not a “core strength” for the position that the employer is seeking to fill, and therefore the maximum score for this skill is a 5. Therefore, as shown in FIG. 11b, Candidate 1's score for Hardware-NT has been adjusted to equal that maximum: five. This comparison and adjustment is made for each candidate in this sub-pool for each skill.
As illustrated in FIG. 11a, using the candidates'actual scores, Candidate 5 scores the highest with a total of 65. Candidate 2 is tied for second place with Candidate 3 with a total score of 52. However, Candidate 5 is racking up points with significant experience in skills that are not needed for this position. Candidate 5 gets 10 points for his/her experience with Methodology Method 1, but he/she has less Smalltalk experience than the employer requested. Methodology Method 1 is merely “beneficial” to the employer for this position; in contrast, Smalltalk is a core strength. If the employer hired Candidate No. 5, the employer would get someone who was not adequate for the position even though he/she had a relatively high score for the aggregate of the skills desired. FIG. 11b shows adjusted scores and Candidate 2 has the highest adjusted score of 46. Candidate 2 meets the employer's needs for the skills that are of greatest importance for the position, i.e. those skills that are identified as “core strength”.
Preferably, the apparatus, system and method provides links to the finalist candidates'resumes, for example in .pdf form, so that the employer can instantly view and/or print the resumes.
The apparatus, system and method provides instantaneous searching and matching. Immediately upon entry by the employer of their needs, the system conducts its first search to determine how many candidates are in the found sub-pool. If the employer is satisfied with this number, the employer authorizes the final matching phase and a “short list” of qualified candidates is immediately returned. Alternatively, the system administrator may choose to have this list returned to the system administrator rather than to the employer, so that the administrator can contact the candidates to confirm their availability before passing their names on to the employer.
The apparatus, system and method calculates a normalized score for each candidate in the short list, by dividing the candidate's total score (using adjusted values) by the maximum score that is achievable for the position and multiplied by 100 so the result is expressed as a percentage. In this manner, the candidate's score that is returned to the prospective employer is relative for the position they are seeking to fill, rather than absolute. Preferably, the apparatus, system and method then groups the candidates into normative ranges. For example, the data returned to the employer would indicate that Candidates A and B scored in the range of 90-100 percent, and Candidate C scored in the 85-90 percent range and Candidates D and E scored in the 80-85 percent range.
- Feedback Processes
Preferably, the apparatus, system and method is also able to perform a market analysis for the combination of skills requested and return this information to the prospective employer to aid their final selection of a candidate from the short list. More specifically, the system will track the rates being charged by candidates and/or paid by employers for the combination of skills sought. For a given position, the system and method will find analogous positions previously filled to determine the market rate being charged/paid for such a position. When the system returns to the employer a final list of candidates, it will indicate that in general to obtain a 90% match with the needs identified for the position, the market price is x, and to obtain an 80% match the market price is y, and so forth. In this manner, the employer can compare the rates charged by each candidate to market rates to identify the candidate that offers the best value.
The system incorporates a number of feedback processes that are preferably incorporated into the system and method of the present invention.
A feedback process 220 to regulate the number of candidates returned in the sub-pool is discussed above and illustrated in FIG. 4.
Another feedback process provides information, preferably on a periodic basis, to candidates about the frequency with which their qualifications match what an employer is looking for. Specifically, this feedback process counts the number of times a candidate turns up in a sub-pool, and how often a candidate ends up in the final selection pool. The feedback system may show the candidate that he/she would have been considered for x percent more positions if they had y skill or if they had z level of experience in a skill they already possess. This information can be used by candidates to find out in what ways their skills are insufficient for the current market, and this will enable them to tailor their future instruction or training to acquire the skills or experience they are lacking.
- Product or Item Selection
In another feedback process, an employer can provide feedback about how a candidate fulfilled his/her responsibilities after a project is completed. This information can be used to update or modify the third party assessment of a candidate's skill level in their skills profile.
The system and method of the present invention have been described above in the context of a search for an employee to fill a specified job position. The system and method of this invention can be used to select a product, item, text or any other thing that can be represented by searchable data (hereafter “product”), from a pool of such things.
This system and method can be applied in many ways for use by many different kinds of users. For example, the product matching system and method might be used by the end users or purchasers of products. In another example use, the system is used by a sales representative who searches the products produced by his/her company to find a suitable or optimal product match for a client's need.
The system may be implemented using a computer network through which, for example, the product manufacturer or distributor enters products and their characteristics, and prospective product purchasers enter their product needs.
The term “candidate” as it is used with respect to selection of products shall mean a potential product to fill a given “use” for a product. For a given product use, certain product characteristics will be relevant; some characteristics may be desirable and others may be disadvantageous for that particular use.
A database stores a record in association with each specified use for a product for which a product match is sought. The use record includes an identification of one or more product characteristics that are relevant to the use. Some characteristics may be desirable for the use; other characteristics might be disadvantageous for the use. The use record further includes a “target score” or “target value”, indicating by a numerical value that degree to which the desired product will possess that characteristic. The use record also includes a “weighting factor” in association with a characteristic to representing the importance of that characteristic for the use.
A database also stores product candidate records. A candidate record includes an “actual score” or “actual value” in association with a list of one or more characteristics. The actual score represents the degree to which the associated product possesses that characteristic.
Hardware configurations to store use records and product records can be as described above with respect to the employment context, incorporating networked computers configured for data communication therebetween, allowing those logging products and those requesting matches for uses to be able to enter and access data from computers or input devices remote from one or more servers on which is stored the use and product records. One preferred embodiment uses the internet for data communication, and a web site having data entry templates is used to collect the data that populates the use and product records. Additional details and descriptions of other hardware and data connection configurations and security features are described above in the context of an employment matching system.
FIG. 14 illustrates in a flow chart format the data collection process 1000. A product is given a unique identifier and characteristics relevant to that product are listed (1001). For each characteristic, the product is assessed and a numerical score is entered (1002) in association with that characteristic. In serial or in parallel, data regarding a use for which a product is sought is entered. Characteristics relevant to the use are stored in association with the use (1085). For each characteristic, a target score is entered (1091) and a weighting factor is entered (1092). The product records and the use records are stored (1082) in or on a data storage medium.
- Alternative Score-Adjusting Process
Products can be assigned and stored as being within a particular product category, and the searching steps may use this additional category information to streamline the search process by narrowing a large pool of products to a sub-pool.
As noted in the section above, titled Data Matching Phase, one method of adjusting a candidate's score, when computing their adjusted score for a particular job, is to limit how high it can go based on the level of that skill needed by the employer.
An alternative example of a process 1500 or adjusting an actual score is illustrated in FIGS. 12, 13 and 15. According to this process, the user selects a target score that represents the preferred score for a particular parameter or characteristic. (In the employment matching context, a parameter would be a skill or skill level; in the context of product matching, the parameter would be a product characteristic.) This is illustrated as step 1085 in FIG. 14. The user also selects functions that determine how actual scores are to be adjusted when the actual score is lower than or greater than the target score. More specifically, the user can select one function to adjust a score when the actual score is lower than the target score (“under-target” scores) (1525), and another function to adjust the score when the actual score is higher than the target value (“over-target” scores) (1550). The system and method further allows the user to select the lower and upper values or the range over which functions the selected functions will operate (1525, 1550).
To evaluate and rank products to determine the optimal fit for a particular use, an adjusted score is calculated for each candidate and for each characteristic. This adjusted score is specific to the use for which a product match is sought. Each candidate's actual score for each characteristic is compared to the target score (1575, 1576). If the actual score is greater than the target score, then the above-target function is used to calculate the adjusted score (1580); if the actual score is less than the target score, the under-target function is used to calculate the adjusted score (1581). If the actual score is equal to the target score, the adjusted score equals one (1582). These adjusted scores are stored temporarily in the database in association with the product identifier (1590).
Each adjusted score is multiplied by the weighting factor (selected in step 1091, FIG. 14) to yield a weighted adjusted score for each characteristic for each candidate (1592). The calculation of an adjusted score and a weighted adjusted score is made for each characterstic (1593, 1594) that is relevant to the particular use. These weighted adjusted scores are stored temporarily in the database in association with the product identifier.
For each candidate, the weighted adjusted scores are summed to yield the candidate's total score (1595). The candidates can then be ranked based upon their total scores (1596).
FIG. 12 illustrates five examples of functions, represented by lines a-e, from which the user can select for adjusted under-target scores. Lines f-j represent five examples of functions from which the user can select for adjusting over-target scores. The ten functions represented in FIG. 12 are selected for illustration purposes only; one of skill in the art will recognize that an infinite number of other functions might be defined by the user within the scope of this invention.
- Under-Target Scoring Functions
The functions determine the adjusted score. The functions represented by lines a-j are defined as follows, where W=an adjusted score, T=the target score, X1 is the lower end of the range for which the selected function will apply, X2 is the upper end of the range for which the selected function will apply, and x represents a candidate's actual score:
(b) W=(x−X1)/(T−X1), where x is an under-target score
(c) W=(1−((T−x)/(T−X1)))2, where x is an under-target score
(d) W=1, where x is an under-target score
- Over-target Scoring Functions
(e) W=0, where x is an under-target score
(f) W=sqroot(1−((T−x)/(T−X2))), where x is an over-target score
(g) W=(x−X2)/(T−X 2), where x is an over-target score
(h) W=(1−((T−x)/(T−X2)))2, where x is an over-target score
(i) W=1, where x is an over-target score
(j) W=0, where x is an over-target score
Any two functions (one from Under-Target Scoring and one from Over-Target Scoring) can be used for score adjustment for any item characteristic. The operation of the functions is illustrated with reference to the following example and with reference to FIGS. 13a
. In this example, the system and method of the present invention are applied to select adhesive tape for joining two surfaces together. A company offers a range of adhesive tapes, represented in this example by Tapes A, B, and C, and defines them according to the attributes or characteristics listed as column headings in the following chart, wherein all values are expressed in unitless values:
| || |
| || |
| || ||Adhesive || || |
| ||Name ||strength ||Price ||Flexibility |
| || |
| ||Tape A ||3 ||1 ||7 |
| ||Tape B ||5 ||2 ||4 |
| ||Tape C ||7 ||1.75 ||5 |
| || |
When an adhesive tape is required for a particular task, the qualities needed in the tape to adequately perform the task are defined in a profile:
|Quality or || |
|characteristic ||Discussion of affect of deviation from target value |
|Adhesive ||Anything more adhesive than the target value will be |
|strength ||acceptable too, though for this particular task, more |
| ||adhesion is a disadvantage; |
| ||Adhesive strength lower may work, but will be much less |
| ||advantageous and hence any deviation should be treated |
| ||more harshly |
|Price ||Any price less than the target value is equally acceptable |
| ||as the target price; |
| ||But values over the target value are to be scored harshly |
|Flexibility ||Less flexibility is a significant disadvantage and is not |
| ||acceptable; greater flexibility is somewhat a disadvantage |
The chart below summarizes the target values, under- and over-target functions, and the range (upper and lower limits) over which the functions operate for each of the three characteristics of interest in the selection amongst Tapes A, B and C.
| || || ||Under- || ||Over- |
| || ||Under- ||Target ||Over- ||Target |
| ||Target ||Target ||Scoring ||Target ||Scoring |
|Characteristic ||Value ||Limit ||Function ||Limit ||Function |
|Adhesive ||5 ||0 ||C Concave ||10 ||G Linear |
|Price ||1.5 ||0 ||D One || 2.5 ||H Concave |
|Flexibility ||5 ||0 ||E Zero || 9 ||F Convex |
For the characteristic of adhesive strength, requirements of the task suggest that for any tape having an adhesive strength of less than 5, the tape's score for adhesive strength should be fairly dramatically reduced. Accordingly, this suggests that the weighting factor should drop off considerably for scores less than target. Thus, a function represented by line c, a concave curve, is appropriate for determining the weighting factor to use to adjust the tape's actual score on adhesive strength. Adhesive strengths greater than target are disadvantageous for this task, and therefore the weighting factor should allow actual higher scores to translate into lower adjusted scores, but they should not necessarily decrease dramatically if they are just a little above-target. Therefore, the user might select the function represented by line g for over-target scores. FIG. 13a
illustrates the two selected functions. Applying these rules to Tapes A, B, and C, their adjusted adhesive strength scores are as follows:
|ADHESIVE STRENGTH |
| ||Actual score for || ||Adjusted Score |
|Name ||adhesive strength ||Applicable W function ||(= W * Actual Score) |
|Tape C ||7 ||Line G: W = (x − X2)/(T − X2) = (7 − ||0.6 |
| || ||10)/(5 − 10) |
|Tape B ||5 ||Equal to Target Value ||1 |
|Tape A ||3 ||Line C: W = Sqrt(1 − ((T − x)/(T − ||0.775 |
| || ||X1))) = Sqrt (1 − ((5 − 3)/(5 − 0))) |
FIG. 13a illustrates the actual scores with Xs on the appropriate function lines.
In our example, the user has set the desired scoring for the price as D (One) for under-target and H (Concave) for over-target. The over- and under-target functions for price are illustrated in FIG. 13b
. This yields the following results:
| ||Actual score for || ||Adjusted Score |
|Name ||price ||Applicable W function ||(= W * Actual Score) |
|Tape C ||1.75 ||Line h: W = (1 − ((T − x)/(T − X2)))2 = ||0.56 |
| || ||(1 − ((1.5 − 1.75)/(1.5 − 2.5)))2 = |
|Tape B ||2 ||Line h: W = (1 − ((T − x)/(T − X2)))2 = ||0.25 |
| || ||(1 − ((1.5 − 2)/(1.5 − 2.5)))2 |
|Tape A ||1 ||Line d = 1 ||1.0 |
For the characteristic of flexibility, the user has specified that flexibility below the target score is unacceptable and higher flexibility is of considerable disadvantage. Therefore, the function represented by line e, by which the adjusted score equals zero, is used for under-target scores. Scores higher than the target score are represented by line f which drops dramatically for above-target scores. FIG. 13c
illustrate the over- and under-target functions for flexibility. The following chart illustrates the results of the application of these functions to Tapes A, B and C:
| ||Actual score for || ||Adjusted Score |
|Name ||price ||Applicable W function ||(= W * Actual Score) |
|Tape A ||7 ||Line F(W = Sqrt(1 − ((T − X)/(T − ||0.7 |
| || ||X2))) = Sqrt (1 − ((5 − 7)/(5 − 9))) |
|Tape B ||4 ||Line E = Zero ||0 |
|Tape C ||5 ||Equals target Value = 1 ||1 |
Tapes A, B, and C, then having the following adjusted scores the three characteristics of concern. The final score for each object is calculated based on the importance of each characteristic itself as defined by the user. In this example the user could have indicated that Price should constitute 50% of the decision criteria, while Adhesive strength and Flexibility constitute 30% and 20% respectively:
|Summary of Product Evaluation - Actual and Adjusted Scores |
| || || || ||Final Score |
| || || || ||Weighting of |
| || ||Adhesive || ||individual scores based |
| ||Price ||strength ||Flexibility ||on weighting |
| ||50% ||30% ||20% || ||Final |
|Product ||Actual ||Adj. ||Actual ||Adj. ||Actual ||Adj. ||Formula ||value |
|Tape A ||1 ||1 ||7 ||0.6 ||7 ||0.7 ||0.5*1 + ||0.82 |
| || || || || || || ||0.3*0.6 + |
| || || || || || || ||0.2*0.7 |
|Tape B ||2 ||0.25 ||5 ||1 ||4 ||0 ||0.5*0.25 + 0.3*1 + ||0.425 |
| || || || || || || ||0.2*0 |
|Tape C ||1.75 ||0.56 ||3 ||0.775 ||5 ||1.0 ||0.5*0.56 + ||0.713 |
| || || || || || || ||0.3*0.775 + |
| || || || || || || ||0.2*1.0 |
- Another Score Adjustment Alternative
Based on this evaluation, Tape A is optimally suited for the task or use in question.
In another alternative method or process for adjusting actual scores, the actual score is lowered a half point for every one point that the actual score exceeds a selected target score. The actual score is reduced one point for every one point that the actual score falls short of the target score.
Although an illustrative version of the apparatus, system and device is shown, it should be clear that many modifications to the device may be made without departing from the scope of the invention. Any of the scoring method described herein can be applied in the context of employment matching, product matching or any other kind of matching.