I guess it depends on your business. I shoot real estate photography and I have a couple things I do.
One, at the end of the year, I do gifts for my top clients and I break it down by how much they order. I typically spend about 1% of what I make in gifts at the end of the year. I have a few clients that order more than 50 shoots a year from me, so I spend more on them. I have a few that order between 20 and 40 shoots, so I spend a little less on them but more than those that order less than 20. I also look at other things like referrals. I have a couple clients that only order a half dozen or so a year but I usually get a several new clients a year from those clients. So, I give them a little more to say thanks.
Second, clients that order more than 20 shoots a year get a small discount. They commit in writing to order at least 20 shoots a year and they get a small discount (about 10%) on every order. This has worked great for me. But, like I stated, it depends on your business. Not sure this applies to portrait photography unless someone has a HUGE family. LOL I guess you could offer them a discount on their next shoot for referring a new client to you.
For me it's simple, take care of your clients and they will take care of you. I even do stuff for the clients that only order a few a year. It may be a thank you card with a Starbucks card, but I do something. Take a client that spends very little with you and let them know you remembered them at the end of the year by saying thanks....and you will have a repeat client. Otherwise, you will always be chasing down new clients. The heck with that, take care of your current clients and they will take care of you.