실제 데이터에 SQL을 이용해 데이터 분석 해보기
SELECT restaurant_name, count(1) as cnt, avg(rating) as avg_rating, avg(average_price) as avg_price, avg(average_delivery_time) as avg_delivery_time
FROM restaurant
GROUP BY 1
ORDER BY 3 DESC
LIMIT 20;
단일 점포는 점포마다 서비스와 품질이 달라 양 극단의 값이 더 많으며(더 퍼져있음), 프랜차이즈의 경우, 적절히 높은 품질을 제공하고 식당 간 편차가 적기 때문에 가운데로 몰려있음
우리가 알고있는 상식과 분석이 일치
수치형 계수와 별점 간의 상관계수 분석
상관계수만 봐서 분석은 어려울 수 있음. 복합적인 요소가 작용할 수 있기 때문에.
SQL로도 상관계수를 구할 수 있으나 스프레드시트 혹은 파이썬을 이용하는 게 더 쉽다.
|상관 계수|가 0.7 이상이어야 해당 값이 의미 있다고 봄
가정
꼬리에 꼬리를 무는 궁금증을 데이터 분석으로 확인해보기!
지역별 평균 가격, max 가격, 점포 갯수등을 확인해보기
- 평균값은 아웃라이어의 영향을 많이 받기 때문에 max값도 같이 확인해보면 좋다.
- 만약 max값이 너무 크면 평균값이 아웃라이어의 영향을 많이 받았을 것.
- 또한 갯수도 함께 확인해 평균의 의미가 있는지!도 같이 보면 좋겠다.
- max값이 엄청 높은게 아닌데 평균값이 높은 걸로 보아 실제로 평균적으로 가격이 높은 지역임을 알 수 있음
SELECT remote_ratio, AVG(salary_in_usd) as usd_salary
FROM salary
WHERE work_year in (2022, 2023) --2020, 2021 데이터가 많지 않아 필터링
GROUP BY 1
ORDER BY 2
특정 컬럼 별 평균 연봉 확인
연도 별 평균 연봉의 변화 확인 → 뒤로 갈수록 연봉 오름!
근데 연도 별 experience level의 변화를 확인해보니 2023년도가 2022에 비해 고연봉 연차들의 비율이 높음.
즉, 연봉이 전체적으로 증가한 게 아닌 고연봉 연차가 늘어남으로써 평균 연봉이 늘어난 것으로 볼 수 있다.
또한 연봉이 가장 높은 중간 크기의 회사의 비율이 커짐
하나의 데이터만 보고 해석하면 안됨…
재택 근무 비율 확인
직군 별 평균 연봉
그룹별 평균 비교, 연봉에 영향을 주는 변수 확인
WITH base as(
SELECT season, player_name, rank() over (PARTITION BY season ORDER BY pts DESC) as rank, pts
FROM nba
)
SELECT season, AVG(pts) as pts
FROM base
WHERE rank <= 10
GROUP BY 1
GROUP BY 1
❗ 실제 데이터분석 시
특징을 찾고 → 가설을 세우고 → 다시 데이터로 돌아가 관계와 근거를 찾음
분석을 통해 무엇을 얻어낼 수 있는지…
목표가 불분명할 땐 목표를 구체화 하며 분석하는 것도 필요