우리 애들은 공부 못해도 서울대 가나요?

자녀 교육에 근심 걱정이 많은 친구들을 만날때마다 내가 하는말,,

이제 출산율이 적어서 우리 애들 대학 갈때쯤이면 공부 잘 못해도 그냥 대학 갈껄~?
우리 이전 세대도 대학 정원에 비해 사람이 적었잖아
그때도 대학 쉽게 간거 같던데?
그냥 놀려 놀자

그렇게 여러 친구들을 악의 구렁텅이로 집어 넣었는데, 이제 내가 학부모가 될 차례가 되었다.
그래서 이제 와서 좀 따져보고 싶어졌다. 정말로 우리 애들은 대충 공부해도 서울대 갈수 있을까?

주의사항

이 글의 내용은 반 농담 + 반 진담 으로써, 너무 죽자고 달려들지 맙시다
데이터 드리븐 농담 정도로 받아들입시다

어떻게 구해볼 것인가?

나의 가설은 아래와 같다

우리 자녀가 입시할때는, 정원 대비 지원자가 적기 때문에, 경쟁률이 확연히 낮아질 것이다
경쟁률이 낮아진다면, 경쟁률이 낮아진 만큼 열심히 공부 안해도 된다!!

필요한 데이터는 아래와 같다 (내 자녀가 입시할때는 2035년으로 본다)

  • 대학 입학 정원 : 최신 측정 값, 2035년 추정치
  • 대학 입학 지원자수 추정치 : 최신 측정 값, 2035년 추정치
  • 경쟁률 = 대학 입학 지원자수 / 대학 입학 정원
  • 합격률 (경쟁률의 역수, 복잡한거 떼고, 지원자중 상위 몇프로가 합격이냐) = 대학 입학 정원 / 대학 입학 지원자수

요렇게 계산 해서 현재 대비 2035년에 낮아진 경쟁률만큼, 높아진 합격률만큼 널널하게 놀게 하면 되겠다!!!!

떨리는 마음으로 일단 대학 입학 정원과 지원자수를 털어본다

여기저기 기웃거려보았으나,,
아래 자료에서 대학 정원 / 지원자 관련 데이터를 찾을 수 있었다

  1. 2021 대학 계열별 입학정원 입학자 (신입생 충원률) - 교육통계서비스
  1. 서울시 대학교 통계 - 서울 열린데이터 광장

그런데.. 1번은 연도별 추이를 보여주지는 않고, 해당 년도를 각각 입력해서 구해야 한다. (귀찮..)
2번은 서울 데이터라서 서울 소재 대학에 대한 데이터만 나오는 대신, 연도별 추이가 나온다!!
그렇다면 그냥 2번 데이터를 써서 서울 소재 대학을 대상으로 계산을 한다.
일일이 페이지를 뒤져가며 데이터를 찾기 귀찮으니까..
(대학이 서울에만 있나~ 이런 소리는 하지 말자)

아무튼 2번 데이터를 긁어온담에 요리조리 굴려서 표를 만들었다

  • 입학자수는 입학정원이라고 쳐보겠다
  • 대략 연도는 입학연도이고, 수능은 그 전해에 본 그런 데이터다.
  • 경쟁률은 xx : 1 로 읽으면 되겠군
  • 합격률을 보면 상위 몇프로가 합격했는지 알수 있겠어
연도 입학지원자수 입학자수 경쟁률 합격률
2000 445398 77690 5.73 17.44%
2001 509490 77431 6.58 15.20%
2002 609722 76245 8.00 12.50%
2003 557143 76728 7.26 13.77%
2004 603545 78613 7.68 13.03%
2005 679670 75650 8.98 11.13%
2006 737984 76120 9.70 10.31%
2007 826201 75669 10.92 9.16%
2008 794061 73674 10.78 9.28%
2009 923072 74467 12.40 8.07%
2010 1026828 76696 13.39 7.47%
2011 1263733 76527 16.51 6.06%
2012 1432149 82647 17.33 5.77%
2013 1093516 81216 13.46 7.43%
2014 1080774 83454 12.95 7.72%
2015 1122298 83446 13.45 7.44%
2016 1139364 83883 13.58 7.36%
2017 1115456 83395 13.38 7.48%
2018 1120818 83729 13.39 7.47%
2019 1104037 83541 13.22 7.57%
2020 1066515 83875 12.72 7.86%
2021 982740 84771 11.59 8.63%

데이터를 보니.. 희안하게 2000년도에는 다들 서울에 지원 잘 안했나보다. 경쟁률이 낮다.
나때가 그래도 대학가기 쉬웠던건가… ㅠㅠ
2012년에 지원자가 최고점을 찍은 이후로 점점 지원자가 줄고 있다.
대략 2012 년도 대학가신분들이 최고 고통받으신듯.. (왜죠)

이제 2035년을 계산해야 되는데..
나의 가설에 의하면, 출산률 저조 → 입시 경쟁률 개선 이기 때문에, 출산률이 반영되면 되겠다.
그러면 인구 통계를 참조해서, 당해 입시를 볼 애들의 인구수와 지원자의 상관관계를 구해보겠다 (멋짐)

인구 통계 이리오너라~

요것저것 뒤져보니, 아래 행정안전부 데이터에서 2021년 기준의 인구수를 구할 수 있었다

주민등록 인구 통계 (행정안전부)

  • 2021년 12월 현재 출생년도별 인구수
출생년도 인구수
1981 837,928
1982 820,317
1983 746,777
1984 660,870
1985 651,979
1986 627,431
1987 617,636
1988 625,794
1989 630,872
1990 640,224
1991 701,535
1992 724,013
1993 708,889
1994 712,085
1995 706,235
1996 683,379
1997 669,509
1998 638,093
1999 618,217
2000 637,555
2001 557,948
2002 493,456
2003 492,266
2004 473,465
2005 436,095
2006 449,838
2007 496,081
2008 469,101
2009 448,481
2010 473,997
2011 476,536
2012 490,049
2013 441,672
2014 440,866
2015 444,555
2016 412,739
2017 363,613
2018 332,157
2019 306,120
2020 274,633
2021 253,946

연령별 인구수가 나왔으니, 입학 지원자와 비교해 보자.
대략 2021년 지원자 982,740 명이고,
2021년에 입학하시려면, 2020년에 고3이고, 2019년에 고2고,,, 태어난 해는 2002 년이다
대략 입학자수 표의 연도에서 19를 빼면 된다

요렇게 해서 베이스 데이터를 만들었다

출생년도 인구수 대학 입학 년도 입학지원자수 입학자수 경쟁률 합격률
1981 837,928 2000 445398 77690 5.73 17.44%
1982 820,317 2001 509490 77431 6.58 15.20%
1983 746,777 2002 609722 76245 8.00 12.50%
1984 660,870 2003 557143 76728 7.26 13.77%
1985 651,979 2004 603545 78613 7.68 13.03%
1986 627,431 2005 679670 75650 8.98 11.13%
1987 617,636 2006 737984 76120 9.70 10.31%
1988 625,794 2007 826201 75669 10.92 9.16%
1989 630,872 2008 794061 73674 10.78 9.28%
1990 640,224 2009 923072 74467 12.40 8.07%
1991 701,535 2010 1026828 76696 13.39 7.47%
1992 724,013 2011 1263733 76527 16.51 6.06%
1993 708,889 2012 1432149 82647 17.33 5.77%
1994 712,085 2013 1093516 81216 13.46 7.43%
1995 706,235 2014 1080774 83454 12.95 7.72%
1996 683,379 2015 1122298 83446 13.45 7.44%
1997 669,509 2016 1139364 83883 13.58 7.36%
1998 638,093 2017 1115456 83395 13.38 7.48%
1999 618,217 2018 1120818 83729 13.39 7.47%
2000 637,555 2019 1104037 83541 13.22 7.57%
2001 557,948 2020 1066515 83875 12.72 7.86%
2002 493,456 2021 982740 84771 11.59 8.63%
2003 492,266 2022
2004 473,465 2023
2005 436,095 2024
2006 449,838 2025
2007 496,081 2026
2008 469,101 2027
2009 448,481 2028
2010 473,997 2029
2011 476,536 2030
2012 490,049 2031
2013 441,672 2032
2014 440,866 2033
2015 444,555 2034
2016 412,739 2035
2017 363,613 2036
2018 332,157 2037
2019 306,120 2038
2020 274,633 2039
2021 253,946 2040

요걸 베이스로 미래 데이터를 추정 해볼꺼다 (출생년도 2003 년 이후부터의 데이터 빈칸을 채워 볼것이다)

두근두근~ 어떻게 숫자를 가지고 장난을 쳐야 우리 자녀들을 놀게 할수 있을까..

사실 나 할줄아는거 linear regression 밖에 없다
머신러닝 아무리 공부해도 다른건 잘 모르겠더라..
그리고 지금 뭐 대단한거 구하는것도 아니고.. (쫌 틀려도 상관없기도 하고 ㅎㅎ)
그냥 linear regression 돌려도 될꺼 같다. 구글 콜랩을 가동하라~~!!

재수 삼수..???

얾.. 근데 2002년 태어나신분들이 493,456 명, 2021년 입시지원자 982,740 명인데..
2002년에 태어난분보다 서울 소재 대학 입시 지원자가 더 많다 (왠열)
일단.. 재수 삼수의 비율은 일정하다고 보겠다. 쉽게 해야지.
재수삼수 등등 다 포함해야 되나보다.. 이거 어쩌지 재도전 n차 인원들 어케 구하지..
재도전 n차 인원들을 구하지 말고, 그냥 linear regression 의 x 의 한 축으로 넣어버리도록 하겠다.

대략 삼수까지 넣어본다

(사수는.. 그냥 적을꺼 같고.. 하니까 ㅎㅎ)

2012 년 전에는 대학가기 쉬웠다메..?? (돌날라온다~~)

아까 봤듯이 2012년도 전에는 오히려 지원자수가 증가하는 추세였다. (왜죠)
나의 예측은 인구수에 따라 계속 지원자수가 줄어들것이다.. 라는 것이기 때문에, 2012년 이후의 데이터만 쓰려고 한다

근데.. 입학 정원은..?

대학 입학정원은 인구수와 관계가 있을까? 상식적으로는 입시 인구수와 비례하여 입시 인구가 줄어들면 입학 정원도 줄꺼 같다.
그런데 일단 2012년 이후는 입학 인구수가 줄어듬에도 불구하고 입학 정원이 증가하는 추세다.
그러니, 일단은 이 추세 그대로 이어진다고 하고 계산해보도록 하겠다.
(하지만 2035년까지 대학 입학 정원이 증가하는 추세가 이어질꺼라는 상식적인 기대가 되지는 않는다.)

그럼 이제 코드 돌려보겠습니다

사실 나는 데이터 엔지니어쪽에 더 가까워서 (변명중..) 머신러닝의 제대로된 절차는 잘 모른다.
그냥 fit 하고 predict 해서 쓸줄밖에.. ㅎㅎㅎㅎ
입학지원자수를 구할때는 고삼 인구수, 재수, 삼수 인구수를 X 로 넣고요,
입학자수를 구할때는 그냥 대학 입학 년도를 넣었다 (y 값만 있는 데이터의 추세를 구하는법 아시는분 지도 부탁드립니다)

x1_param_names = ['인구수', '재수', '삼수']
x2_param_names = ['대학 입학 년도']
df_source = df.iloc[14:24]

X1 = df_source[x1_param_names]
Y1 = df_source[['입학지원자수']]
lr1 = LinearRegression(positive=True)
lr1.fit(X1, Y1)

X2 = df_source[x2_param_names]
Y2 = df_source[['입학자수']]
lr2 = LinearRegression(positive=True)
lr2.fit(X2, Y2)

그리고 그~냥 predict 돌려서 데이터를 합성했다.

df_output = df.iloc[3:]

x1 = df_output[x1_param_names]
y1 = lr1.predict(x1)
x2 = df_output[x2_param_names]
y2 = lr2.predict(x2)


df_output['입학지원자수_predicted'] = y1
df_output['입학자수_predicted'] = y2
df_output['경쟁률_predicted'] = df_output['입학지원자수_predicted'] / df_output['입학자수_predicted']
df_output['합격률_predicted'] = df_output['입학자수_predicted'] / df_output['입학지원자수_predicted']

두근두근~~ 결과 발표

(폰트가 깨졌으나, 합격률_predicted 의 그래프인 것이다.)

대략 현재 8.6% 의 합격률인것이 2016년생인 내 딸래미 입시볼때는 10.43% 까지밖에 개선이 안되는구만.. ㅠㅠ
쪼끔밖에 더 못놀겠다 싶다..
(2019년생 아들래미 12.68%.. 넌 좀 더 놀아라)

사족.. 정말 쫌만 놀아야 합니까 ㅠㅠ

위 결과는 서울소재 대학에 대한 계산을 했는데, 좋은 대학이 무조건 서울에 있는것도 아니기 때문에, 서울 소재가 아닌 대학까지 합친다면 좀더 널널 할 것이다~ 라고 말하고 싶다 (야호 더놀자~~)

그러나 대학의 정원이 현재는 증가하는 추세로 보이지만, 출산률 감소에 따라 학생이 현저히 줄고 그에따라 대학의 정원이 조절 될 것이라는 상식적인 예측이 가능하다 (그렇지 않아도 2021년 대학 기본역량 진단하고 난리가 났었다)

개인적으로는 우리 세대나 대학대학 했지, 내 아이들이 대학갈 나이가 되면 더 다양한 진로가 개발되지 않을까 하는 생각이 있다. (그 새로운 진로들이 다 xx 대학이라는 이름으로 만들어질지는 또 두고 볼 일이다.)

아무튼 오늘은 재밌게 놀자 얘들아~

코드 & 데이터는 아래 링크에서 확인 가능해요