There are many things that determine how much people eat at a buffet.
I am assuming that your caterings are almost always buffet.
Large quantity feeding is what I had done most of my career.
As a Banquet Chef it was my job to come as close as possible to feeding large groups without going overboard.
People eat with their eyes.
Buffet food is an assortment of different foods placed out for all to see and eat.
Portions should be kept small so people can sample everything on the buffet line.
2-4 oz. portions are not uncommon.
If you are offering 1 meat and 1 fish item (as an example) for 50 people buffet style, you could get away with making 30 of each item. If your experience with that has people eating more meat then fish, then you have to regulate from there. You have no idea what people will eat from your buffet.
I have found that the person who orders the food eats quite differently then the guest might
Placing the proteins at the end of the buffet line make people pile on the starches, the salads, and the vegetables first having little room on their plates for the rest.
Also the weather has a lot to do with how much people eat.
On a rainy day they will eat more.
On a sun shiny day when they have been outside all day, they may eat less and drink more.
As was previously mentioned, the elderly and very young eat less and in many cases can even out your amounts.
As for salad, I have always used the equation: 1 head of lettuce feeds 6-7 people and I go from there.
Salad is a cheap enough item that you can have more on hand all cut up and ready to dress should you need to.