The average heat cycle for a dog is approximately 3 weeks and since this an an average, some heats are shorter (as little as 7-10 days), others are longer (4 weeks or more). Average times between heat periods is seven months but some dogs can cycle as early as every 4 months, some once a year.