TIL/Python

TIL #6 <프로그래머스, 데이터 리터러시>

jojoon2786 2024. 7. 3. 19:31

프로그래머스 (정수 제곱근 판별)

(나의 풀이)

def solution(n):
    a=n**(0.5)  ## a에 n의 제곱근을 저장
    if a%1==0:   ## a가 정수라면
        answer = (a+1)**2    ## a+1의 제곱을 return
        return answer
    else:
        return -1    ## 아니라면 -1을 return

 

프로그래머스 (정수 내림차순으로 배치하기)

(나의 풀이)

def solution(n):
    answer=[int(i) for i in str(n)]   ##n을 문자열(배열)로 만들어 하나씩 정수화하여 answer[]에 값으로 저장
    answer.sort(reverse=True)   ## answer[] 내림차순 정렬
    result=''
    for a in answer:   ##a값을 하나씩(문자형)
        result+=str(a)   ## result에 저장 --> result는 문자열형
    return int(result)   ## result 정수화

 

 

<데이터 리터러시 강의 요약>

 

◈데이터 리터러시


데이터를 읽는 능력, 이해하는 능력, 비판적으로 분석하는 능력
> 결과를 의사소통에 활용할 수 있는 능력
>> 데이터 리터러시는 올바른 질문을 던질 수 있도록 만들어 줌.

데이터 해석 오류 사례


1. 심슨의 역설
전체에 대한 결론이 언제나 개별 집단에 그대로 적용되는 것은 아님.
데이터에 기반한 결론이라고 하더라도 이를 맹목적으로 받아들이면 안됨.

2. 시각화를 활용한 왜곡
자료의 표현 방법에 따라서 해석의 오류 여지가 존재

3. 샘플링 편향(Sampling Bias)
전체를 대표하지 못하는 편향된 샘플 선정으로 인해 오류가 밠생.

4. 상관관계와 인과관계
1) 상관관계 : 두 변수가 얼마나 상호 의존적인지 파악하는 것을 의미
한 변수가 증가 --> 다른 변수도 따라서 증가/감소

2) 인과관계 : 하나의 요인으로 인해 다른 요인의 수치가 변하는 형태를 의미
원인과 결과가 명확

> 상관관계는 인과관계가 아닌 것을 항상 유의해야 함.
양쪽을 모두 활용하여 합리적인 의사판단 하기

데이터 분석 접근법

문제 및 가설 정의(생각) -> 데이터 분석(작업) -> 결과 해석 및 액션 도출(생각)

데이터 리터러시가 필요한 '생각' 부분에서 문제가 되는 경우가 많음.
데이터 분석이 목적이 되지 않도록 '왜?'를 항상 생각해야 함.

◆ 문제 정의
우리는 풀고자 하는 문제를 명확하게 정의하지 않음.

문제 정의란?
> 데이터 분석 프로젝트의 성공을 위한 초석
> 분석하려는 특정 상황이나 현상에 대한 명확하고 구체적인 진술
> 프로젝트의 목표를 설정하고 분석 방향을 결정

문제 방법론


1) MECE (Mutually Exclusive, Collectivelly Exhaustive)
> 문제 해결과 분석에서 널리 사용되는 접근 방식
> 문제를 상호 배타적이면서, 포괄적인 구성요소로 나누는 것
> 복잡한 문제를 체계적으로 분해하고, 구조화된 방식으로 분석할 수 있음.

2) Logic Tree

> 복잡한 문제를 더 작고 관리하기 쉬운 하위 문제로 분해하는데 사용
> 상위 문제로부터 시작하여 하위 문제로 계층적 접근
> 일반적으로 도표 형식으로 표현되어 쉽게 파악할 수 있음.

문제정의 하는 이유


> 풀고자하는 것을 명확하게 정의하고 데이터 분석의 방향성을 정하며 결과를 정리하고 해석하여 새로운 액션 플랜을 수립하기 위함.


문제정의의 핵심 (So what? , Why So?
1) So What?
'결국 어떻다는 것인지'를 알아내는 작업
나타난 현상을 바탕으로 과제에 비추어 말할 수 있는 내용의 핵심을 추출하는 작업

2)Why So?
'왜 그렇게 말할 수 있는지'
구체적으로 무슨 뜻인지를 검증하고 확인하는 작업
So What?한 요소의 타당성을 검증하는 작업

도식화한 로직 트리가 위 법칙에 맞는지 확인해보기

문제정의 팁
1. 공유하고자 하는 사람이 누구인지 정의
2. 원하는 변화 생각
3. 경영자의 입장에서 보려고 노력
4. 사람들과 의견을 나눠보기
5. 혼자서 오래 고민해보는 시간을 가질 것

◆ 데이터의 유형

1. 정성적 데이터 / 정량적 데이터
1) 정성적 데이터
> 비수치적인 정보, 사람의 주관적인 요소를 포함.
> 텍스트, 비디오, 오디오 형태로 존재함.
> 정형화 돼있지 않고, 구조화 되어있지 않음.
> 데이터를 구조화하기 어려움.
> 새로운 현상이나 개념에 대한 이해를 심화하는데 사용

2) 정량적 데이터
> 수치적으로 표현되는 정보로 양적인 측정과 분석을 통해 얻음
> 데이터가 숫자 형태로 존재하기 때문에 통계적으로 분석하기 쉬움
> 주관이 적게 들어가 객관성을 가짐
> 지표로 만들기 용이
> 설문조사, 실험, 인구 통계, 지표 분석 등에 활용

3) 정량적 데이터의 사례
> 인구 통계 데이터, 수치형 설문조사 데이터(NPS), 비즈니스 데이터, 행동 로그 데이터, 마케팅 데이터,

> 통계적 분석 적용
> 분포, 평균, 중앙값 등을 계산해서 데이터의 경향성과 패턴을 파악
> 해당 내용을 근거로 의사결정 과정에서 중요한 판단을 내림.

◆ 지표 설정
- 지표란?
> '어떤 결과를 기대하는가?'에 대한 정량화된 기준
>특정 목표나 성과를 측정하기 위한 구체적이고 측정 가능한 기준
> 전략적 결정에 필요한 핵심 정보를 제공
> 정의한 문제에 대해 정확하게 파악하기 위해서 필요

주요 지표 이해하기


1. Active User (활성유저)
> Active User에 대한 정의에 따라 전략과 방향이 달라짐.
> 서비스 지표에 중요한 역할을 하게 됨.

2. Retention Ratio(재방문율)
> 서비스를 사용한 사람이 다시 서비스를 사용하는 비율%
> 리텐션이 높은 서비스는 획득 비용에 투자한 비용을 빠르게 회수할 수 있음.
> 리텐션은 서비스(특히 앱) 성장에 있어서 매우 중요한 지표

Retention 측정방법

 

1)N-Day 리텐션
> 최초 사용일로부터 N일 후에 재방문한 Active User의 비율
> 일반적으로 사용하는 지표
> 사용자가 매일 접속하는, 반복적으로 행동을 유도하는 제품에 적합.
> 유저가 Active User로 집계된 최초 날을 Day 0으로 설정

2)Unbounded 리텐션
> 특정일을 포함하여 그 이후에 한번이라도 재방문한 유저의 비율
> 유저가 정기적으로 반복해서 방문하는 서비스가 아닐 경우 적합
> Unbounded 리텐션은 이탈률의 반대 개념으로도 볼 수 있음.
## 계속 접속하지 않던 유저가 접속할 경우, 이 전의 리텐션 값들이 전부 변동되는 한계가 있음.
> 절대적인 수치보다는 변화하는 트렌드를 보는 용도로 활용
> 채용 사이트, 쇼핑몰, 부동산 매물 서비스 등에 사용

3)Bracket 리텐션
> 설정한 특정 기간을 기반으로 재방문율을 측정
> N-Day 리텐션을 확장한 개념 --> 일/주/월 단위가 아닌 지정한 구간으로 나눔.
> 서비스 사용주기가 길거나 주기적인 경우 사용하기 적합한 지표

리텐션에 대한 이해
> 리텐션이 높은 세그먼트를 발굴하는 작업이 필요함.
> 서비스의 사용 주기에 따라 리텐션 조회 기간을 늘려야 함.
> 사후 분석 시에 용이

3. Funnel
- '유저들이 어디서 이탈하는가?'
- AARRR
단계별 전환율을 지표화하여 서비스 보완 지점을 찾는 것
A - Acquisition(유입)
A - Activation(활성화)
R - Retention(재방문)
R - Revenue(수익)
R - Referral(추천)

4. LTV(Life Time Value, 고객 평생 가치)
> '해당 유저가 우리에게 평생 주는 이익은 얼마나 될까?'
> LTV가 높다는 것은 해당 서비스와 관계가 좋고,  충성도가 높은 고객이 많다는 것을 의미
> LTV 추측이 가능하다면, 신규 유저를 데려오는 비용(CAC:Customer Acquisition Cost)의 산출 및 효율적인 예산 운용이 가능
## 자사 서비스에 맞는 LTV를 산출하는 것은 매우 어려운 일
## 사용 주기, 변수, 객단가 등 여러가지를 고려해야 함.
> LTV를 늘리기 위한 방안
-객단가 상승
-구매 빈도를 높임
-이탈률 감소, 이용시간 증가

북극성 지표란?
>제품/서비스의 '성공'을 정의
>제품/서비스가 유저에게 주는 core value를 가장 잘 나타낸 것
>장기 성장을 위해 필수적으로 모니터링 해야 함.

좋은 북극성 지표의 특징
> 제품/서비스 전략의 핵심
> 유저/고객이 제품/서비스에서 느끼는 가치
> 회사의 사업 목표를 나타내는 지표 중 선행지표(후행X)

안 좋은 북극성 지표의 예
> 외부 요인의 영향을 많이 받는 지표
> 유저/고객의 전체 여정을 반영하지 않는 지표
> 유저/고객이 직접 가치를 느낄 수 없는 지표
> 측정 불가하거나, 기간 설정이 안되는 지표

북극성 지표가 중요한 이유


1. 방향성
제품/사업 조직이 무엇에 최적화되어야 하고, 무엇을 포기해도 되는 지에 대한 방향 제시

제품/사업 조직의 진척과 가치창출을 전사에 보여줌

제품/서비스 조직이 결과에 책임을 지도록 함

2. 효율 증대
전 직원을 하나의 목표에 집중시킴.

서로 상반된 목표에 집중하거나, 중복으로 일하는 것을 방지

◆ 결론 도출
결과와 결론의 차이
1) 결과 : 데이터 처리, 분석, 모델링 후에 얻어진 구체적인 데이터의 출력
숫자, 통계, 그래프, 차트 등의 형태로 나타낼 수 있음.

--> '무엇을'

2) 결론 : 분석된 데이터 결과를 바탕으로 이끌어낸 의미나 통찰
데이터에 기반한 해석, 추론 또는 권고 사항을 포함

--> '그것이 왜 중요한지?'

결론 도출 시 주의사항
> 결과 - 결론 도출 시 스토리텔링이 필요.
    ## 그러나, 필요 이상으로 자신의 해석을 융합하면 안됨.
         데이터를 통해 알 수 있는 범위에서만 생각해야 함.

결론을 잘 정리하는 법
> 앞서 문제 정의, 지표 설정을 할 당시의 목적을 떠올리며 정리
> 결론을 공유할 대상이 누구이며, 어떻게 변화하길 원하는지? 생각

1. 단순하고 쉽게 전달
핵심 지표 위주, 해석 방법에 대해서 설명, 활용할만한 포인트 제안, 액션 아이템을 제안하는 것이 핵심
2. 흥미 유발
모든 내용을 담지 말기, 상대가 궁금해할만한 내용은 뭘까? 고민하기
궁금한 사람들을 위해서는 디테일한 문서 따로 공유
3. 대상자 관점에서의 접근
공유받는 사람의 시선에서 이해하기 쉽도록 정리
지식의 저주에 빠지지 않고 논지를 뒷받침 해줄 자료들을 함께 첨부
대상자의 허들이 낮은 시각화 활용
4. 시각화 팁
화려한 그래프보다는 직관적으로 이해할 수 있도록 구성
각 그래프의 범례와 단위 함께 표기하기

결론 보고서에 쓰면 좋은 플로우
> 전체 내용을 한 문장으로 정리하는 요약
> 해당 보고서의 메인 주제
> 해당 보고서를 쓴 이유와 원하는 변화
> 문제 정의 단계
> 핵심 내용 전개
> 결론 및 액션 아이템