Steven Cappiello Posted October 6, 2007 Posted October 6, 2007 Hi, I have a candidate review database that allows a reviewer to vote on a job candidate. Each job in the database can have various criteria by which the job applicant can be graded... so, for instance, the Janitor job candidates may be graded on Appearance, Cleanliness, and Punctuality but the Scientist job candidates may be graded on Past Research, Reference Letters, Quality of Publications and Overall Package. When I first built the ability for reviewers to cast votes, I made it so that an average grade was calculated so that even weight was applied to each criteria.. 1-5 for each criteria.. I'd like to though, give the reviewer the ability to give more weight to a criteria for a candidate if they see fit.. for example... if a Scientist applicant had a reference letter from a Nobel Prize winner, perhaps instead of being averaged with the other votes, the reviewer could indicate that they wanted it to count for 50% of the candidate's total grade.. So, while typically, the following: 3 Past Research 4 Reference Letters 2 Quality of Publications 3 Overall Package. would result in a total grade of [ (3*.25)+(4*.25)+(2*.25)+(3*.25) ] / 4 = average of 3 if we gave the reference letters a weight of 50% the average vote would be: [ (3*.16667)+(4*.5)+(2*.16667)+(3*.16667) ] / 4 What I'm not sure of how to do is to get the other criteria to automatically re-calculate so that the total grade equals to 100%. Also, I'm not sure how to make it so that the reviewer could change more than one of the weights and have the other ones that they don't set manually to be the only ones that re-calculate to total to 100%. I hope I'm being clear.. any thoughts on this would be greatly appreciated. cheers, have a nice weekend
Steven Cappiello Posted October 6, 2007 Author Posted October 6, 2007 additionally.. the # of criteria would change based on the job.. so the math / calculations would have to be flexible to allow for one or more criteria... i actually think I might have just thought of the answer.. please chime in if you have thoughts.... the total of the weights would be the denominator.. 100% divided by the # of criteria... so , if only 1, it gets 100% if there are 3, it gets 33% each... then, if a weight is changed.. the calculated weights could be created by summing the manually changed weights and making that the denominator, and then dividing each manual weight by the total of the manual weights to get a calculated weight for each criteria.. I think that could work, but I'm not sure if and how this will work relationally..... any thoughts ?? thanks -)
comment Posted October 6, 2007 Posted October 6, 2007 If you want to do this by calculation, you can compute the Product in the child table (cProduct = Score * Weight), then calculate the weighted average in the parent table as: Sum ( Child::cProduct ) / Sum ( Child::Weight ) The total of weights does not have to equal 100% - a grader can assign any arbitrary values to weights, as long as they are satisfied with their relative proportions. A summary field in the child table, defined as 'Average of Score, weighted by Weight', does the same thing.
Steven Cappiello Posted October 6, 2007 Author Posted October 6, 2007 Thanks, I understand.. the only thing is: because it will be hard for a grader to tell what the relative proportions are is exactly why I want them to auto-total to 100%.
comment Posted October 6, 2007 Posted October 6, 2007 It would be easier to show them the proportions as percentage, rather than trying to adjust the entered weight values themselves. Less confusing for the user too - no one likes to see their values being modified on the fly. WeightedAverage.fp7.zip
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now