OpenSDP Analysis / Human Capital Analysis: Retention / Examine the Retention Trajectory for Novice Teachers
Describe the retention trajectory of a cohort of novice teachers.
tid
school_year
school_code
t_transfer
t_novice
This approach can be used to generate a number of interesting analyses. For example, you can examine retention for all teachers instead of just novices. If sample size permits, you can investigate novice retention by certification pathway or by effectiveness tercile. This latter analysis is one of SDP’s Human Capital Strategic Performance Indicators.
use "${analysis}\Teacher_Year_Analysis.dta", clear
isid tid school_year
Restrict to years for which next-year retention status can be observed and to teacher records with non-missing novice indicators.
keep if school_year >= 2011 & school_year <= 2015
keep if !missing(t_novice)
tab school_year t_novice, mi
gen t_novice_2011 = school_year == 2011 & t_novice == 1
bysort tid: egen max_t_novice_2011 = max(t_novice_2011)
drop t_novice_2011
rename max_t_novice_2011 t_novice_2011
Drop observations of teachers who reappear after leaving for one or more school years.
keep if t_novice_2011 == 1
gen t_leave_year = school_year if t_leave == 1
bysort tid: egen min_t_leave_year = min(t_leave_year)
drop if school_year > min_t_leave_year
sum tid if school_year == 2011
local unique_teachers = string(r(N), "%9.0fc")
gen school_code_2011 = school_code if school_year == 2011
egen max_school_code_2011 = max(school_code_2011), by(tid)
replace school_code_2011 = max_school_code_2011
drop max_school_code_2011
gen still_same_school = school_code == school_code_2011
gen still_teach = 1
tab school_year still_same_school, mi
tab school_year still_teach, mi
collapse (sum) still_same_school still_teach (count) tid, by(school_year)
gen cohort_count_2011 = tid if school_year == 2011
egen max_cohort_count_2011 = max(cohort_count_2011)
replace cohort_count_2011 = max_cohort_count_2011
drop max_cohort_count_2011
foreach var in still_same_school still_teach {
replace `var' = 100 * `var' / cohort_count_2011
format `var' %9.0fc
}
sort school_year
#delimit ;
twoway
scatter still_same_school school_year,
connect(l)
lcolor(navy)
lpattern(solid)
msymbol(circle)
mcolor(navy)
msize(medium)
mlabel(still_same_school)
mlabpos(6)
mlabcolor(navy)
mlabsize(small) ||
scatter still_teach school_year,
connect(l)
lcolor(maroon)
lpattern(solid)
msymbol(square)
mcolor(maroon)
mlabsize(small)
msize(medium)
mlabel(still_teach)
mlabpos(12)
mlabcolor(maroon) ||,
title("Novice Teacher Trajectory", span)
ytitle("Percent of Teachers", size(medsmall))
xtitle("")
yscale(range(0(20)100))
ylabel(0(20)100, nogrid format(%9.0f) labsize(medsmall))
xscale(range(2011(.1)2015.1))
xlabel(2011 "2010-11" 2012 "2011-12" 2013 "2012-13" 2014 "2013-14" 2015 "2014-15",
labsize(medsmall))
legend(position(8) order(2 1) cols(1) symxsize(3) ring(0) size(medsmall)
region(lstyle(none) lcolor(none) color(none))
label(1 "Still Teaching at Same School")
label(2 "Still Teaching"))
graphregion(color(white) fcolor(white) lcolor(white)) plotregion(color(white)
fcolor(white) lcolor(white))
note(" " "Notes: Sample includes `unique_teachers' teachers who were in their
first year of teaching in the 2010-11 school year.", span size(vsmall));
#delimit cr
graph save "$graphs\Novice_Teacher_Retention_Trajectory.gph", replace
graph export "$graphs\Novice_Teacher_Retention_Trajectory.emf", replace
Previous Analysis: Compare Teacher Turnover Rates Across Teacher Effectiveness Terciles