Shaffer was born on November 28, 1949 in Toronto, and raised in Fort William (now part of Thunder Bay), Ontario, Canada, to a Jewish family. He studied at the University of Toronto. Shaffer married Cathy Vasapoli in 1990. They have two children. He now lives in New York City, New York.