I've been using the following system for more than a decade:
HOW I DRESS FOR BICYCLING
70° and above short sleeve shirt/jersey shorts
65° long sleeve shirt/jersey shorts
60° 1½ layers shorts or pants
55° 2 long sleeve layers pants
50° 2½ layers, long finger gloves pants
45° 3 layers, gloves, balaclava, wool socks pants
40° 3½ layers, etc. pants
35° 4 layers, etc., + 2
pr. socks pants + 1
pr. long underwear
30° 4½ layers, etc. + extra glove liners pants + 1
pr. long underwear
25° 5 layers, etc. + ear band (over balaclava) pants + 2
pr long underwear
20° 5½ layers, etc., + 3
pr. socks pants + 2
pr long underwear
15° 6 layers, etc. pants + 2
pr. long underwear
1 layer = breathable
long sleeve shirt, sweatshirt, cycling jersey, sweater, etc.
½ layer = breathable
short sleeve shirt, cycling jersey, wool tee-shirt
If it’s cold, the first two layers should be wool (which I prefer) or polypropylene -- cotton is used, if at all, only in outer layers. Socks are also polypropylene or high wool content.
Non-breathable layers, such as nylon windbreakers, count as up to 3 layers. So, at 40°, you might get away with a nylon shell and a short sleeve jersey. I don’t wear nylon shells because I sweat too much.
The faster you ride, the less you wear.
If you aren’t cold the first 5-10 minutes, you’re likely
overdressed.