Running out of yarn in the middle of a project, or even playing a dicey game of yarn chicken sucks! Luckily, using a little maths, you can avoid having to do this. Whether you are designing from scratch or altering an existing crochet or knitting pattern, you can fairly easily calculate the yarn amounts you will need.

The yarn amount given in the pattern is for the unaltered pattern and each alteration you make will have an effect on the amount of yarn used. So for anything significant you will need to learn to calculate what that will be.
You will likely be working with averages as the amount of yarn used varies over the various stitch patterns: ribbing using more perhaps than the main stitch pattern.

Here is how to calculate how much yarn you will need

Prepare a large swatch in your main stitch pattern (you'll have done this to measure your tension anyway, surely!) Measure and weigh the swatch. You can now calculate the grams per cm2/in2 by multiplying the width of the swatch by the height of the swatch to get the area then dividing the weight by the area. We'll call this figure Y (for yarn of course!)

You can then calculate how much less/extra yarn you might need for any given change by calculating the area change and multiplying it by Y.

Examples

Let's take for example a swatch measuring 5in by 5in that weighs 5g. The area is 25 square inches.

Y = 5g/25 = 0.2

Say that you are making a sweater that measures 40in at the hip 4in longer.
You will be adding 40x4=160in2 to the basic pattern.
Multiply the additional area by Y = 160x0.2 = 32.
So you will need 32g of extra yarn.

Keeping Y the same let's take the example of modifying a sleeve to be tapered. The original sleeve is straight and measures 12in around and is 18in long.

Therefore, the original sleeve has an area of 12x18 = 216in2.

Your planned sleeve is 12in wide at the top and tapers evenly to 9in wide at the bottom. To calculate the area we take the average width (by adding the two together and then dividing by 2) and times it by the length.

Therefore the planned new sleeve has an average width of (12+9)/2=10.5

giving an area of 10.5x18=189in2.

Subtract the planned sleeve from the original sleeve to find the difference.

216-189=27 which we will then multiply by Y (27*0.2=5.4)

So you will use 5g less per sleeve so 10g less for the sweater assuming both sleeves are tapered.

Some helpful reminders of how to calculate areas

Rectangles and squares are height multiplied by width.

Tapered shapes are the height multiplied by the average width (and you can get the average by adding the maximum width and the minimum width and dividing by two.)

Triangles are half of the width times the height.

Circles are the radius times the radius times π (the radius is the measurement from the midpoint to the edge)

Using it with stitch counts

Of course, you could also get Y per stitch if you wanted by counting the stitches in the swatch then dividing the weight of the swatch by the number of stitches. You'd then be thinking about the total number of extra/removed stitches you were working in any alteration.

What about using it to design rather than alter?

Its exactly the same approach but you'll need to work out all the areas of the pieces in the design and multiply these by Y.

In fact this is how I calculate yarn amounts in patterns but I will normally use the sample to calculate Y.

Always round up!

When working out yarn requirements don't forget to round up. For example, if a change needed an additional 55g and you are using 50g balls you would need two extra balls. And always err on the side of more yarn. Its very easy to find a stashbusting pattern, much harder to track down an extra ball in the right dye lot.