Here's how it works for us.
# of horses: 4 (all mares)
# of stalls: 2
stall size: 12'x6'
99% of the time, the stalls are open for them to come in and out as they wish. Our "farm" is small and right now this is their only available shelter. Our oldest mare (12 in April) is also our "hard keeper" and she is far thinner than the rest. She also has less coat then the rest. She will get chilled easier than the rest. On days when we have a combination of cold temps and consistent rain throughout the day, she gets stalled. The other three still have access to the second stall. We frequently find the three of them in that stall during foul weather anyway.
On really cold nights, especially when the winds are high, we stall all four of them - 2 to a stall. We also do this on days/nights when we're expecting significant snow fall.
In our case, we have NO stallions or colts, so we don't have to worry about accidental breeding or a need to keep them separate to avoid this. Additionally, our herd gets along very well and we pair them up in the way we feel suits them (i.e., minimal fighting likely). We keep a very close eye on them and let them out as soon as it's possible.
In time, we hope to add at least 2 if not 3 more stalls. That would give us one stall per horse and if we do get a 3rd additional stall (total of 5), that would allow one more horse to be added to our herd. 5 is the maximum we feel we can manage at this point on many levels.