At our games I do 2 bonuses. 1 bonus if you RSVP, and another if you arrive and pay on time. 10% of the starting stack for each. The caveat for the on time bonus is that if you email/text/phone me before the start time letting me know you'll be late, you still get the bonus.
The reason for the on time bonus is to make sure I know who is going to be coming. If someone's running late, but doesn't tell me, and then no-shows then there's the trouble of making up their stack, having a dead stack at a table and then removing the stack when i find out they're not coming. And I can't be bothered phoning/texting people who haven't arrived on time to check to see if they're still coming. It's just inconvenient when there's already so much going on to get a game to start on time. Before offering the bonus, this happened all the time.
Practically everyone RSVP's so 99% of the players get that bonus, but then there's the odd time that someone shows up unexpectedly. I order food for the night so having too many of these can cause food shortages. If you RSVP and then no-show without letting me know, then the next time you don't get your RSVP bonus.
If all of your players are punctual and having late players all the time isn't a problem, then don't bother with the bonus/penalty. I know that I can't rely on 30 people to show up on time, or at least let me know in advance they're going to be late, without some sort of incentive.
2 other leagues I play in do the something similar. It works really well.