안녕하세요! 저는 스포카 초기 서비스 개발에 함께 참여했던 서기준입니다. 이번 주엔 개발을 약간 벗어나서, 소셜한 서비스 기획에 도움이 되는 한 가지 모델과 그 모델에서 파생된 몇 가지 디자인 법칙을 소개하려고 합니다.

많은 개발자가 소셜 서비스를 기획할 때 자신의 경험에 의존합니다. 경험을 이용한 기획은 유용하지만, 모든 사람이 같은 것을 관찰하지는 않고, 내가 경험해보지 않은 기능의 유용성에 대해서는 추측을 내리기 어렵다는 단점이 있습니다.

좋은 모델은 세 가지 특징을 가지고 있습니다.

  1. 현실의 시스템보다 단순함
  2. 현실의 시스템을 충분히 서술함
  3. 새로운 통찰의 기반이 됨

소셜 서비스를 서술하는 좋은 모델들이 많이 생긴다면, 그것들을 통해 더욱 많은 개발자가 소통하고, 미래에 대해 예측할 수 있다고 생각합니다. 그럼 이제 기회 모델이라는 간단한 모델을 소개해보겠습니다.

기회 모델 (Opportunities model)

기회 모델은 게시판, 뉴스피드, 채팅 목록 같은 공간에 대한 모델입니다. 이 각각은 인터랙션 기회들의 목록입니다. 예를 들어, 페이스북의 뉴스피드는 흥미롭거나, 지루하거나, 짜증이 날 수 있는 업데이트들로 이루어져 있고. 네이트온에 로그온 한 유저의 목록은 내가 말을 걸 수 있는 사람들의 목록입니다. 이 중에는 내가 말을 걸고 싶은 사람이 있을 수도 있고, 없을 수도 있습니다.

기회 모델에서 각각의 업데이트는 예상 유용성(expected utility)을 갖고 있습니다. 예를 들어 친구의 저녁 약속 취소 문자는 상당히 유용성이 높은 업데이트지만, 스팸으로 도배된 게시판은 유용성이 낮은 업데이트들로 채워져 있겠네요.

이 개념을 이용하면 우리가 잘 아는 pull과 push 인터랙션을 설명할 수 있습니다.

Pull Model

유저가 그 공간을 방문해야만 새 콘텐츠를 볼 수 있는 모든 사이트는 pull model이 적용됩니다. 유저가 사이트에서 콘텐츠를 끌어오기 때문에 이런 이름이 붙은 것 같습니다. pull model의 예로는 블로그, 페이스북 뉴스피드, 게시판이 있습니다.

자, 그럼 유저가 특정 인터랙션 공간을 방문했을 때 얻는 이득은 어떻게 계산할 수 있을까요?

(유용성 * 업데이트 수) - 방문 비용 = 손익 

잠시 예제를 통해 이 모델에 대해 살펴봅시다. 페이스북에 접속했는데 5개의 업데이트가 올라왔다고 가정하고 업데이트의 평균 유용성이 1이라고 가정합시다. 방문 비용이 5*1=5보다 낮으면 유저는 이번 방문이 만족스러울 것입니다.

방문 비용은 어떻게 알아낼 수 있을까요? 정확하진 않더라도 다음과 같이 계산할 수 있을 것 같습니다. 대부분 사람은 손익이 0보다 클 때 사이트를 방문하도록 주기를 조정할 것입니다. 예를 들자면 페이스북 뉴스피드를 1분마다 방문하는 이용자는 별로 없겠지요. 그 주기와 평균 올라오는 포스트 개수를 알아낼 수 있다면

평균 유용성 * 평균 업데이트 수 > 방문 비용

을 통해, 방문 비용을 추정할 수 있을 것입니다.

Push Model

문자가 오면 핸드폰에 알림이 뜨지요? 사용자를 새 이벤트에 집중하도록 하는 모델을 push model이라고 합니다. 이 모델의 손익도 한번 알아봅시다.

(유용성 - 방해 비용) * 업데이트 수 = 손익

위의 식을 살펴보면, 유용성이 방해비용보다 크다면 push model이 그 인터랙션 공간에 어울리는 모델이라는 것을 알 수 있습니다. 유용성이 시간이 지남에 따라 급격히 감소하는 채팅이나 파티 초대 메시지도 마찬가지입니다.

조금 전 좋은 모델의 특징 세 가지를 설명했습니다.

  1. 현실의 시스템보다 단순함
  2. 현실의 시스템을 충분히 서술함
  3. 새로운 통찰의 기반이 됨

이 모델을 사용한다면 어떤 통찰을 얻을 수 있을까요? 아래 생각나는 몇 가지 아이디어들을 적어보겠습니다.

유용성이 낮은 업데이트는 pull model을 사용해 보여주는 것이 좋지만, 업데이트 여러 개가 쌓여서 방해비용보다 높아졌다고 판단된다면, 여러 업데이트를 모아 push를 할 수 있습니다.

매번 이용자가 방문할 때 pull model 손익을 계산해 볼 수도 있습니다. 만약 손익이 마이너스라면 방문데이터를 더 자세하게 분석해봅니다.

유용성을 더 정확하게 분석해 유저그룹을 나눌 수도 있습니다. 야구 사이트를 만든다고 생각해봅시다. 팀별 게시판을 나누는 것이 좋을까요, 아니면 하나의 게시판에서 모든 유저들이 대화할 수 있도록 할까요? 만약 한번 방문한 유저가 평균 20개의 업데이트를 보는데, 그 중 17개가 자신의 팀에 관한 내용이 아니라면 흥미를 잃어버릴 수도 있습니다. 하지만 다른 팀에 관한 글의 유용성이 0보다 크고, 3개의 새로운 글만으로는 방문 비용을 메꿀 수 없다고 판단하면 게시판을 합칠 수도 있습니다.

기회 모델에 대한 더 자세한 분석은 Robert KrautPaul Resnick 교수의 Building successful online communities: Evidence-based social design 에서 찾아보실 수 있습니다. 아직 출판되지 않은 책이라 무료로 받아볼 수 있습니다 :)

스포카에서는 프론트엔드 프로그래머, 시니어 풀스택 프로그래머를 채용 중입니다! 웹 프론트엔드에 관심을 가지고 공부하는 디자이너, 뛰어난 서버 개발자 등 각자의 분야에서 전문적인 사람들이 능력있는 분들과 함께 일하기를 기대하고 있습니다. 채용 정보 페이지를 확인해주세요!