foreseer

noun
  1. a person who foresees or predicts future events
  2. Usage: often used in literary or formal contexts

Examples