|XP is just a number|
Your factors are too specific. They both overlap and fail to account for some large forces. Timing, for instance. What day of the week was it posted and was it right before a holiday? Presence on daily/weekly best nodelets is another example. There are bound to be many such factors. I don't think trying to enumerate them is the right approach to understanding the node rep system. I take a simpler view.
Node reputation is a function of:
One important one is the fact that the "quality" of the node is relative to the observers and is a measure of respect, agreement and interest. Many people may upvote a mediocre node if it is simply better than what they themselves would have written. On the other hand, sometimes a particularly good node won't get many upvotes because judging its quality requires knowledge or skill that most don't possess.
Another important one is that this community tends to make its points through positive reinforcement rather than negative reinforcement. People tend to upvote more than they downvote.
I think the biggest "problem" (although I'm hard-pressed to call it that) is the fact that visibility is a multiplier. This, more than anything else, makes it difficult to compare node reputations. Very good replies deep in a thread often don't get half the reputation as poor replies early in a thread. Replies to front-paged nodes invariably have higher reps. Etc., etc., etc. This is the problem everyone is really talking about when they claim that node reputation doesn't mean anything or is as useful as random numbers.
In any case, I think this is a good model of the node reputation system but I'd be interested to hear any criticisms.
-sauoq "My two cents aren't worth a dime.";