Data-driven catchment classification: application to the pub problem