Too often we focus on recognizing the top contributors.
Yet this isn't very effective. These people are already top contributors, does giving them recognition significantly increase the level of activity?
It might be more effective to name those that aren't contributing. It might be more effective to shame the freeriders into contributing.
This won't work in large B2C communities, it's worth considering in smaller/internal communities of practice. Spend less time rewarding the top contributors and gently nudge the non-participants into contributing.