Re: GUADEC 2017 accommodation survey

Sam Thursfield <[email protected]>
Newsgroups gmane.comp.gnome.guadec
Message-ID <CAGDGXw4nU7COGCJOUGG+atKRP0LC=KQy4ndvR9WXXSNR9jnunA@mail.gmail.com>
Thank to everyone who did the survey, we got 30 responses in the end
which is definitely helpful.

I've processed the results with state-of-the-art data analysis
technology (i.e. Python) and got the following answers:

Total responses: 30
How many people would consider staying at the MMU Townhouses?
17 of 30 (56%)
How many people would only consider staying at the MMU Townhouses?
5 of 30 (16%)
How many people who would stay at the Townhouses could register before
March 2017?
9 of 17 (52%)
How many people who would stay at the Townhouses would pay £8.50 extra
for breakfast
6 of 17 (35%)
What nights would Townhouses guests stay?
  thu27: 15 of 17 (88%), or 50% of total attendees
  fri28: 16 of 17 (94%), or 53% of total attendees
  sat29: 16 of 17 (94%), or 53% of total attendees
  sun30: 16 of 17 (94%), or 53% of total attendees
  mon31: 15 of 17 (88%), or 50% of total attendees
  tue1: 13 of 17 (76%), or 43% of total attendees
  wed2: 10 of 17 (58%), or 33% of total attendees
How many people would only stay in the youth hostel?
3 of 30 (10%)
How many people would only stay the hotel?
8 of 30 (26%)


I'm not quite sure about is travel sponsorship fits into this.
Obviously people who need sponsorship can't attend unless they receive
it; but should I count such people in the survey results? I realise
now that I should have added another question :-)


Let's conservatively estimate 120 people come to GUADEC next year
self-funded, and 40 more attend with travel sponsorship.

- 12 people would choose to stay in the hostel (10%)
- 32 people would choose to stay in the Jury's Inn (26%)
- 67 people would choose to stay at the University (56%)
- 9 people would do their own thing

Let's assume 40 more are booked into the University accommodation by
the travel committee, so a maximum of 107 people would stay there.


University
--------------

Our initial booking was for 150 rooms.

Based on the survey I propose this booking for the University:

 - Thu 27th: 84 beds (7 houses)
 - Fri 28th: 96 beds (8 houses)
 - Sat 29th: 96 beds (8 houses)
 - Sun 30th: 96 beds (8 houses)
 - Mon 31st: 84 beds (7 houses)
 - Tue 1st: 72 beds (6 houses)
 - Wed 2nd: 48 beds (4 houses)

These numbers are below the estimate of 107 people, but we don't have
much flexibility here so I think we have to be conservative. In March,
we'd be able to reduce this booking by a maximum of 25% each night,
which for the main nights means 72 beds minimum.  From March onwards
all the rooms are paid and we lose money if any of them end up empty.

We can expect around 50% of these people to register by March 2017,
which is encouraging. So let's get registration going as soon as we
can.

I'm a little uncertain how the travel committee bookings work; the
deadline for applications seems to be around May/June usually which is
not ideal given the deadlines for this accommodation. Could be made
earlier this year? That would make me more confident in reserving a
block of these rooms for the travel committee.

The University have said the minimum breakfast booking at weekends is
40 people. Based on the survey we'd be looking at 35 people booking
breakfast, and the only option for breakfast is for GUADEC to pay up
front for it and charge the money back at registration, We make a loss
if we don't hit the minimum, and registration will be complex enough
as it is, so I reckon we have to leave that out. There is a Co-op
supermarket really nearby, and some cafés within a 10 minute walk.

The canteen will be open for lunch, people can buy food directly from
the & the minimum spend is only £270 or something which we'll easily
achieve.


Hotel
--------

The hotel option seems popular too, and given the demand for hotel
rooms in Manchester and the flexible terms the Jury's Inn offered I
reckon we should go with that too. However let's reduce our booking to
80 rooms (still more than double what I think we'll need) rather than
the 100 we proposed initially.


Hostel
---------

A few people like the hostel, I think that for 15 beds it's probably
not worth doing a group booking, we could just let people book their
own rooms directly. I'll check with the hostel about how early their
rooms normally fill up around this time and if we need to reserve any.


Does all this sound sensible? We really need to let the university
know our booking this week, so please get back to me with feedback
tomorrow if you have anyway!

I've attached the data & the script I ran it through, in case anyone
wants to reproduce my results.
Thanks
Sam

_______________________________________________
guadec-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/guadec-list
analyze.py (text/x-python, 4.9 KB)
#!/usr/bin/python3
# Released in public domain under CC0 license:
# <https://creativecommons.org/publicdomain/zero/1.0/legalcode>

'''Analysis of GUADEC accommodation survey results.'''

import numpy
import pandas

IN_FILE = 'GUADEC 2017 accommodation survey.csv'


ACCOMMODATION_OPTION_LABELS = [
    'hostel',
    'uni',
    'hotel_sharing',
    'hotel_single',
    'own'
]

NIGHT_OPTION_LABELS = [
    'thu27',
    'fri28',
    'sat29',
    'sun30',
    'mon31',
    'tue1',
    'wed2',
]


COLUMN_NAMES = [
    'TIMESTAMP',     # Timestamp
    'ACCOMMODATION', # Which accommodation option(s) would you choose for GUADEC 2017?
    'REGISTRATION',  # How early could you register for the conference & pay for accommodation?
    'NIGHTS',        # Which nights would you expect to stay at GUADEC 2017?
    'BREAKFAST'      # Would you pay £8.50 extra per day for a buffet breakfast?
]


def expand_multiple_choice_column(data, source_column, option_strings, option_labels):
    '''Parse string of option names, turn into additional true/false columns.'''
    to_append = []
    for option_number, full_option_string in enumerate(option_strings):
        new_column = []

        for column_number, response in enumerate(source_column):
            chosen = response.split(';')
            new_column.append(full_option_string in chosen)

        new_column_series = pandas.Series(new_column, name=option_labels[option_number])
        to_append.append(new_column_series)

    new_data = pandas.concat([data] + to_append, axis=1)
    return new_data


def expand_accommodation_column(data):
    accommodation_option_strings = [
        'Youth hostel (4-bed dorm, £33 per night)',
        'University Townhouse (single room, £43 or more per night)',
        'Jury\'s Inn Hotel (sharing a twin room, ~£51 per night)',
        'Jury\'s Inn Hotel (single room, ~£94 per night)',
        'I would organise my own accommodation'
    ]

    return expand_multiple_choice_column(data,
                                         source_column=data.ACCOMMODATION,
                                         option_strings=accommodation_option_strings,
                                         option_labels=ACCOMMODATION_OPTION_LABELS)


def expand_nights_column(data):
    nights_option_strings = [
        'Thursday 27th July 2017',
        'Friday 28th July 2017 (core day #1)',
        'Saturday 29th July 2017 (core day #2)',
        'Sunday 30th July 2017 (core day #3)',
        'Monday 31st July 2017 (BOF/workshop day #1)',
        'Tuesday 1st August 2017 (BOF/workshop day #2)',
        'Wednesday 2nd August 2017 (BOF/workshop day #3)'
    ]

    return expand_multiple_choice_column(data,
                                         source_column=data.NIGHTS,
                                         option_strings=nights_option_strings,
                                         option_labels=NIGHT_OPTION_LABELS)


def number_and_percentage(number, total):
    return '%i of %i (%i%%)' % (number, total, (number / total) * 100.0)


def main():
    everyone = pandas.read_csv(IN_FILE, names=COLUMN_NAMES, header=0)
    print("Total responses: %i" % len(everyone))

    everyone = expand_accommodation_column(everyone)
    everyone = expand_nights_column(everyone)

    print("How many people would consider staying at the MMU Townhouses?")
    townhouse_guests = everyone.query('uni == True')
    print(number_and_percentage(len(townhouse_guests), len(everyone)))

    print("How many people would only consider staying at the MMU Townhouses?")
    answer = len(townhouse_guests.query('hostel == False and hotel_single == False and hotel_sharing == False and own == False'))
    print(number_and_percentage(answer, len(everyone)))

    print("How many people who would stay at the Townhouses could register "
          "before March 2017?")
    answer = len(townhouse_guests.query('REGISTRATION == "By 1st March 2017"'))
    print(number_and_percentage(answer, len(townhouse_guests)))

    print("How many people who would stay at the Townhouses would pay "
          "£8.50 extra for breakfast")
    answer = len(townhouse_guests.query('BREAKFAST == "Yes"'))
    print(number_and_percentage(answer, len(townhouse_guests)))

    print("What nights would Townhouses guests stay?")
    for date in NIGHT_OPTION_LABELS:
        answer = len(townhouse_guests.query('%s == True' % date))
        print("  %s: %s, or %i%% of total attendees" % (
            date, number_and_percentage(answer, len(townhouse_guests)),
            (answer / len(everyone) * 100.0)))

    print("How many people would only stay in the youth hostel?")
    answer = len(everyone.query('hostel == True and uni == False and hotel_single == False and hotel_sharing == False'))
    print(number_and_percentage(answer, len(everyone)))

    print("How many people would only stay the hotel?")
    answer = len(everyone.query('hostel == False and uni == False'))
    print(number_and_percentage(answer, len(everyone)))


main()
GUADEC 2017 accommodation survey.csv (text/csv, 11 KB)
"Timestamp","Which accommodation option(s) would you choose for GUADEC 2017? ","How early could you register for the conference & pay for accommodation?","Which nights would you expect to stay at GUADEC 2017?","Would you pay £8.50 extra per day for a buffet breakfast?"
"2016/11/02 1:25:48 PM GMT","Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 1st March 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1)",""
"2016/11/02 6:37:24 PM GMT","University Townhouse (single room, £43 or more per night)","By 1st March 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1)","No"
"2016/11/02 6:38:02 PM GMT","Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 1st June 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","Yes"
"2016/11/02 7:56:25 PM GMT","Youth hostel (4-bed dorm, £33 per night);University Townhouse (single room, £43 or more per night);Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 1st June 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","No"
"2016/11/02 8:04:32 PM GMT","University Townhouse (single room, £43 or more per night);Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 1st June 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","No"
"2016/11/02 8:29:07 PM GMT","University Townhouse (single room, £43 or more per night)","By 1st March 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2)","No"
"2016/11/03 12:53:44 AM GMT","Youth hostel (4-bed dorm, £33 per night);University Townhouse (single room, £43 or more per night);Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 1st June 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","No"
"2016/11/03 6:55:39 AM GMT","Youth hostel (4-bed dorm, £33 per night);Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 15th July 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","No"
"2016/11/03 9:03:33 AM GMT","University Townhouse (single room, £43 or more per night);Jury's Inn Hotel (sharing a twin room, ~£51 per night);Jury's Inn Hotel (single room, ~£94 per night)","By 1st March 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","Yes"
"2016/11/03 9:38:32 AM GMT","Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 1st June 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2)","Yes"
"2016/11/03 9:48:13 AM GMT","Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 1st June 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1)","Yes"
"2016/11/03 11:11:34 AM GMT","University Townhouse (single room, £43 or more per night);Jury's Inn Hotel (single room, ~£94 per night)","By 1st March 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2)","No"
"2016/11/03 12:06:28 PM GMT","Jury's Inn Hotel (single room, ~£94 per night);I would organise my own accommodation","By 1st June 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1)","Yes"
"2016/11/03 4:07:01 PM GMT","Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 1st March 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","Yes"
"2016/11/03 5:52:02 PM GMT","Youth hostel (4-bed dorm, £33 per night)","By 1st March 2017","Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3)","Yes"
"2016/11/03 6:06:20 PM GMT","Youth hostel (4-bed dorm, £33 per night)","By 15th July 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","Yes"
"2016/11/03 10:00:48 PM GMT","I would organise my own accommodation","By 1st March 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","Yes"
"2016/11/04 11:39:44 AM GMT","University Townhouse (single room, £43 or more per night);Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 1st March 2017","Wednesday 2nd August 2017 (BOF/workshop day #3)","No"
"2016/11/04 2:09:29 PM GMT","I would organise my own accommodation","By 1st June 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3)","Yes"
"2016/11/04 6:41:03 PM GMT","University Townhouse (single room, £43 or more per night);Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 1st March 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","No"
"2016/11/06 4:55:18 AM GMT","University Townhouse (single room, £43 or more per night)","By 1st March 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","Yes"
"2016/11/07 5:18:05 PM GMT","University Townhouse (single room, £43 or more per night);I would organise my own accommodation","By 1st June 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3)","No"
"2016/11/07 5:19:35 PM GMT","Youth hostel (4-bed dorm, £33 per night);Jury's Inn Hotel (sharing a twin room, ~£51 per night);I would organise my own accommodation","By 1st March 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2)","No"
"2016/11/07 5:23:46 PM GMT","Youth hostel (4-bed dorm, £33 per night)","By 15th July 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1)","Yes"
"2016/11/07 5:33:00 PM GMT","University Townhouse (single room, £43 or more per night)","By 15th July 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","No"
"2016/11/07 7:45:45 PM GMT","University Townhouse (single room, £43 or more per night);Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 1st June 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2)","Yes"
"2016/11/07 7:53:32 PM GMT","University Townhouse (single room, £43 or more per night);Jury's Inn Hotel (single room, ~£94 per night);I would organise my own accommodation","By 1st March 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2)","Yes"
"2016/11/07 7:54:33 PM GMT","University Townhouse (single room, £43 or more per night);Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 15th July 2017","Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1)","Yes"
"2016/11/07 10:30:20 PM GMT","University Townhouse (single room, £43 or more per night)","By 1st June 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","Yes"
"2016/11/08 1:31:32 AM GMT","University Townhouse (single room, £43 or more per night);Jury's Inn Hotel (sharing a twin room, ~£51 per night)","By 1st March 2017","Thursday 27th July 2017;Friday 28th July 2017 (core day #1);Saturday 29th July 2017 (core day #2);Sunday 30th July 2017 (core day #3);Monday 31st July 2017 (BOF/workshop day #1);Tuesday 1st August 2017 (BOF/workshop day #2);Wednesday 2nd August 2017 (BOF/workshop day #3)","No"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.