Dashboard viz & statistic descriptions - UCSB-MEDS/shiny-dashboard GitHub Wiki

All dashboard elements are constructed as functions, which live in their own individual scripts inside bren-student-data-explorer/r. Find information about each of these elements, below:

A. Inputs

i. year radio buttons

Radio buttons appear throughout the Career Outcomes tab, allowing users to select All Years or a single specific year of career outcomes data to visualize. Code to produce this widget can be found in the year_radioButtons.R script.

ii. program radio buttons

Radio buttons appear throughout the Demographics tab, allowing users to select which Bren program to visualize data for. Code to produce this widget can be found in the program_radioButtons.R script.

B. Outputs

i. Green career tab valueBox

Code to produce this value box can be found in the employmentStatus_stat_valueBox.R script and uses the meds_status & mesm_status data frames.

Alumni may report their post-graduation status (see member_status variable; e.g. secured a position, actively searching, or taking time off) in the Career Exit Survey. For the purposes of calculating the placement rate, only graduates who were actively seeking employment are included (i.e. alumni who indicate they are “taking time off from the job search” are excluded from the total number of survey respondents). The placement percentage is calculated as follows:

Placement Rate (%) = (Number of graduates placed in a job) / (Total number of active job seekers who completed the survey)

ii. Light blue career tab valueBox

Code to produce this value box can be found in the initPlacementSatisfaction_stat_valueBox.R script and uses the meds_placement & mesm_placement data frames.

Alumni who report having accepted a job in the Career Exit Survey also may indicate job satisfaction (see placement_satisfaction variable). The satisfaction percentage is calculated as follows:

Satisfaction Rate (%) = (Number of placed graduates who select being "satisfied" or "very satisfied" with their initial job placement) / (Total number of placed graduates)

iii. Dark blue career tab valueBox

Code to produce this value box can be found in the brenNet_stat_valueBox.R script and uses the meds_placement & mesm_placement data frames.

Alumni who report having accepted a job in the Career Exit Survey also may indicate how they found that position (see the job_source variable). The job source percentage is calculated as:

Job Source (%) = (Number of placed graduates who selected either "Bren School Network" or "Personal/Professional Contacts") / (Total number of placed graduates)

Originally, only alumni who selected "Bren School Network" were included in this calculation. However, we believe this approach underrepresents the impact of the Bren Career Team’s services. While "Bren School Network" often refers to placements via Bren Connect or other school-sponsored events, the Career Team also plays a key role in preparing students to effectively network and build meaningful professional relationships. Including "Personal/Professional Contacts" better reflects the broader value of the training and support provided by the Career Team.

iv. Initial Employers and Sectors + Job Titles tables

Code to produce these tables can be found in the initalEmployers_table.R & initialTitle_table.R scripts and use the meds_placement & mesm_placement data frames.

Alumni who report having accepted a job in the Career Exit Survey also may indicate the employer's name (see employer_account_name variable) and sector (see employer_sector variable). These are grouped by employer, counted, and listed in the Initial Employers and Sectors table. Graduates also report their position title (see job_title variable), which are separately grouped by title, counted, and represented in the Job Titles table. Job titles are separated from employers to protect alumni confidentiality.

v. Domestic Placement map

Code to produce this map can be found in the domesticPlacement_map.R script and uses the meds_placement & mesm_placement data frames.

Alumni who report having accepted a US-based job in the Career Exit Survey may also indicate the U.S. state where their employer is located (see the work_location_state variable). These state responses are grouped, counted, and visualized on a map. States with more working alumni are shown in darker green. Users can hover over a state to see a tooltip displaying the state name and the number of alumni employed there.

vi. International Placement table

Code to produce this table can be found in the internationalPlacement_table.R script and uses the meds_placement & mesm_placement data frames.

Alumni who report having accepted an internationally-based job in the Career Exit Survey may also indicate the U.S. state where their employer is located (see the work_location_country variable). These country (and employer name) responses are grouped, counted, and included in a table.

vii. Geographic Comparison plot

Code to produce this plot can be found in the geographicComparison_plot.R script and uses the meds_placement & mesm_placement data frames.

State- and country-specific work locations are grouped into the following three categories (during the pre-dashboard data cleaning stage): Domestic (California), Domestic (Out of State), & International. These generalized locations are grouped, counted, and visualized as a bar plot, where the length of the bars represents the percentage of alumni who work in each location.

viii. Salary plot

Code to produce this plot can be found in the salary_plot.R script and uses the meds_placement & mesm_placement data frames.

Alumni who report having accepted a full-time career position may also include their salary (though this is not required). We use a dumbbell char to display salaries by graduating class for all alumni in full-time career positions, who also report their salary. The max (dark blue circle), min (light blue circle), and median (cross) salaries for each graduating class are highlighted, along with individual salaries appearing as small gray dots.

ix. Salary by Sector plot

Code to produce this plot can be found in the salarySector_plot.R script and uses the meds_placement & mesm_placement data frames.

Alumni who report having accepted a full-time career position may also include their salary (though this is not required). We use a dumbbell chart to display salaries by sector for all alumni in full-time career positions, who also report their salary. The max (dark blue circle), min (light blue circle), and median (cross) salaries for each graduating class are highlighted, along with individual salaries appearing as small gray dots.

x. Salary by Specialization plot (MESM only)

Code to produce this plot can be found in the salarySpecialization_plot.R script and uses the meds_placement & mesm_placement data frames.

MESM alumni who report having accepted a full-time career position may also include their salary (though this is not required). We use a dumbbell chart to display salaries by MESM specialization for all alumni in full-time career positions, who also report their salary. The max (dark blue circle), min (light blue circle), and median (cross) salaries for each graduating class are highlighted, along with individual salaries appearing as small gray dots. Note: specializations only exist for the MESM program.

xi. Placement Status plot

Code to produce this plot can be found in the placementStatus_plot.R script and uses the meds_status & mesm_status data frames.

The Career Exit Survey asks respondents to report their career placement status, with a variety of hyper-specific options to choose from (e.g. PT Temporary Career, Short-term Project, FT Temporary Career, FT Career, etc; see the member_status variable). These reported member_statuses are assigned to broader status categories during the data cleaning stage (see meds/mesm-placement-cleaning.qmd), then grouped, counted, and included in a bar plot, where the length of the bars represents the percentage of alumni in each status category.

xii. Sector Trends plot

Alumni who report having accepted a position in the Career Exit Survey may also indicate their employer's sector (see theemployer_sector variable). These sector responses are grouped, counted, and included in a bar plot, where the length of the bars represents the percentage of alumni with jobs in each sector.

Code to produce this plot can be found in the sectorTrends_plot.R script and uses the meds_placement & mesm_placement data frames.

xiii. Sector Satisfaction plot

Code to produce this plot can be found in the sectorSatisfaction_plot.R script and uses the meds_placement & mesm_placement data frames.

Alumni who report having accepted a position in the Career Exit Survey may also indicate their job placement satisfaction (see placement_satisfaction variable). These satisfaction levels are grouped, counted, and included in a bar plot, where the length of the bars represents the percentage of alumni who express being "Very Satisfied," "Satisfied," "Somewhat Satisfied," or "Unsatisfied" with their position.

xiv. Job Source plot

Code to produce this plot can be found in the jobSource_plot.R script and uses the meds_placement & mesm_placement data frames.

Alumni who report having accepted a position in the Career Exit Survey may also indicate how they found their job (e.g. through the Bren School Network, Company website, etc.; see the job_source variable). These reported job sources are grouped, counted, and included in a bar plot, where the lenght of the bars represents the percentage of alumni who found their jobs through each type of job source.

xv. Program Size value box

Code to produce these value boxes can be found in the programSize_valueBox.R script and uses the program_size data frame, which is created in global.R.

MEDS, MESM & PhD program sizes for the most recent incoming cohorts. Program sizes represent the total enrolled students for each program, after student melt. If new application / demographics data are added in spring, these values may change in fall after all student melt data is available.

xvi. Diversity Demographics plot

Code to produce this plot can be found in the diversityDemographics.R script and uses the diversity_stats data frame.

This bar plot displays a variety of demographics metrics, where the length of the bars represent the percentage of students (aggregated over five years) who identify with each category.

xvii. Admissions plot

Code to produce this plot can be found in the admissions_plot.R script and uses the admissions data frame.

This overlaid bar plot displays the total number of applicants (tan), admitted students (light blue), and enrolled students (dark blue) across years and by program.

xviii. Sex plot

Code to produce this plot can be found in the sex_plot.R script and uses the sex_stats_time data frame.

This bar plot displays the distribution of sex identities of enrolled students across years and by program. The height of the bars represent the percentage of enrolled students who identify with each sex category.

xix. Age plot

Code to produce this plot can be found in the age_plot.R script and uses the age_program_groups & tot_5yr data frames.

This bar lot displays the (starting) ages of enrolled students by program. The height of the bars represent the percentage of enrolled students who fall within each binned age bracket. Data age aggregated across years.

xx. Residency plot

Code to produce this plot can be found in the residency_plot.R script and uses the residency_stats data frame.

This bar plot displays residency of enrolled students across years and by program. The height of the bars represent the percentage of enrolled students.

xxi. International Universities table

Code to produce this plot can be found in the internationalUniversities_table.R script and uses the intl_unis data frame.

This table lists the number of individuals who attended Bren from various international universities. It includes country and university name.

Important: University names appear to have been collected through free-response entries, resulting in many inconsistent and messy variations. I (Sam) chose not to standardize these entries during each update because of the amount of time it would take. As a result, the number of alumni listed for a given university may be inaccurate, as some entries from the same institution may be recorded under different spellings.

xxii. Where are students coming from? map

Code to produce this plot can be found in the origins_map.R script and uses the ug_geoms data frame.

This heat map displays origin locations (US states & countries) of Bren studnets. Users can hover over a state or country to see a tooltip displaying the location name and the number of students.

xxiii. URM Trends plot

Code to produce this plot can be found in the urmTrends_plot.R script and uses the enrolled & total_students_yr or program_size data frames (wrangling occurs inside server function and differs when a user choses to view by All Programs or for an individual program).

This bar plot displays the percentage of students who identify as a URM (Underrepresented Minority) across years and by program.

xxiv. Race / Category Trends (IPEDS) plot

Code to produce this plot can be found in the ipedsTrends_plot.R script and uses the ipeds & tot_5yr data frames.

This bar plot displays the percentage of students who identify as each of the IPEDS race / ethnicity categories across years and by program.

xxv. Race / Category (IPEDS plot)

Code to produce this plot can be found in the ipedsCategories_plot.R script and uses the ipeds & tot_5yr data frames.

This bar plot displays the percentage of students who identify as each of the IPEDS race / ethnicity categories, by program. Data are aggregated across years. Users may click on any of the bars on this plot to reveal the background distribution of the selected racial category.

xxvi. IPEDS Backgrounds and Distribution of Selected Race / Category plot

Code to produce this plot can be found in the ipedsBackgrounds_plot.R script and uses the ipeds & tot_5yr data frames (+ information from user clicks on the IPEDS categories plot).

In addition to selecting a racial category / ethnic identity, applicants may also list any number of specific racial background identities. This bar plot shows the percentage of enrolled students who selected each unique combination of background identities.

C. Text

While some text elements are static (i.e. won't change from update to update; e.g. the Race and Background Reporting Definitions text box on the Demographics tab), others have required manual (and easy-to-forget) updates to reflect newly-added data. These text elements are now (as of June 2025) rendered as uiOutputs, and are updated automatically using variables which are generated by the dashboard's data:

i. About page footer text

This small footer is rendered on the About this Dashboard page, and indicates the date (month / year) of the last dashboard update. Code to produce this text can be found in the footer_date_text.R script.

ii. About the MEDS/MESM Career Data text

Short descriptive text that is rendered on the Career Outcomes page, and provides some critical context for both MEDS and MESM career data. Code to produce this text can be found in the career_data_text.R script.

iii. About Bren's Programs & Demographics Data text

Short descriptive text that is rendered on the Demographics page, and provides some background information on the MEDS, MESM & PhD programs, as well as some critical context for understanding the source data. Code to produce this text can be found in the demographics_programs_text.R script.

iv. Where are students coming from? text

A caption for the global heat map, which visualizes which US states and international countries students come from to attend Bren. Code to produce this text can be found in the student_origin_text.R script.