Skip to content

Instantly share code, notes, and snippets.

@neubig
Last active November 20, 2023 00:45
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save neubig/4f9e0f7d6dcb47d488738b516634a8d1 to your computer and use it in GitHub Desktop.
Save neubig/4f9e0f7d6dcb47d488738b516634a8d1 to your computer and use it in GitHub Desktop.
Best Paper Deadline Time Zone
#### Script to calculate the best paper deadline based on the population on earth based on some not-completely-arbitrary assumptions
# by Graham Neubig
# Results are:
# UTC 8:00 deadline, utility is 1476.1150000000002
# UTC 9:00 deadline, utility is 1438.7800000000002
# UTC 14:00 deadline, utility is 1385.2949999999998
# UTC 15:00 deadline, utility is 1345.945
# UTC 13:00 deadline, utility is 1291.4950000000003
# UTC 7:00 deadline, utility is 1287.1649999999997
# UTC 12:00 deadline, utility is 1249.9900000000002
# UTC 11:00 deadline, utility is 1197.63
# UTC 10:00 deadline, utility is 1186.9350000000002
# UTC 16:00 deadline, utility is 1067.2949999999998
# UTC 6:00 deadline, utility is 1063.91
# UTC 4:00 deadline, utility is 1049.2099999999998
# UTC 5:00 deadline, utility is 1026.605
# UTC 3:00 deadline, utility is 983.33
# UTC 2:00 deadline, utility is 963.845
# UTC 1:00 deadline, utility is 949.0
# UTC 17:00 deadline, utility is 878.055
# UTC 18:00 deadline, utility is 837.64
# UTC 19:00 deadline, utility is 781.4899999999999
# UTC 20:00 deadline, utility is 755.99
# UTC 21:00 deadline, utility is 689.78
# UTC 0:00 deadline, utility is 682.625
# UTC 22:00 deadline, utility is 620.175
# UTC 23:00 deadline, utility is 444.07499999999993
# Fact?: the time zones, starting with UTC-12 and going to UTC+12, have approximately the following populations (according to this)
# https://www.quora.com/What-is-a-rough-breakdown-of-populaition-by-time-zone
zones = list(range(-12,13))
populations = [0.00, 0.01, 0.84, 0.72, 37.2, 29.5, 100, 161, 37, 80.8, 0.00, 0.15, 74.9, 357, 121, 59.2, 56.6, 113, 7.49, 59.4, 503, 149, 16.8, 1.99, 5.59]
# Approximation: the research population is approximately proportional to this.
# Assumption: people prefer to have a submission deadline during normal working hours (08:30-17:30), which gives them a utility of 1, and barring that would like to submit during normal waking hours (07:30-08:30 or 17:30-23:30), which gives them a utility of 0.5.
def utility(time):
if time > 8.5 and time < 17.5:
return 1.0
elif time > 7.5 and time < 23.5:
return 0.5
else:
return 0.0
vals = []
for deadline in range(0,24):
total_utility = 0.0
all_utilities = []
for zone, population in zip(zones, populations):
local_time = (24 + zone + deadline) % 24
my_utility = utility(local_time) * population
all_utilities.append(my_utility)
vals.append( (sum(all_utilities), deadline, all_utilities) )
vals.sort(reverse=True)
for total_utility, deadline, all_utilities in vals:
print(f'UTC {deadline}:00 deadline, utility is {total_utility}')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment