Duration: one to two months
The HubSpot blog states that the contest should ideally take one to two months. This is a duration long enough to cancel out various short-term flucutations that are just inherent to business, and at the same time it is a duration that is not too long to make the reps lose interest.
Various paths to winning
You should, for instance, grant points for different types of activities and then add up those points. It is important that the contest has more than just one way of winning (only one decisive factor) because that would make those who fall behind in this one factor uninterested in the contest from the very beginning.
Quantity as well as quality
Quantity (for instance the sales volume) should not be the only thing the contestants are rewarded for. You should also take activities into account that don't add directly to an increase in sales, but that do help in customers being satisfied.
Continuous results
In order for the contest to have the feel of a real race, it is necessary that the sales reps have available continuous results. You can write results on a board, ideally on a daily basis. Only then will contestants be motivated to give their best performance