U.S. patent application number 09/950284 was filed with the patent office on 2002-07-11 for apparatus, system and method for selecting an item from pool.
Invention is credited to Puram, Kamala, Sadagopal, Gopal.
Application Number | 20020091669 09/950284 |
Document ID | / |
Family ID | 23440356 |
Filed Date | 2002-07-11 |
United States Patent
Application |
20020091669 |
Kind Code |
A1 |
Puram, Kamala ; et
al. |
July 11, 2002 |
Apparatus, system and method for selecting an item from pool
Abstract
An apparatus, system and method selects a candidate from a pool
of candidates to fill a use for a candidate. The system and method
can be applied to identify a product optimally suited for a
particular use or to select a person to fill a position based on
the skills held by the candidate, the skills desired for the
position and the priority of the skills for the position. A scoring
method determines a temporary use-specific adjusted score that is
calculated based on user-selected functions which reflect real life
effects on desireability of a candidate due to over- and
under-target scores on given characteristics or parameters.
Inventors: |
Puram, Kamala; (Edina,
MN) ; Sadagopal, Gopal; (Bloomington, MN) |
Correspondence
Address: |
Beck & Tysver, P.L.L.C.
Suite 100
2900 Thomas Avenue S.
Minneapolis
MN
55416
US
|
Family ID: |
23440356 |
Appl. No.: |
09/950284 |
Filed: |
September 10, 2001 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09950284 |
Sep 10, 2001 |
|
|
|
09365787 |
Aug 3, 1999 |
|
|
|
Current U.S.
Class: |
1/1 ;
707/999.001 |
Current CPC
Class: |
Y10S 707/99935 20130101;
G06Q 10/10 20130101; G06Q 10/063112 20130101; Y10S 707/99945
20130101 |
Class at
Publication: |
707/1 |
International
Class: |
G06F 007/00 |
Claims
What is claimed is:
1. A method for selecting a candidate for a position from a pool of
candidates, comprising the steps of: a) establishing a database,
said database having a record for each candidate in a pool and a
record for a use for a product to be filled by a candidate, wherein
each candidate record includes one or more product characteristics
and each record for a use includes one or more product
characteristics relevant to the use; b) assigning a target score
for one or more characteristics for a given use based on the
importance of the characteristic for that use; c) for a candidate
and for a characteristic, assigning an actual score representing
the degree to which the candidate possesses the characteristic; d)
selecting a first function for calculating an adjusted score for a
candidate's characteristic when a candidate's score is below the
target score; e) using said first function, calculating an adjusted
score for a candidate whose actual score is below the target
score.
2. A method according to claim 1, further comprising the steps of:
f) selecting a second function for calculating an adjusted score
for a candidate's characteristic when a candidate's score is above
the target score; e) using said second function, calculating an
adjusted score for a candidate whose actual score is above the
target score.
3. A method according to claim 1, further comprising the steps of:
f) selecting a weighting factor for a characteristic based upon the
importance of the characteristic for the use; g) calculating a
weighted adjusted score for a candidate for a characteristic by
multiplying the weighting factor by the candidate's adjusted score
for that characteristic.
4. A system for selecting a candidate for a position from a pool of
candidates comprising: a) means for assigning a target score for
one or more characteristics relevant to a particular use; b) means
for assigning an actual score for a candidate representing the
degree to which the candidate possesses the characteristic; c)
means for adjusting the candidate's actual score for a
characteristic when the actual score does not match the target
score.
5. An apparatus for selecting candidates for a position from a pool
of candidates comprising: a) a memory for storing a database
including: i) candidate records, each said candidate record
identifying a candidate, a characteristic possessed by the
candidate, and an actual score representing the degree to which
that characteristic is possessed by the candidate; ii) a use
record, said use record identifying a product use and
characteristics relevant to the use; and b) a data adjusting system
for calculating and storing in said memory an adjusted score using
a user-selected function for a candidate's actual score that does
not match the target score.
Description
[0001] This application claims priority from U.S. patent
application Ser. No. 09/365,787, filed Aug. 3, 1999.
FIELD OF THE INVENTION
[0002] 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.
[0003] 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.
[0004] 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.
BACKGROUND OF THE INVENTION
[0005] 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.
[0006] 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.
SUMMARY OF THE INVENTION
[0007] 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.
[0008] 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.
[0009] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] 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:
[0011] FIG. 1a is a schematic representation of an apparatus,
system and method according to the present invention;
[0012] FIG. 1b shows exemplary hardware for implementing the
apparatus, system and method of FIG. 1;
[0013] FIG. 1c is a schematic illustration of an apparatus, system
and method according to the present invention;
[0014] FIG. 2 is a flow chart illustrating the data gathering and
verifying phase of the system and method according to the present
invention;
[0015] FIG. 3 is a flow chart illustrating the data matching phase
of the system and method according to the present invention;
[0016] FIG. 4 is a flow chart illustrating a feedback process of
the system and method according to the present invention;
[0017] 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;
[0018] 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;
[0019] 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;
[0020] 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;
[0021] 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;
[0022] 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;
[0023] 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;
[0024] 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;
[0025] FIG. 12 is a graph illustrating score-adjusting schemes for
use in the system and method of the present invention;
[0026] 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;
[0027] FIG. 14 is a flow chart illustrating steps in gathering data
to populate use and product records; and
[0028] FIG. 15 is a flow chart illustrating steps in a scoring
method for determining an optimal match.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)
[0029] 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-11b,
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.
[0030] 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.
[0031] As illustrated in FIG. 1a, one or more employers,
exemplified by reference numerals 1a, 1b, 1c, 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 12a, 12b, 12c,
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.
[0032] 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 21a-c and candidates 12 using PCs 22a-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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
Data Gathering and Verification Phase
[0037] 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.
[0038] 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".
[0039] 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".
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
Data Matching Phase
[0055] 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).
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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 11b. 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.
[0060] The efficacy of this system and method is illustrated in the
example of FIGS. 11a and 11b. 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.
[0061] 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".
[0062] 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.
[0063] 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.
[0064] 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.
[0065] 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.
Feedback Processes
[0066] The system incorporates a number of feedback processes that
are preferably incorporated into the system and method of the
present invention.
[0067] A feedback process 220 to regulate the number of candidates
returned in the sub-pool is discussed above and illustrated in FIG.
4.
[0068] 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.
[0069] 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.
Product or Item Selection
[0070] 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.
[0071] 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.
[0072] 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.
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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.
[0077] 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.
[0078] 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.
Alternative Score-Adjusting Process
[0079] 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.
[0080] 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).
[0081] 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).
[0082] 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.
[0083] 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).
[0084] 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.
[0085] 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, X.sub.1 is the lower end of the
range for which the selected function will apply, X.sub.2 is the
upper end of the range for which the selected function will apply,
and x represents a candidate's actual score:
Under-Target Scoring Functions
[0086] (a) W=sqroot(1-((T-x)/(T-X.sub.1)))
[0087] (b) W=(x-X.sub.1)/(T-X.sub.1), where x is an under-target
score
[0088] (c) W=(1-((T-x)/(T-X.sub.1))).sup.2, where x is an
under-target score
[0089] (d) W=1, where x is an under-target score
[0090] (e) W=0, where x is an under-target score
Over-target Scoring Functions
[0091] (f) W=sqroot(1-((T-x)/(T-X.sub.2))), where x is an
over-target score
[0092] (g) W=(x-X.sub.2)/(T-X.sub.2), where x is an over-target
score
[0093] (h) W=(1-((T-x)/(T-X.sub.2))).sup.2, where x is an
over-target score
[0094] (i) W=1, where x is an over-target score
[0095] (j) W=0, where x is an over-target score
[0096] 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-c. 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:
1 Adhesive Name strength Price Flexibility Tape A 3 1 7 Tape B 5 2
4 Tape C 7 1.75 5
[0097] 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:
2 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
[0098] 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.
3 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 Strength Price 1.5 0 D One 2.5 H
Concave Flexibility 5 0 E Zero 9 F Convex
[0099] 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:
4 ADHESIVE STRENGTH Actual score for Adjusted Score Name adhesive
strength Applicable W function (= W * Actual Score) Tape C 7 Line
G: W = (x - X.sub.2)/(T - X.sub.2) = (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 X.sub.1))) = Sqrt (1 - ((5 - 3)/(5 - 0)))
[0100] FIG. 13a illustrates the actual scores with Xs on the
appropriate function lines.
[0101] 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:
5 PRICE Actual score for Adjusted Score Name price Applicable W
function (= W * Actual Score) Tape C 1.75 Line h: W = (1 - ((T -
x)/(T - X.sub.2))).sup.2 = 0.56 (1 - ((1.5 - 1.75)/(1.5 -
2.5))).sup.2 = Tape B 2 Line h: W = (1 - ((T - x)/(T -
X.sub.2))).sup.2 = 0.25 (1 - ((1.5 - 2)/(1.5 - 2.5))).sup.2 Tape A
1 Line d = 1 1.0
[0102] 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:
6 FLEXIBILITY 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 X.sub.2))) = Sqrt (1 - ((5 - 7)/(5 - 9))) Tape B 4 Line
E = Zero 0 Tape C 5 Equals target Value = 1 1
[0103] 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:
7 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
[0104] Based on this evaluation, Tape A is optimally suited for the
task or use in question.
Another Score Adjustment Alternative
[0105] 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.
[0106] 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.
* * * * *