OpenSDP Analysis / Human Capital Analysis: Retention / Compare Teacher Turnover Rates Across Teacher Effectiveness Terciles
Explore whether the agency is retaining its most effective teachers.
tid
school_year
t_transfer
t_leave
t_stay
current_tre_m
Because teacher effectiveness typically increases during the first few years of teaching, repeat this analysis for teachers with three or fewer years of experience, and for teachers wih more than three years of experience.
Use “m” for math and “e” for english language arts. Note: to make multiple charts at the same time, put loops for subject around the analysis and graphing code.
local subject m
use "${analysis}/Teacher_Year_Analysis.dta", clear
isid tid school_year
Keep years for which both teacher effects value added estimates and nextyear retention status are available. Keep only records for which one-year teacher effectiveness estimates are available.
keep if school_year >= 2010 & school_year <= 2014
keep if !missing(current_tre_`subject')
assert t_leave + t_transfer + t_stay == 1
tab school_year
codebook current_tre_`subject'
table t_stay, c(freq mean current_tre_`subject')
table t_leave, c(freq mean current_tre_`subject')
table t_transfer, c(freq mean current_tre_`subject')
xtile terc_current_tre_`subject' = current_tre_`subject', nq(3)
tab t_transfer terc_current_tre_`subject', mi
tab t_leave terc_current_tre_`subject', mi
sum tid
local teacher_years = string(r(N), "%9.0fc")
preserve
bysort tid: keep if _n == 1
sum tid
local unique_teachers = string(r(N), "%9.0fc")
restore
foreach var of varlist t_leave t_transfer {
gen sig_`var' = .
xi: logit `var' i.terc_current_tre_`subject', robust
forval quartile = 2/3 {
replace sig_`var' = abs(_b[_Iterc_curr_`quartile'] / ///
_se[_Iterc_curr_`quartile']) if terc_current_tre_`subject' == `quartile'
replace sig_`var' = 0 if sig_`var' <= 1.96 ///
& terc_current_tre_`subject' == `quartile'
replace sig_`var' = 1 if sig_`var' > 1.96 ///
& terc_current_tre_`subject' == `quartile'
}
replace sig_`var' = 0 if terc_current_tre_`subject' == 1
}
foreach var of varlist t_leave t_transfer {
tostring(sig_`var'), replace
replace sig_`var' = "*" if sig_`var' == "1"
replace sig_`var' = "" if sig_`var' == "0"
gen `var'_str = string(`var', "%9.0f")
egen `var'_label = concat(`var'_str sig_`var')
}
gen count = _n
replace t_transfer = t_leave + t_transfer
if "`subject'" == "m" {
local subj_title "Math"
local subj_foot "math"
}
if "`subject'"=="e" {
local subj_title "ELA"
local subj_foot "English/Language Arts"
}
local gradespan "5th through 8th"
#delimit ;
twoway bar t_transfer count,
barwidth(.6) color(forest_green) finten(100) ||
bar t_leave count,
barwidth(.6) color(maroon) finten(100) ||
scatter t_transfer count,
mlabel(t_transfer_label)
msymbol(i) msize(tiny) mlabpos(6) mlabcolor(white) mlabgap(.001) ||
scatter t_leave count,
mlabel(t_leave_label)
msymbol(i) msize(tiny) mlabpos(6) mlabcolor(white) mlabgap(.001) ||,
title("Average `subj_title' Teacher Turnover", span)
subtitle("by Teacher Effects Tercile", span)
ytitle("Percent of Teachers", size(medsmall))
yscale(range(0(10)60))
ylabel(0(10)60, nogrid labsize(medsmall))
xtitle(" ")
xlabel(1 "Bottom Third" 2 "Middle Third" 3 "Top Third", labsize(medsmall))
legend(order(1 "Transfer Schools" 2 "Leave")
ring(0) position(11) symxsize(2) symysize(2) rows(2) size(medsmall)
region(lstyle(none) lcolor(none) color(none)))
graphregion(color(white) fcolor(white) lcolor(white)) plotregion(color(white)
fcolor(white) lcolor(white))
note(" " "*Significantly different from bottom tercile value, at the 95 percent
confidence level." "Notes: Sample includes 2009-10 through 2013-14 `gradespan' grade
`subj_foot' teachers, with `teacher_years' teacher years and `unique_teachers' unique"
"teachers. Teacher effects are measured in test score standard deviations, with
teacher-specific shrinkage factors applied to adjust" "for differences in sample
reliability. Retention analysis is based on one-year retention rates.",
span size(vsmall));
#delimit cr
graph save "$graphs\Retention_by_Effectiveness_Tercile_`subj_title'.gph", replace
graph export "$graphs\Retention_by_Effectiveness_Tercile_`subj_title'.emf", replace
Previous Analysis: Compare Teacher Turnover Rates Across School Poverty Quartiles
Next Analysis: Examine the Retention Trajectory for Novice Teachers