It's especially bad if it's based on some variant of having scores "above average" or whatever, because that ends up being a lottery. At that point it's better to just establish a lottery among the employees. If you really have to do individual bonuses, I think it's better to take a leaf from Deming and only grant it for truly (statistically verified) outperformance.
Someone else suggested collective bonuses (e.g. profit sharing). That aligns incentives nicely: it is slightly lagged, meaning you can afford to experiment and learn. It's also not individual, so it fosters collaboration. It's still something of a lottery, of course, but one decided by the customers, not by a manager.