TL;DR
Going for GEXP can severely reduce your hostel application success rate if you are male (8.7% success), even if you have a perfect track record (20%).
This makes GEXP a toss-up between an overseas experience for term 6 and no hostel during capstone, or staying in SUTD but enjoying a 5-min distance between your classroom and your bed after working till 4AM.
Also, don’t worry so much about hostel if you’re a girl.
Libraries used:
library(tidyverse)
library(lubridate)
library(sf)
The following data is taken from a survey done on thirty 2018 GEXP students who have applied for hostel from Term 7 to Term 8 in 2019. A link to the survey can be found here: https://goo.gl/forms/4Lk1GnMYy7Ny0MSg2 (please don’t fill in the survey)
survey_data <- read_csv("housing_survey2.csv") %>%
select(3:9)
survey_data
## # A tibble: 30 x 7
## `Gender in appli~ `I have successfu~ `Please select t~ `I had hostel i~
## <chr> <chr> <chr> <chr>
## 1 Male No, I've been wai~ I have a warning~ No
## 2 Male No, I've been wai~ I have no discip~ Yes
## 3 Female Yes I have no discip~ Yes
## 4 Male No, I've been wai~ I have no discip~ Yes
## 5 Male No, I've been wai~ I have no discip~ Yes
## 6 Male No, I've been wai~ I have a warning~ No
## 7 Male No, I've been wai~ I have no discip~ Yes
## 8 Male Yes I have no discip~ Yes
## 9 Male No, I've been wai~ I have no discip~ Yes
## 10 Male No, I've been wai~ I have no discip~ No
## # ... with 20 more rows, and 3 more variables: `I fulfilled the three
## # hostel event requirement` <chr>, `My travelling time to school using
## # public transport is` <chr>, `In case I don't get hostel, I am going to
## # look for accommodation near school.` <chr>
Now let’s first look at the demographics and overall results of the housing exercise for this set of students, who are / were on Term 6 overseas exchange.
survey_data %>% ggplot(aes(x = factor(1), fill = gender)) + geom_bar(width = 1,alpha = 0.8) + coord_polar(theta = "y") + ggtitle("Respondents by gender") + theme(axis.title.y = element_blank(), axis.text.y=element_blank(), axis.ticks.y=element_blank(), axis.title.x = element_blank()) + scale_fill_manual(values=c("#FF5964", "#35A7FF"))
survey_data %>% ggplot(aes(x = factor(1) , fill = housing_state)) + geom_bar(width = 1,alpha = 0.8) + coord_polar(theta = "y") + ggtitle("Overall housing results") + theme(axis.title.y = element_blank(), axis.text.y=element_blank(), axis.ticks.y=element_blank(), axis.title.x = element_blank()) + scale_fill_manual(values=c("#DB002B", "#04E822")) + labs(fill = "hostel application status")
survey_data %>% ggplot(aes(x = factor(1) , fill = prv_hostel_state)) + geom_bar(width = 1,alpha = 0.8) + coord_polar(theta = "y") + ggtitle("Hostel occupancy in Term 4/5") + theme(axis.title.y = element_blank(), axis.text.y=element_blank(), axis.ticks.y=element_blank(), axis.title.x = element_blank()) + scale_fill_manual(values=c("#DB002B", "#04E822")) + labs(fill = "previously stayed in hostel")
As we can see from above, there are many more male respondents (23) than female ones (7). Some possible reasons, which are not mutually independent, are:
Also, it seems that in general, one risks losing their hostel placing by going for Term 6 GEXP. In Term 4/5 80% of respondents stayed in hostel; now there is only a 30% chance of getting a placing for Term 7 and 8, which are unfortunately capstone terms.
Nevertheless, while the data may be skewed, let’s still look at the relationship between housing status and gender.
survey_data %>% ggplot(aes(x = gender, fill = housing_state)) + geom_bar(alpha = 0.8) + ggtitle("Respondent gender, divided by hostel application status") + scale_fill_manual(values=c("#DB002B", "#04E822")) + labs(fill = "hostel application status")
This plot clearly shows a disproportion between genders for housing application success rate. All 7 out of 7 female respondents (100%) were able to successfully apply for hostel, whereas only 2 out of 23 male respondents (8.69%) are guaranteed to have hostel for next year. Even looking at absolute numbers, the much smaller number of successful female respondents outnumber the male successes by a factor of 3.
Some possible reasons for these, which are again not mutually independent, are:
Let’s first concern ourselves with the third reason, which was introduced in 2016/2017, and see if the housing management actually keeps to their policies.
survey_data %>% ggplot(aes(x = disciplinary, fill = housing_state)) + facet_grid(gender~., scales = "free_y", space = "free") + coord_flip() + geom_bar(alpha = 0.8) + labs(x = "disciplinary record", fill = "hostel application status") + ggtitle("Disciplinary record of respondents,\n divided by hostel application status and faceted by gender") + scale_fill_manual(values=c("#DB002B", "#04E822"))
The first criterion for the housing management is discplinary record. Here we see that the mechanism appears to be in place for the males, with both successes having no disciplinary records.
There isn’t enough information to say for sure if it works with the ladies, but assuming that the mechanism is in place, there appears to be sufficient places for a person with Notices of Breach (NoBs) to get a placing.
survey_data %>% filter(prv_hostel_state == "Yes") %>%
ggplot(aes(x = participation, fill = housing_state)) + facet_grid(.~gender, scales = "free_y", space = "free") + geom_bar(alpha = 0.8) + ggtitle("Participation in at least 3 hostel events,\n divided by hostel application status and faceted by gender") + scale_fill_manual(values=c("#DB002B", "#04E822")) + labs(fill = "hostel application status")
Here we again see that selection mechanisms appear to be in place, at least for the males, in which both successful applicants meet the hostel participation criterion.
All female respondents met the criterion, and there isn’t enough information to say for sure if the criterion is enforced.
survey_data %>% ggplot(aes(x = trav_time, fill = housing_state)) + facet_grid(gender~., scales = "free_y", space = "free") + coord_flip() + geom_bar(alpha = 0.8) + ggtitle("Travelling time of respondents to SUTD by public transport,\n divided by hostel application status and faceted by gender") + scale_fill_manual(values=c("#DB002B", "#04E822")) + labs(x = "travelling time", fill = "hostel application status")
The answering options may not provide a particularly accurate representation of the algorithm the housing application system uses, but for simplicity’s sake I have given the above three options. Based on these options, we again come to the same conclusion from the previous section, in that the selection mechanisms appear to be working.
To have an overarching view of the entire selection criteria, let’s try to see how many “optimal” individuals, i.e. those who have no disciplinary issue, faithfully participate in hostel activities, and live far from school, have missed out on housing.
perfect <- survey_data %>% filter(disciplinary == "I have no disciplinary records") %>%
filter(participation == "Yes") %>%
filter(trav_time == "More than 1 hour")
perfect %>% ggplot(aes(x = factor(1), fill = housing_state)) + coord_polar(theta = "y") + geom_bar(width = 1,alpha = 0.8) + theme(axis.title.y = element_blank(), axis.text.y=element_blank(), axis.ticks.y=element_blank(), axis.title.x = element_blank()) + scale_fill_manual(values=c("#DB002B", "#04E822")) + labs(fill = "hostel application status") + ggtitle("Optimal individuals divided by hostel application status")
Now it appears that the success rate for hostel application, if you are a perfect person (in the eyes of housing, of course), has jumped to 50% from 30%! However, if we check for gender, knowing that 6 out of 7 females meet all three criteria…
perfect %>% filter(gender == "Male") %>%
ggplot(aes(x = factor(1), fill = housing_state)) + coord_polar(theta = "y") + geom_bar(width = 1,alpha = 0.8) + theme(axis.title.y = element_blank(), axis.text.y=element_blank(), axis.ticks.y=element_blank(), axis.title.x = element_blank()) + scale_fill_manual(values=c("#DB002B", "#04E822")) + labs(fill = "hostel application status") + ggtitle("Optimal males divided by hostel application status")
And now we have 10 optimal males who meet all three hostel selection criteria, but with only 2 of them (20%) getting successful applications.
We can conclude that the low male application success rate is not likely to be due to applicants being low priority, but rather that resources are inadequate for accepting new male applicants.
Perhaps we could blame all these conclusions on small sample sizes and insufficient data, but there is are pertinent reasons that we need to fix this:
There are some suggestions as to how to fix the issue:
There is no one-size-fits-all solution to this issue, and I also believe that the housing management would have a better idea on how to tackle this problem. However, I would like those who read this to know that this phenomenon represents a possible lack of long-term planning, and also brings a message to students that the exchange brings benefits that are diminished by losses in other areas.
no_housing <- survey_data %>% filter(housing_state == "No, I've been waitlisted")
no_housing %>% ggplot(aes(x = factor(1), fill = look_for_alt )) + geom_bar(width = 1,alpha = 0.8) + coord_polar(theta = "y") + ggtitle("GEXP students looking for alternate housing solutions") + theme(axis.title.y = element_blank(), axis.text.y=element_blank(), axis.ticks.y=element_blank(), axis.title.x = element_blank()) + scale_fill_manual(values=c("#FAEDCA", "#FE5D26", "#7EBC89")) + labs(fill = "looking for alternatives?")
Lastly, for those who still need accommodation near school, be you a disgruntled GEXP student or a simple unlucky soul, there are people out there with you who’d like to find a place to stay too! Maybe we could come together and find a solution for this, and feel free to PM me if you’re interested!