I'm a programmer, among other things...
I think you need to read about Linear Programming, and Integer Linear Programming.
Essentially, look, you can break this down into a huge equation, that works something like this:
Coefficient A * Data Point A + Coefficient B * Data Point B + ... = Result (Default)
Now you know all the data points, and you know the result, so you need to find the coefficients.
Can you solve precisely for the coefficients? Sure, for one person, of course. But you don't have one person, you have a huge matrix:
Coefficient A * Data Point 1A + Coefficient B * Data Point 1B + ... = Result 1
Coefficient A * Data Point 2A + Coefficient B * Data Point 2B + ... = Result 2
Coefficient A * Data Point 3A + Coefficient B * Data Point 3B + ... = Result 3
Coefficient A * Data Point 4A + Coefficient B * Data Point 4B + ... = Result 4
Can you solve that perfectly? It's possible, but fairly unlikely. In pure math, if you have n unknowns, and m equations, you need m >= n to solve precisely. This is not pure math, and it's not governed by pure math, so there's no guarantee that you can solve this precisely. Doesn't matter.
What you're actually trying to do is minimize the difference between your prediction, and the result, on average. You could do something like a root mean square to find your error, or you can do your error in other ways if you want to. I'm not claiming rms is right, just that it's a known method.
Okay, so you end up with a problem: How do I pick A, B, C ... such that my error is minimal?
Linear programming, if not precisely the answer, is at the very least an excellent approach to thinking about this problem.
Read about linear programming, and integer programming, and let me know what you think.
There are of course other methods of solving this... you could quite literally pick random values and see what gives you the minimum answer. You could pick random values, then use a lowest-neighbor approach to see if one of the coefficients can be modified to improve the answer, again and again until you get a minimum. You could do the same thing, but modify multiple coefficients at once. You could even write a genetic algorithm to do it. Really, the world is your oyster, but I'd start with LP first.