I. Introduction

1. Topic

인구 고령화 문제의 심각성과 그 원인을 알리기 위하여, 인구 분포와 출산율, 그에 따른 문제 점을 시각화하고, 문제의 원인을 변화시키며 시뮬레이션이 가능한 웹 페이지를 만든다.

2. Target User (Persona)

Primary Persona는 20대의 성인들로, 결혼 및 출산에 대해 개인적인 이유로 고민을 하지 만, 전반적인 인구 고령화에 대하여 심각하게 생각해보지 않은 일반 사람들이다. 그들은 사회학이나 인구학 등 관련 분야 전공이 아니고 그에 대한 전문 지식이 없는, 이공 계열 공부 또는 일을 하는 사람들이다. Primary Persona 이외에도 20대 외의 연령인, 인구 문제에 대하여 심각하게 고민해본 적이 없는 모든 사람들이 Secondary Persona에 포함될 수 있다.

3. Goal


II. Data

1. Historical Data

i. 인구수 데이터 (보여주는 용도)

1960 ~ 2010 까지의 데이터는 국내통계포털에서 총조사인구 총괄(시도/성/연령별) 로 부터 가지고 올 수 있었다. [link] 2015년도 데이터는 행정자치부의 주민등록 인구통계에서 연령별 인구현황을 통해 가져올 수 있었다. [link]

ii. 인구수 데이터 (Simulation 용도)

시뮬레이션을 하기 위해서는 먼저 regression이 필요하기 때문에 최대한 많은 데이터가 필요하였다. 하지만 factor 마다 데이터의 연도 범위가 달랐고, 범위의 교집합은 2001 에서 2015였다. 따라서 Simulation 용도로 필요한 데이터는 2001~2015년의 신생아 수와 가임기 여성수이다.

A. 신생아 수

신생아 수는 국내통계포털에서 출생아수 및 출생성비 를 통해 알 수 있었다. [link] 해당 자료는 통계청의 인구동향조사를 토대로 만들어 졌다.

B. 가임기 여성수

가임기 여성이란 연령별 인구수로 알아낼 수 있기에 보여주는 용도로 찾은 인구수 데이터로 알아낼 수 있었다. 2015~2008년은 주민등록 인구통계로, 2007~2001은 총조사 인구 총괄에서 5년 마다 있는 데이터로 Linear Interpolation을 하였다.

iii. Factor 데이터

A. 여성 경제 참여율

국내통계포털에서 성/교육정도 별 경제활동인구 를 통해서 가지고 왔다. [link]

B. 교육비 지출비중

가계지출에서 교육비가 차지하는 비중으로 결국엔 자녀 교육비 비중과 비슷하다. 서울연구데이터서비스 에서 가져온 데이터로 1968년도부터 2008년까지의 자료를 사용하였다. [link]

C. 초혼 연령

평균 초혼 연령은 국내통계포탈에서 시도별 평균초혼연령에서 얻었다. [link] 1990년부터 2016년까지의 자료를 사용하였다.

D. 집 값

2015.06 의 값을 100으로 하였을 때, 상대적인 수치이다. 국가주요수치 사이트에서 전국 주택매매가격 변동률을 사용하였고 1986년 부터 2016의 자료를 사용하였다. [link]

2. Future Data (Simulation)

첫 시도로, 각 4개의 factor를 독립변수로 하고 출산율(여성인구 1000명 당 그 해 낳은 아이 수)을 종속변수로 하는 선형회귀를 하고자 하였다. 그러나, 4개의 factor 값이 전부 있는 연도가 9개밖에 안 되고, 회귀를 통해 구해야하는 계수는 5개이기 때문에, overfitting 문제를 피할 수가 없었다. 따라서 우리는 대안책으로, 4개의 factor의 합을 독립변수로 하도록 변경하였다. 그 결과 113 - (v1+v2+v3+v4)*0.41 라는 식이 나오게 되었다.

시뮬레이션은 전체 출산율만 구하였는데, 연령별 출산율은 미래의 연령별 출산 비율이 2015년의 그것과 동일하다고 가정하고 계산하였다. 그리고 사망률은 따로 시뮬레이션을 하지 않았는데, 70세 이상부터는 5년마다 사망할 확률이 50%가 된다고 가정하고 인구분포를 구하였다.


III. Contents and Analysis

1. Overall

2. Navigator

맨 처음 기획에서는 네비게이션 바를 만들지 않을 생각이었다. 하지만 유저 스터디에서 첫 화면만 봐서는 해당 페이지의 의미가 한 번에 들어오지 않는다는 피드백을 받고 타이틀이 들어간 네비게이션 바를 만드는 것을 고민하였다. 네비게이션을 보통처럼 위쪽으로 하지 않고, 왼쪽으로 단 이유는 설명을 위쪽이나 아래쪽 보다 왼쪽 오른쪽에 두는 것이 좋을 것 같았고, 왼쪽이 심리적으로 안정감이 들어서 왼쪽을 선택하였다.

i. 탭

왼쪽 위에는 제목과 연도의 개수를 선택할 수 있도록 하였다. 연도의 개수를 Factor Graph상에서 더블클릭 같은 액션을 통해 하려고 하였으나, 더블클릭은 사람들이 알기 쉽지 않고, 클릭과 같은 하기 쉬운 동작으로는 사용자에게 방해가 될 것이라고 생각하여, 탭 형태로 두기로 결정하였다.

ii. 아이콘 설명

아이콘이 의미하는 바를 잘 모르는 것도 문제였지만, 고령화 지수나 가족 당 아이 수와 같은 단어의 의미를 설명해주기 위한 용도도 있었다.

iii. Factor Graph 설명

Factor 그래프가 무엇을 하고 Simulation이 이루어지고 있다는 것을 명시적으로 나타내었다. 또한 각 Factor에 대한 정확한 용어 설명을 추가하였다.

3. Population Chart

population chart는 우선 3개의 level의 계층을 가지는 링 차트로 이루어져 있다. 3개의 level은 각각 다음과 같은 기준을 통해 나누었다.

모드에 따라서 차트가 한 개 있을 수도 있고, 두 개가 있어 서로 다른 연도에 대하여 비교할 수도 있다. 또한 링 차트 옆에 3개의 사이드 박스가 있어, 각각 인구 수, 고령화지수, 가족 당 아이 수를 수치로 표시하였다.

인구문제에 대하여 다루는 기존 visualization 들은 주로 바 차트를 기초로 하는 인구 피라미드 형태이다. 예시는 이것이것 등이 있다. 우리는 이러한 바 차트에 비해 링 차트의 장점이 인구 문제를 강조하는 데에 필요하다고 생각하여 링 차트를 선택하였다.

  1. 절대적인 인구 수의 수치를 비교하기에는 바 차트를 보는 것이 좋은 것은 사실이나, 우리는 수치보다는 전체적인 분포를 비교하는 것을 목표로 삼았다. 따라서 사용자가 하고자 하는 task는 "청소년이 몇 퍼센트 정도를 차지하는가" 혹은 "40대가 나이가 많은 편인가 적은 편인가" 등이 될 것이라고 생각하였다. 아래 그림을 보자. 좌측 상단에 있는 바 차트는 서로 다른 연령의 인구 수를 비교하기에는 좋지만 그래서 청소년이 몇 퍼센트 정도인지, 전반적으로 노인이 몇 퍼센트 정도인지 등을 알려주지 않는다. 좌측 하단의 바 차트는 대략적으로 알려주기는 하지만, 여전히 "40대(adult와 middle-aged의 경계)가 나이가 많은 편이가 적은 편이가?" 에 대답하기는 힘들다. 우측의 링 차트는 이와 같은 task를 제일 효과적으로 할 수 있다.
  2. 두 연도에 대한 링 차트를 비교할 때에도 링 차트가 효과적이다. 아래 그림은 5살 단위로 나눈, 세부적인 연령별 분포이다. 우리는 선택된 부분이 상위 몇 퍼센트인지를 위치를 통해 손쉽게 알 수 있다. 그러나 바 차트에서는 그런 부분을 보기 어렵다.

이제 링차트의 여러 기능에 대해서 하나씩 설명해보겠다.

i. 라벨

먼저, 링 차트에는 3개의 계층 안쪽으로는 해당 연도를 보여주고, 바깥쪽으로는 연령대를 시곗바늘 형태로 보여준다. 처음에는 이 부분이 없었는데, 유저 스터디를 통해 해당 연도와 연령대를 알기 쉽게 하기 위한 라벨이 있으면 좋겠다는 피드백을 받아 수정하였다.

ii. 색깔

인지적으로 좋은 색깔을 고르기 위해서 많은 고민을 하였지만, 쉽지 않았다. 우선 연령대의 경우 나이라는 수치에 집중하면 sequential이지만 각각을 별개의 카테고리라고 생각하면 categorical이라는 특징을 가지고 있다. 그런데 전체를 sequential한 색깔로 나타내면, 5세 간격의 경우에 칸이 너무 많아서 옆 칸 끼리의 차이가 너무 미세하다는 단점이 있다. 그런 경우에 연도를 변화시켰을 때에 나타나는 차이도 적어보일 수 있다. 따라서 우리는 우선 categorical한 색깔을 선택하기로 했고, Color Brewer에서 qualitative에서 class 수가 3개인 것, 4개인 것을 골라 첫 번째, 두 번째 계층에 대한 색을 채웠고, 마지막 계층은 색깔 팔레트에서 서로 다른 색을 가져왔다. 그러나 색깔이 너무 많으면 인지적으로 해석하기 어렵다는 피드백을 받아, 수정하기로 했다. sequential과 categorial의 성질을 적당히 섞어서, 20세 단위의 분류에서는 categorial 색깔을 고르고, 그 내부의 5세 단위의 분류에서는 해당하는 색깔에 대한 sequential 색깔을 고르기로 하였다. 각 색깔에 대한 sequential 색깔은 Google Material Color를 참고하였다. 그 결과 현재와 같은 색깔이 결정되었다.

iii. 마우스오버

각 부분에 마우스오버를 하면 그 부분의 면적이 넓어지면서 라벨이 링 차트 중앙에 표시된다. 이러한 변화를 준 이유는 사용자에게 클릭을 할 수 있다는 피드백을 제공해주기 위함이었다. 아무런 변화가 없으면 유저가 클릭 가능하다는 것을 알지 못하였고, 변화가 너무 크면 오히려 유저가 마우스오버만으로 필요한 정보가 다 나타나는 것이라고 생각해서 클릭을 하지 않기도 하기 때문에, 현재와 같은 변화가 적절하다고 판단하였다.

iv. 클릭

클릭을 하면 다음과 같은 변화가 나타난다. 먼저 옆 사이드에 해당 연령대의 인구수가 숫자로 표시되고, 보라색은 자녀 세대, 파란색은 부모 세대를 나타낸다는 설명과 함께 각각의 연령 범위를 보여준다. 그리고 링 차트에는 자녀 세대가 보라색으로, 부모 세대가 파란색으로 색칠된다. Opacity를 통해 해당 연령과 관련된 세대의 밀도를 나타내었다. 이를 통해 사용자는 현재 선택한 세대가 어느 세대의 출산으로부터 영향을 받았는지, 그리고 어느 세대의 인구 수에 영향을 출 것인지를 볼 수 있다.

4. Factor Graphs

Factor graph는 두 가지 역할을 수행하고 있다. 첫 번째는 위의 인구분포 차트의 시간을 조정하는 기능, 두 번째는 factor들의 미래 값을 조정해보는 것이다. Factor 그래프가 라인 그래프로 결정한 이유는 미래 값을 조정하였을 때, 중간 값들이 어떤 형태로 추측이 되었는지를 시각적으로 보여주기 때문이고 이미 x축이 시간이기 때문에 시간을 조정하는 기능을 Factor 그래프에 넣기로 결정하였다.

i. 핸들

Factor을 조정할 수 있게 하는 핸들이다. 단순히 선으로만 그래프가 이루어져 있으면 조정할 수 있다는 것을 모르기 때문에 조정할 수 있는 핸들을 원형으로 크게 넣었다. 이것으로 사용자는 단순히 값을 표시하는 것 이외의 역할이 있다고 인지할 것이다. 또한 축과 거리가 멀어 값을 정확히 모르겠다는 문제를 해결하기 위해서 실제 값을 넣었다.

ii. 초기 연도

정말 사소하지만, 초기 연도를 예전에 2000으로 하였는데, 사용자가 2000이라는 숫자를 보고 연도로 인식하지 못하였다. 따라서 초기 연도를 19xx년 으로 하여 조금 더 확실하게 연도처럼 보이도록 하였다.

iii. Simulation 딜레이

원래는 핸들을 움직일 때마다 시뮬레이션을 하였지만 그 결과, 핸들을 드래그 하는데 렉이 심했다. 따라서 핸들에 대해서는 1000 / 15 ms 당 이벤트를 하나만 쏘게 만들었다. 이는 사람이 애니메이션으로 인식하는 최소 fps인 15이기에 사용한 값이다.

iv. 시간 선 (Timeline)

타임라인을 드래그 할 때, UI 상으로는 얇게 선을 그렸지만 드래그를 할 때, 얇은 선을 정확하게 클릭하기 힘들기 때문에 어느 정도 드래그를 지원하는 범위가 필요하다. 따라서 드래그를 지원하는 영역을 opacity가 있는 빨간색으로 나타내었다. 또한 현재 focusing 되어있는 값을 timeline 상에도 표시하였다.


IV. Evaluation

1. User Study

우리는 각 유저스터디 차수마다 2명의 primary persona에 해당하는 유저를 대상으로, 웹페이지에 접속하여 사용하여 보기를 요청하였고, 관찰한 바와 인터뷰 한 바를 토대로 수정을 하였다. (#1 and #2, #3)

1차

2차

3차

2. Cognitive Walkthroughs

  1. 컴퓨터공학을 전공하고 있는 김철수(가상의 유저, 남, 23세)는 평소에 인구 문제에 관심이 없다. 인구가 줄어들고 있다고는 하는데 인구가 줄어들면 뭐가 문제인지 잘 모르겠다. 또한 나라에서 출산율 관련 정책을 내고 있다고 하고, 주변에서 가끔씩 그에 대한 찬반 의견을 내기도 하는데, 본인은 뭐가 뭔지도 모르겠고 어차피 아이를 가지려면 멀었기 때문에 별로 관심이 없다.
  2. 철수는 Population Simulation을 보고, 우선 링 차트에 쓰여진 1970이라는 숫자를 본다. 그리고 아래 x축이 연도로 되어있는 그래프와 1970에 빨간색 막대가 있는 것을 보고 이것이 1970년대의 인구 분포 그래프 라는 것을 안다. 막대에 마우스를 갖다 대자 좌우화살표 모양으로 커서가 바뀐다. 좌우로 움직일 수 있다는 뜻인 것 같아 드래그를 하자 링 차트가 회전하듯이 변한다.
  3. 링 차트에는 우선 0, 5, 10, …, 70이라는 시계바늘과 같은 눈금이 있다. 옛날에서 현재로 갈수록 높은 연령대는 많아지고 낮은 연령대는 작아진다. 링 차트는 계층적으로 되어 있는데, 안쪽의 넓이를 보면 더 큰 분류에서 인구 분포가 어떻게 달라지는지 볼 수 있었다. 또한, 링 차트의 왼쪽 사이드에 인구 수/고령화계수/가정당 아이수 숫자가 나타난다. 현재로 갈수록 고령화계수는 증가하고 가정당 아이수는 감소한다. 각각이 정확히 무엇을 의미하는지 궁금해져 왼쪽에 있는 네비게이터에서 설명을 읽는다.
  4. 마우스오버를 하니 각 칸이 어떤 연령대를 의미하는지가 링 차트의 중앙에 뜬다. 클릭을 하니 링 차트가 클릭한 칸 외에 흐릿해지고, 일부 칸은 파란색과 빨간색이 된다. 오른쪽 사이드에 인구 수/부모 세대/아이 세대라는 라벨이 뜬다. 인구 수는 해당 연령대의 인구 수를 나타내는 듯 하다. 그리고 파란색은 부모 세대, 빨간색은 아이 세대를 의미한다는 설명이 뜬다. 보니 50대를 클릭하면 70대 이후가 파란색으로, 10~30대가 빨간색으로 뜬다. 중앙일 수록 선명하고 가장자리일수록 연해지는 것을 보니 색깔이 그 분포를 나타내는 것 같다.
  5. 연도를 계속 변화시키면서 보니 현재 연도를 초과하는 2020년~2070년도 있다. 이건 뭐지라고 생각하던 와중에 옆에 시뮬레이션이 가능하다는 문구가 보인다. 보니 factor그래프의 각 선을 클릭할 수가 있고, 오른쪽에 위아래로 드래그할 수 있는 손잡이가 보인다. 드래그를 하니, 링 차트에 변화가 생긴다. 예를 들어 4개의 factor를 전부 위로 하니 아이 수는 매우 적어지고 인구 대부분이 노인이다. 4개의 factor를 전부 아래로 하니 아이가 많이 생겨 노인 비율이 적어지고 젊은 층의 비율이 높아진다. 4개의 factor를 자세히 보니 집 값, 여성 경제 참여율, 교육비 지출 비용, 초혼 연령이다. 각각에 대해 생각해보니, 값이 커질 수록 아이를 덜 낳을 것이고, 값이 작아질 수록 아이를 더 낳을 것이라는 것이 와닿는다. factor 변화에 따른 차이는 2020년에 가까울 수록 작고, 2080년에 다다를수록 그 차이가 크다.
  6. 옆에 navigator에 보면 링 차트 비교하는 모드가 있어 클릭했더니 두 개의 링 차트가 나오고, 연도는 1970년과 2015년이라고 한다. 확연히 분포의 차이가 난다. 1970년에는 청소년의 비율이 절반에 가까운데 2015년에는 청소년의 비율이 매우 적어지고, 노인의 비율이 매우 많아졌다. 클릭을 해도 차이가 보인다. 40~45세를 클릭했더니, 1970년에는 나이가 제일 많은 20% 내에 속했으나, 2015년에는 중앙에 위치했다.
  7. 왼쪽 링 차트를 현재(2015년)로 하고, 오른쪽 링 차트를 2080년으로 하고, factor를 조절해가며 인구분포의 차이가 어떻게 되는지 확인하였다. (어쩌고저쩌고… 쓰기)
  8. 철수는 노인 인구가 절반이 될 수 있다는 사실, 청소년이 이렇게나 줄어들 수 있다는 사실에 적잖은 충격을 받았다. 주변 친구들이 왜 출산율 정책에 관심을 가지는지 알것 같기도 하다. 도대체 집값이나 교육비 등이 대체 어느정도 되어야 그래도 인구 분포가 어느 정도 균형이 맞을지 궁금하여, factor를 잘 조정해보기로 하였다. 우선 여성 경제 참여율은 앞으로 계속 늘어날 것이라고 예상되고, 출산율을 위해 이를 줄이는 것이 해결책이 될수는 없다고 생각하여, 과거와 비슷한 추세로 늘어나도록 조정하였다. 그리고 집값, 교육비, 초혼 연령을 적절히 감소시키며 인구 분포 균형을 맞춰보았다. 결과적으로, 여성 경제 참여율이 51%에서 55%로 증가하였을, 때, 집 값이 2016년 대비 44% 감소, 지출 중 교육비 비중이 10%에서 5%로 감소, 초혼 연령이 31에서 27로 감소하여야 0~20세, 20~40세, 40~60세, 60세 이상이 대략 1/4씩 차지하여 균형이 맞음을 확인할 수 있었다.
  9. 인구 분포의 균형을 맞추는 일이 쉬운 일이 아니라는 생각이 들었다. 이미 가임기 여성의 수가 줄어들고 있기 때문에 같은 출산율이어도 인구가 감소할 것이고, 여성의 경제 참여율이 계속 증가할 것으로 기대되기 때문에 다른 factor들에 대해 큰 개선이 시급하다는 생각이 든다. 특히 집 값, 교육비가 현재와 같은 추세로 계속해서 증가했다가는 크나큰 문제가 생길 수 있다는 생각이 든다. 정부가 집 값, 교육비를 줄이기 위해서 어떤 구체적인 정책을 세웠는지 어서 찾아봐야겠다.
  10. (실제로 유저 스터디를 해 본 결과, 철수와는 반대로 factor를 어떻게 바꾸든 인구의 고령화는 피할 수 없는 문제라고 느끼고, 출산율을 증가시키기 위해 노력하기 보다는 경제활동연령을 높이거나 (정년 연장) 노인들을 위한 복지 시설 늘리기, 또는 의료를 발전시켜 40대 이상의 여성도 안전하게 출산할 수 있도록 하기 등 고량화 사회에 대비하는 것이 더 좋겠다고 생각하게 된 유저도 있었다.)

V. Lessons Learned

가장 크게 깨달은 점은 visualization 고민이 얼마나 어려운지, 그리고 user study를 통해 얼마나 많은 문제들을 발견할 수 있는지였다.

어떤 task를 위해서 어떤 visualization이 좋은지 고민하는 것은 굉장히 어려운 일이었다. 덕분에 제안서를 쓰기까지만 10시간에 가까운 시간을 고민했다. 목표였던, 새로운 아이디어를 가지고 있으면서도 유용한 기능을 가지고 있고, user와 interaction을 충분히 하면서 디자인도 예쁜 visualization을 만들기 위해 노력하였고, 값진 경험이었다.

user study로 6명의 의견만 들었음에도 불구하고 많은 문제점들을 찾을 수 있었다. 일부는 다수의 공통된 의견이어서 큰 문제라는 것을 찾을 수 있었고, 반대로 상반되는 의견이 나오기도 하였다. 또한 전혀 생각지도 못햇던 문제를 발견하게 되는 계기가 되기도 하였다. user study가 HCI에서 왜 중요한지 절실히 깨닫게 되는 기회였다.


Last Modified: 2017/06/15