I may really go overboard with figuring out the details, but I use graph paper, draw a the layout of the quilt I'm making, determine the number of blocks, width of borders, etc. and how many different colors. Then I use the graph paper to lay out the best way to cut the fabrics based on a 40-42 inch width of fabric and then keep laying out until I have the number of pieces I need from each different fabric and see what yardage length I've used. Then I add at least enough fabric to get another row of pieces (plus a few extra inches) in case I make mistakes. I do this with each color. I also do this for the borders and binding. And don't forget the backing.
I sometimes end up with extra fabric, but it goes into the stash for scrappies.