WBL Success Rates Sample Code

Note: This page is from an older version of the Data Dictionary and may therefore contain information that is now out of date. It is included here for reference only.

1 The following SPSS code is to illustrate the WBL Success Rates Methodology 2005/06.

Overall Success Rates

************************************************************************.
*OVERALL SUCCESS RATE DATA.
************************************************************************.

GET FILE='WBL (0506) New Master - TRIM.sav'.

*Remove learners who withdrew within the induction period.

SELECT IF NOT (((a31-a27) / (60*60*24*7))<6 AND (frm_ach=0 AND nvq_ach = 0)) OR miss > 0 OR MISSING(a31).

*Code to deal with in-year data. This means all leavers after a certain date are ignored.

COMPUTE period = 6.
COMPUTE mnth_per = period + 7.
COMPUTE year_per = 2005.
IF (mnth_per > 12) year_per = year_per + 1.
IF (mnth_per > 12) mnth_per = mnth_per - 12.

COMPUTE period_b = XDATE.MONTH(MAX(A28,A31)) + 5.
IF (period_b > 12) period_b = period_b - 12.

IF (a31 > DATE.DMY(31,mnth_per,year_per)) continuing = 1.
IF (a31 > DATE.DMY(31,mnth_per,year_per)) leavers = 0.
IF (a28 > DATE.DMY(31,mnth_per,year_per)) expendyr = 2005.5.
COMPUTE hybridendyr= MAX(expendyr,actendyr).

*Select years of interest.

SELECT IF ((hybridendyr = 2003 AND livel01_0304 = 1) OR (hybridendyr = 2004 AND livel01_0405 = 1) OR (hybridendyr = 2005 AND livel01_0506 = 1)).
SELECT IF (continuing = 0).

*Combine NVQ courses into a single group.

RECODE a15 (4,5,6,7 = 4) (else = copy).
VALUE labels a15 2 'Advanced Apprenticeship' 3 'Apprenticeship' 4 'NVQ only courses'.

*Aggregate file to format that will be used in the success rate report.

AGGREGATE
/OUTFILE=*
/BREAK= L01 hybridendyr a15 age_band
/count=NU /nvq_ach = SUM(nvq_ach) /frm_ach = SUM(frm_ach) /trans=SUM(trans) /miss =SUM(miss).

*Calculate success rates.

COMPUTE nvq_succrate = nvq_ach / (count-trans).
COMPUTE frm_succrate = frm_ach / (count-trans).
COMPUTE frm_nvq_succ = (frm_ach + nvq_ach) / (count-trans).
COMPUTE count_trans = count - trans.
EXE.

Timely Success Rates

GET FILE='WBL (0506) New Master - TRIM.sav'.

*Remove learners who withdrew within the induction period.

SELECT IF NOT (((a31-a27) / (60*60*24*7))<6AND (frm_ach=0 AND nvq_ach = 0)) OR miss > 0 OR MISSING(a31).

*Code to deal with in-year data. This means all leavers after a certain date are ignored to be consistent with the above code.

COMPUTE period = 0.
COMPUTE mnth_per = period + 7.
COMPUTE year_per = 2005.
IF (mnth_per > 12) year_per = year_per + 1.
IF (mnth_per > 12) mnth_per = mnth_per - 12.

COMPUTE period_b = XDATE.MONTH(A28) + 5.
IF (period_b > 12) period_b = period_b - 12.

IF (a31 > DATE.DMY(31,mnth_per,year_per)) continuing = 1.
IF (a31 > DATE.DMY(31,mnth_per,year_per)) leavers = 0.
IF (a28 > DATE.DMY(31,mnth_per,year_per)) expendyr = 2005.5.
COMPUTE hybridendyr= MAX(expendyr,actendyr).

*Combine NVQ courses into a single group.

RECODE a15 (4,5,6,7 = 4) (else = copy).
VALUE labels a15 2 'Advanced Apprenticeship' 3 'Apprenticeship' 4 'NVQ only courses'.

*Select years of interest and ensure only timely achievements are counted.

SELECT IF (expendyr >=2003 AND expendyr <=2006).
IF NOT (a31 <= a28 + (31*24*60*60) AND frm_ach = 1) frm_ach = 0.
IF NOT (a40 <= a28 + (31*24*60*60) AND nvq_ach = 1) nvq_ach = 0.
SELECT IF ((expendyr = 2003 AND livel01_0304 = 1) OR (expendyr = 2004 AND livel01_0405 = 1) OR (expendyr = 2005 AND livel01_0506 = 1)).

Compute leavers_plus_cont = leavers+continuing.

*Aggregate file to format it will be used in the headline success rate report.

AGGREGATE
/OUTFILE=*
/BREAK=L01 expendyr a15 age_band
/count = NU /nvq_ach = SUM(nvq_ach) /frm_ach = SUM(frm_ach) /trans = SUM(trans) /miss =SUM(miss) /leavers = SUM(leavers_plus_cont).

*Compute success rates and other indicators.

COMPUTE timely_nvq_succrate = nvq_ach / (leavers).
COMPUTE timely_frm_succrate = frm_ach / (leavers).
COMPUTE timely_frm_nvq_succrate=timely_nvq_succrate+timely_frm_succrate.
EXE.

Actual and Expected End Year Comparison Table

GET FILE='WBL (0506) New Master - TRIM.sav'.

SELECT IF ANY(a15,2,3).

*Remove learners who withdrew within the induction period.

SELECT IF NOT (((a31-a27) / (60*60*24*7))<6 AND (frm_ach=0 AND nvq_ach = 0)) OR miss > 0 OR MISSING(a31).

*Code to deal with in-year data. This means all leavers after a certain date are ignored to be consistent with the above code.

COMPUTE period = 0.
COMPUTE mnth_per = period + 7.
COMPUTE year_per = 2005.
IF (mnth_per > 12) year_per = year_per + 1.
IF (mnth_per > 12) mnth_per = mnth_per - 12.

COMPUTE period_b = XDATE.MONTH(MAX(A28,A31)) + 5.
IF (period_b > 12) period_b = period_b - 12.

IF (a31 > DATE.DMY(31,mnth_per,year_per)) continuing = 1.
IF (a31 > DATE.DMY(31,mnth_per,year_per)) leavers = 0.
IF (a28 > DATE.DMY(31,mnth_per,year_per)) expendyr = 2005.5.
COMPUTE hybridendyr= MAX(expendyr,actendyr).

COMPUTE achieve = 0.
IF(frm_ach > 0 and continuing = 0) achieve =1.
COMPUTE timely_ach = 1.
IF NOT (a31 <= a28 + (31*24*60*60) AND frm_ach = 1) timely_ach = 0.

COMPUTE achieve_nf = 0.
IF(achieve = 1 OR (nvq_ach > 0 and continuing = 0)) achieve_nf=1.
COMPUTE timely_ach_nf = 1.
IF NOT (a40 <= a28 + (31*24*60*60) AND nvq_ach = 1) timely_ach_nf = 0.
IF (timely_ach = 1) timely_ach_nf = 1.

RECODE achieve timely_ach achieve_nf timely_ach_nf (MISSING = 0).

*Define variables that can be summed to show how many people actually left in each year.

IF (actendyr <= 2001 AND leavers = 1) actend0102_lv = 1.
IF (actendyr = 2002 AND leavers = 1) actend0203_lv = 1.
IF (actendyr = 2003 AND leavers = 1) actend0304_lv = 1.
IF (actendyr = 2004 AND leavers = 1) actend0405_lv = 1.
IF (actendyr = 2005 AND leavers = 1) actend0506_lv = 1.
RECODE actend0102_lv actend0203_lv actend0304_lv actend0405_lv actend0506_lv (MISSING=0) .

*Define variables that can be summed to show how many people actually left in each year.

IF (actendyr <= 2001 AND achieve = 1) actend0102_ach = 1.
IF (actendyr = 2002 AND achieve = 1) actend0203_ach = 1.
IF (actendyr = 2003 AND achieve = 1) actend0304_ach = 1.
IF (actendyr = 2004 AND achieve = 1) actend0405_ach = 1.
IF (actendyr = 2005 AND achieve = 1) actend0506_ach = 1.
RECODE actend0102_ach actend0203_ach actend0304_ach actend0405_ach actend0506_ach (MISSING=0) .

IF (actendyr <= 2001 and achieve_nf = 1) actend0102_ach_nf = 1.
IF (actendyr = 2002 and achieve_nf = 1) actend0203_ach_nf = 1.
IF (actendyr = 2003 and achieve_nf = 1) actend0304_ach_nf = 1.
IF (actendyr = 2004 and achieve_nf = 1) actend0405_ach_nf = 1.
IF (actendyr = 2005 and achieve_nf = 1) actend0506_ach_nf = 1.
RECODE actend0102_ach_nf actend0203_ach_nf actend0304_ach_nf actend0405_ach_nf actend0506_ach_nf (MISSING=0)

IF (expendyr < 2001 or SYSMIS(expendyr)) expendyr = 2001.

STRING lookup (a10).
COMPUTE lookup = CONCAT(STRING(L01,F6),STRING(expendyr,F4)) .

*Aggregate file to format it will be used in the headline success rate report.

AGGREGATE
/OUTFILE=*
/BREAK= L01 expendyr lookup
/actend0102_lv = SUM(actend0102_lv) /actend0203_lv = SUM(actend0203_lv) /actend0304_lv = SUM(actend0304_lv) /actend0405_lv = SUM(actend0405_lv)
/actend0506_lv = SUM(actend0506_lv)
/actend0102_ach = SUM(actend0102_ach) /actend0203_ach = SUM(actend0203_ach) /actend0304_ach = SUM(actend0304_ach) /actend0405_ach = SUM(actend0405_ach)
/actend0506_ach = SUM(actend0506_ach)
/continuing = SUM(continuing) /trans = SUM(trans) /timely_ach = SUM(timely_ach)
/TotalLearners = NU
/actend0102_ach_nf = SUM(actend0102_ach_nf) /actend0203_ach_nf = SUM(actend0203_ach_nf) /actend0304_ach_nf = SUM(actend0304_ach_nf) /actend0405_ach_nf = SUM(actend0405_ach_nf)
/actend0506_ach_nf = SUM(actend0506_ach_nf)
/timely_ach_nf = SUM(timely_ach_nf).

Creator

Analysis and MI Team

Date issued

31 March 2006

Date created

24 February 2006

Document ref.

\\records.lsc.local\NAT\23 LrngSkillsPolicyInfrastr\23-07 DataCollectAlysis\23-07-03 LrnrDataAlysisDiss\nat-wblsuccessratessamplecode-report-31mar2006.doc

LSC office

Learning and Skills Council
Cheylesmore House Quinton Road Coventry CV1 2WT
T 0845 019 4170 F 024 7682 3675 www.lsc.gov.uk/

Last Modified: 31 Mar 06