I’m all or nothing with tips. Do a great job I’ll tip 15-20%. If you do a great job and something happens that isn’t your fault and I’ll tip 15-20%. If you’re slow, inattentive or bothersome, 0% tip.
I start at 20%. If the waiter/waitress refers to us as ‘hey guys’, I cut it to 10%. If s/he is slow and inattentive, or the food is not hot, I cut it to zero.
Rarely, I’ve been so impressed by the service that I’ve tipped more than 20%, but it has happened.