What is the Algorithm used to calculate Skills Match % on Resource Requisition Search?
Here's how the skills search algorithm works:
When you select skills to search for, on the skills browse you choose 4 things:
These values are stored in the filter for the requisition list.
When you search, the filter values for skills are added to the temporary skills table.
If skills are part of the filter, the search query gets updated with data from the temporary table.
This creates the skills "temporary table" that is joined to provide the score.
The score is calculated by using the following clause in the select portion of the query where the total_weight is the sum of the weights defined in the filter.:
NVL(skills_score,0)/total_weight
Since the skills "temporary table" uses 'AND' joins, both the proficiency level and interest level of selected resources must be less than or equal to the proficiency level or interest level in the filter. If one is greater than that, the resource is not returned in the skills match.