1. Summary

In September 2021, we began a pilot run of a Biology Application Assistance Program (BAAP).

Our goal was to lower the barrier for prospective students to submit high-quality, informed applications to the MIT Biology PhD program. Ultimately, we hope the program can make MIT Biology and more welcoming and transparent place to prospective students.

Between September 16 and November 15, 2021, we had 161 applicants to BAAP.

We recruited 50 current BioGrads (entry years ranging from 2015 to 2021) who offered to (i) provide recurring, 1:1 mentorship with BAAP applicants, (ii) host multiple, 15-minute office hours sessions, and/or (iii) participate in open panel discussions.

1.1 Key Results

  • 161 prospective applicants participated in BAAP.

  • Most participants were international students (~55%) or domestic students that identify as members of groups underrepresented in science (URMs, ~34%).

  • The subset (33/161) of students who completed the BAAP feedback survey after participating had overwhelmingly positive feedback about the program’s utility and its impact on their view of MIT Biology.

  • Very few (6) BAAP participants were invited to interview, so it is difficult to determine whether BAAP improved participants’ applications.

1.2 FAQ

What were applicant demographics?

       Our applicants were largely international students (~55%) or domestic students identifying as members of groups underrepresented in science (~34%).

       For more information, see Numbers and demographics.

What were applicants’ reasons for seeking support?

       Mostly for help with revising application materials and identifying labs of interest.

       For more information, see Reasons for applying to BAAP.

Did BAAP encourage students to apply who might have not otherwise?

      This is hard to say. The 33/161 applicants who completed our survey overwhelmingly reported that BAAP increased their interest in MIT (see General comments from survey), but we did not collect any data on the extent to which the program encouraged applicants.

Did BAAP help students present their accomplishments more effectively?

      While student anecdotes support that the program helped them present their accomplishments effectively (see General comments from survey) we did not collect any more compelling data.

Did BAAP improve yield of accepted students who enroll?

       Since only 6 BAAP applicants were invited to interviews, it will be difficult to make quantitative conclusions.

       However, we will survey those 6 applicants after interviews and ask them whether BAAP influenced their decisions. Please let us know if you have any requests on what we should include in that survey.

How many mentors were there?

      50.

How many mentees did each mentor take?

      On average, each mentor had 2 mentees.
      Some mentors took up to 5 mentees.
      Some mentors took 0-1 mentees, many of whom hosted
      office hours (12) and/or participated as a panel member (7)

      As of 01/25/2022, mentor post-program surveys are pending.

1.3 Outlook

Based on this pilot BAAP instance, we believe it is worthwhile to continue this program in the 2022-2023 admissions cycle. We plan to make the following changes:

  • Begin the program earlier to attract students who may have not yet considered applying to MIT Biology.

  • Expand pre-BAAP mentee surveys to evaluate additional questions, such as whether BAAP helps participants present their accomplishments more effectively.

  • Expand student panels and office hours, and consider limiting 1:1 pairing to domestic URM applicants.

  • Ask BAAP applicants to acknowledge, before beginning the program, that the post-program survey is a requirement for participation.

1.4 Contributions & Acknowledgements

BAAP 2021 was organized by Kiera Sapp (’17), Giselle Valdes (’19), Hannah Jacobs (’19), and Julian Stanley (’20).

J.S. created the BAAP poster and application survey and initially organized mentor recruitment and pairing. K.S. improved mentor recruitment, coordinated with the Biology Diversity Council, and planned and organized office hours. H.J. coordinated both information panels. G.V. coordinated 1-1 mentor pairing.

All organizers contributed intellectually to building the structure and content of BAAP, and worked to create personalized 1-1 mentor-mentee pairings.

J.S. wrote this report, which was edited and approved by K.S., G.V., and H.J.

This program was only possible because the 50 graduate volunteers who took time out of their research to participate in BAAP.

This program was initiated by Mandana Sassanfar–without her and her expert guidance, the program would not have started in the first place.

We’d also like to thank Mike Laub and Amy Keating for providing us with thoughtful insight and genuine support, and Mike Laub for giving faculty perspective at our second BAAP panel.

1.5 Data availibility

Summary statistics and figures compiled from raw data are shown below. You can click the “code” button to see the code used to generate those figures. The raw data used to generate the figures is not available in this document to preserve privacy. If you would like that raw data (with the same file-names referenced in the code), please contact Julian () or another BAAP organizer.

Copies of all surveys are at the end of the document.

2. Analysis of BAAP Participants

Numbers and demographics

How many people applied and participated?

domestic_stats <- na.omit(fread("BAAP_DomesticStats.csv",
  header = T, na.strings = "",
  blank.lines.skip = TRUE
)[, c(1, 2, 3, 5)])
colnames(domestic_stats) <- c("Name", "URM", "Paired", "Class")
dim(domestic_stats)

We had 161 BAAP applicants.

p1 <- data.table(
  Activity = factor(c("1:1 Mentor", "Office Hours", "Student Panel"),
    levels = c("1:1 Mentor", "Office Hours", "Student Panel")
  ),
  count = c(100, 47, 44)
) %>%
  ggplot(aes(x = "", y = count, fill = Activity)) +
  geom_bar(stat = "identity") +
  scale_fill_manual(values = RColorBrewer::brewer.pal(n = 8, name = "Set2")) +
  xlab("") +
  ylab("Number of mentees")

p2 <- data.table(
  `Responded to Exit Survey` = c("Yes", "No"),
  count = c(33, 148)
) %>%
  ggplot(aes(x = "", y = count, fill = `Responded to Exit Survey`)) +
  geom_bar(stat = "identity") +
  scale_fill_manual(values = RColorBrewer::brewer.pal(n = 8, name = "Set2")) +
  xlab("") +
  ylab("Number of mentees")

grid.arrange(p1, p2, nrow = 1)

  • 100 applicants were paired with a 1:1 mentor.
  • 47 applicants signed up for an office hours time slot.
  • 24 applicants attended the first synchronous student panel
  • 17 applicants attended the second synchronous student panel
  • 33 applicants responded to our exit survey.

How were demographics distributed?

ggplot(domestic_stats, aes(x = Class)) +
  geom_bar()

54.7% of our participants were international students. 33.5% were Domestic URMs. 11.8% were Domestic Non-URMs.

Were demographics different than current MIT Bio students?

Yes. BAAP demographics were very different from the distribution of 2021 enrolled students in Biology–who were 13% international, 16% URM, and 71% non-URM (Office of the Provost Graduate Education Statistics).

data.table(
  Proportion = c(0.118, 0.335, 0.547, .71, .16, .13),
  Class = rep(c("Domestic Non-URM", "Domestic URM", "International"), 2),
  Group = rep(c("BAAP", "MIT Biology"), each = 3)
) %>%
  ggplot(aes(x = Class, fill = Group, y = Proportion)) +
  geom_bar(position = "dodge", stat = "identity") +
  scale_fill_brewer(palette = "Paired") +
  xlab("") +
  ylab("Proportion of applicants/students")

Reasons for applying to BAAP

What did applicants want help with?

When applying, BAAP students were given a list of common reasons for wanting help (e.g. Personal Statement, Labs of interest within MIT Biology) and there was also an “other” box for custom input. Note that this was a “select all”, so results add up to much more than 161.

reasons <- na.omit(fread("reasons.csv", sep = ",", header = F))
colnames(reasons) <- "Response"
reasons %>%
  group_by(Response) %>%
  count() %>%
  arrange(-n) %>%
  datatable()

What did applicants see as the the biggest roadblock to applying to PhD programs?

roadblocks <- na.omit(fread("Roadblocks.txt", sep = "\t", na.strings = "", header = T))
datatable(roadblocks)

How many mentees were paired 1:1 with a mentor?

domestic_stats[Paired == "Yes"] %>% dim()

We paired 100 mentees in total, including all students who attended a US university and self-identified as members of a group historically underrepresented in science (Domestic URMs).

ggplot(domestic_stats, aes(fill = Paired, x = Class)) +
  geom_bar(position = "stack") +
  scale_fill_brewer(palette = "Paired") +
  xlab("") +
  ylab("Number of mentees")

End-of-Program Feedback Survey

Survey responses and demographics

survey_results <- fread("post_survey.csv", na.strings = "")
colnames(survey_results) <- c(
  "employment", "URM", "before", "paired",
  "guidance", "mentor_times", "appropriate",
  "mentor_comments", "mentor_helpful", "mentor_areas",
  "mentor_commType", "mentor_suggestions", "panel",
  "panel_helpful", "panel_suggestions", "oh", "oh_times",
  "oh_useful", "apply", "interest", "opinion", "whole", "change"
)

p1 <- ggplot(survey_results, aes(fill = URM, x = "")) +
  geom_bar() +
  scale_fill_manual(values = RColorBrewer::brewer.pal(n = 8, name = "Set2")) +
  xlab("") +
  ylab("Number of mentees")


p2 <- ggplot(survey_results, aes(fill = employment, x = "")) +
  geom_bar() +
  scale_fill_manual(values = RColorBrewer::brewer.pal(n = 8, name = "Set2")) +
  xlab("") +
  ylab("Number of mentees")

p3 <- ggplot(survey_results, aes(fill = paired, x = "")) +
  geom_bar() +
  scale_fill_manual(values = RColorBrewer::brewer.pal(n = 8, name = "Set2")) +
  xlab("") +
  ylab("Number of mentees")

p4 <- ggplot(survey_results, aes(fill = factor(before,
  levels = c(
    "Yes", "No",
    "Kinda", "Mostly yes, but some gaps.",
    "Unsure"
  )
), x = "")) +
  geom_bar() +
  scale_fill_manual(values = RColorBrewer::brewer.pal(n = 8, name = "Set2")) +
  labs(x = "", fill = "Before BAAP, did you feel\nlike you had a sufficient understanding\nof the PhD application process?") +
  ylab("Number of mentees")


survey_results %>%
  group_by(URM) %>%
  count() %>%
  arrange(-n) %>%
  `colnames<-`(c("Response", "n")) %>%
  knitr::kable(caption = "Do you identify as part of a group historically underrepresented in science?") %>%
  kable_styling(full_width = T)
Do you identify as part of a group historically underrepresented in science?
Response n
Yes 21
Unsure 7
No 5
survey_results %>%
  group_by(paired) %>%
  count() %>%
  arrange(-n) %>%
  `colnames<-`(c("Response", "n")) %>%
  knitr::kable(caption = "Were you paired with a 1:1 mentor?") %>%
  kable_styling(full_width = T)
Were you paired with a 1:1 mentor?
Response n
Yes 26
No 6
Unsure 1
grid.arrange(p1, p3)

survey_results %>%
  group_by(employment) %>%
  count() %>%
  arrange(-n) %>%
  `colnames<-`(c("Response", "n")) %>%
  knitr::kable(caption = "What is your current student/employment status?") %>%
  kable_styling(full_width = T)
What is your current student/employment status?
Response n
Full-time student 16
Full-time employee (Biology-Relevant) 9
Full-time student, Part-time employee (Biology-Relevant) 4
Fellowship/Post-bacc Program 2
Full-time employee (Not-Biology-Relevant) 1
Part-time employee (Biology-Relevant) 1
p2

survey_results %>%
  group_by(before) %>%
  count() %>%
  arrange(-n) %>%
  `colnames<-`(c("Response", "n")) %>%
  knitr::kable(caption = "Before BAAP, did you feel like you had a sufficient
               understanding of the PhD application process?") %>%
  kable_styling(full_width = T)
Before BAAP, did you feel like you had a sufficient understanding of the PhD application process?
Response n
Yes 12
No 11
Unsure 8
Kinda 1
Mostly yes, but some gaps. 1
p4

What did 1:1 paired participants think of their mentor matches?

All 26 students who gave feedback and were paired with a mentor reported that their mentors were a good match.

Generally, they reported positive mentor interactions:

On a scale of 1 (least helpful) to 5 (most helpful), how helpful were your interactions with your mentor?

suppressWarnings(
  print(
    survey_results %>%
      ggplot(aes(x = mentor_helpful)) +
      geom_bar() +
      scale_x_discrete(limit = factor(1:5)) +
      xlab("How helpful were your mentor interactions? /5") +
      ylab("Number of mentees")
  )
)

Comments on pairing:

na.omit(survey_results$mentor_comments) %>%
  data.table() %>%
  datatable()

Feedback/suggestions for the 1:1 mentor pairing in the future:

na.omit(survey_results$mentor_suggestions) %>%
  data.table() %>%
  datatable()

What did participants think of the panels?

suppressWarnings(
  print(
    survey_results %>%
      ggplot(aes(x = panel_helpful)) +
      geom_bar() +
      scale_x_discrete(limit = factor(1:5)) +
      xlab("How helpful were the panels? /5") +
      ylab("Number of mentees")
  )
)

Comments:

na.omit(survey_results$panel_suggestions) %>%
  data.table() %>%
  datatable()

What did participants think of the office hour slots?

suppressWarnings(
  print(
    survey_results %>%
      ggplot(aes(x = oh_useful)) +
      geom_bar() +
      scale_x_discrete(limit = factor(1:5)) +
      xlab("How helpful were the panels? /5") +
      ylab("Number of mentees")
  )
)

General comments from survey

Did you choose to apply to the MIT Biology PhD Program?

survey_results %>%
  ggplot(aes(x = "", fill = factor(apply,
    levels = c("Yes", "No")
  ))) +
  geom_bar() +
  scale_fill_manual(values = RColorBrewer::brewer.pal(n = 8, name = "Set2")) +
  labs(x = "", fill = "Did you apply to MIT Biology?") +
  xlab("") +
  ylab("Number of mentees")

How did your participation in BAAP affect your interest in joining the MIT Biology program?

suppressWarnings(
  print(
    survey_results %>%
      ggplot(aes(x = interest)) +
      geom_bar() +
      scale_x_discrete(limit = factor(1:6)) +
      xlab("How did it affect your interest? /6") +
      ylab("Number of mentees")
  )
)

How did your participation in BAAP affect your opinion of the MIT Biology program?

suppressWarnings(
  print(
    survey_results %>%
      ggplot(aes(x = opinion)) +
      geom_bar() +
      scale_x_discrete(limit = factor(1:6)) +
      xlab("How did it affect your opinion ? /6") +
      ylab("Number of mentees")
  )
)

Comments on the program as a whole:

na.omit(survey_results$whole) %>%
  data.table() %>%
  datatable()

Suggestions on what to improve:

na.omit(survey_results$change) %>%
  data.table() %>%
  datatable()

3. Analysis of BAAP Mentors

How many mentors?

mentor_info <- fread("BAAP_Mentors.csv")
colnames(mentor_info) <- c(
  "Name", "Email", "Entry_Year",
  "Lab", "Research", "Major", "Institution", "URM",
  "Mentees"
)

dim(mentor_info)

50 mentors.

From which labs?

22 unique labs:

mentor_info[Lab != "N/A"] %>%
  group_by(Lab) %>%
  count() %>%
  arrange(-n) %>%
  datatable()

How many URMs?

mentor_info[URM == "Yes"] %>% dim()

15 URMs.

What distribution of entry years?

mentor_info %>%
  group_by(Entry_Year) %>%
  count() %>%
  ggplot(aes(x = reorder(Entry_Year, Entry_Year), y = n)) +
  geom_bar(stat = "identity") +
  xlab("Mentor entry year") +
  ylab("Number of mentors")

How many 1:1 mentees did each mentor take?

mentor_info %>%
  group_by(Mentees) %>%
  count() %>%
  ggplot(aes(x = reorder(Mentees, Mentees), y = n)) +
  geom_bar(stat = "identity") +
  xlab("Number of mentees assigned") +
  ylab("Number of mentors")

4. Raw Data + Surveys

Some raw data redacted. Email Julian at for full access.

Mentor Exit Survey (pending)