I always over buy for projects on purpose, that way if I make a mistake I have plenty to start again or fix the porblem. For instance, I made a quilt over the summer, and instead of buying the called for yard and a half of a certain fabric, I bought 3 yards. When a sweater pattern calls for 5 skeins of yarn I buy 8.... If I have tons left over I can return what I didn't use to the store, or just add it to my stash for a new project later. This is especially important because while I could always go back and get more yarn, even if I find the same dye lot it might not match perfectly. I guess this doesn't really answer your question, but I try to only do projects that do not require math.
