IMO, the biggest "factor" in determining YPC is scheme/playcalling. We have had an awful scheme and our playcalling allows "projection" of the play by the defensive unit we go up against. If they know the playcall, it makes it much easier to defeat. Also, if we have a playcall sent in AND cannot change it, based on the defensive "look" (8-9 players in the box), our RB is not going to fare well either.
If you were to look at YBC (yards before contact) as an influence, as well as YAC (yards after contact), it SHOULD show a correlation of the results. These numbers, while heavily influencial upon a runner's success/failure, do not tell the whole story. In most cases, they are indicative of the "predictability" of the playcall and/or the scheme but also the "reaction" or preparedness of the defense to our playcall.
While Warren has a better YPC, he also has a much better YBC than Najee. This is because he either is benefitting from running against a "less loaded" box, a less predictable play, better execution, or HE is simply better at making the first guy miss. I think it's a combination.
This year, Warren had an average of 3.1 yards before contact (YBC) and a YPC average of 5.1.
Najee had and average of 1.9 yards before contact (YBC) and a YPC average of 4.1.
Does this mean Najee was better? They both had a 2.2 average for yards after contact (YAC).
I'd say this points more to predictability/scheme than execution. Sometimes the play causes a runner to be hit in the backfield, sometimes its the scheme (can't block overloaded box w less blockers) and sometimes its predictability. Occasionally, its the runners own fault for not deciding where to go fast enough, which we may all agree, Warren is faster to get downhill (and out of the way). In the past, Le'veon Bell was praised for "delaying" his forward movement as having "good vision" and letting his blocks develop...to me, its all outcome based.
BTW, McCaffrey had a 3.2 YBC for the year, which is a great number. Warren missed this stat by .1 yards.