Licenciado en Economía por la UNAM. Desde 1976 ha sido profesor de la materia sistema político mexicano en la Facultad de Ciencias Políticas y Sociales de la UNAM, en la UAM-Azcapotzalco, en el ITAM y en el CIDE. Ha publicado libros y artículos en revistas especializadas, sobre movimientos, organizaciones sociales e historia de las instituciones políticas de México. De 1997 a 2000 fue comentarista en la Mesa Política del noticiero Monitor, del grupo InfoRed. Actualmente es investigador de la División de Estudios Políticos del CIDE.