Data and analysis from Skyscanner, CheapOair, Fareness, Booking.com, and Airfarewatchdog.