목록전체 글 (66)
데이터 놀이터
1. I / O (Input / Output) (1) stdin, stdout stdin(standard in) - 사용자로부터 키보드로 입력받는것 (ex. input()) cf) list comprehension for 문을 사용한 코드를 한 줄로 줄일 수 있음 [x for x in range(1, 4)] stdout(standard out) - 사용자에게 다시 결과를 모니터로 보여주는 것 (ex. print()) (2) file I/o with open(파일 경로, '모드') as f: data = f.read - 파일 내 텍스트를 하나의 문자열로 반환 = f.readline() - 파일 내 첫줄 반환 (파일을 잘 불러왔는지 확인 용도) = f.readlines() - 파일 내 각 줄을 그대로 반환 ..
* 본 게시글과 이미지는 모두 데이터리안 블로그에서 참조하였습니다. 1. 리텐션 차트 서비스 전체 유저의 리텐션과 같이 큰 덩어리로 인사이트를 얻기 힘들기 때문에, 코호트 분석을 통해 리텐션을 분석하는 것이 일반적이다. 서비스의 성격에 따라 코호트를 잘 정의하여 시기 별로 리텐션 분석하게 된다. 예를 들어, 해당 리텐션 차트는 코호트를 첫 방문 시기로 나누었는데, 첫 방문 후 1주차를 보면 1월에 첫방문한 그룹들의 리텐션이 점점 좋아지고 있는 것을 알 수 있다. 이를 통하여, 1월 이후에 서비스의 개선이나 이벤트가 리텐션에 긍정적인 영향을 미쳤다고 해석할 수 있다. 2. 리텐션 커브 리텐션을 개선하기 위한 방법으로는 초기에 이탈하는 유저를 줄이거나, 유저와 관계를 지속적으로 유지하는 방법이 있다. 초기에..
* 본 게시글과 이미지는 모두 데이터리안 블로그에서 참조하였습니다. 1. 사용자 고착도란? 리텐션을 판단하기 위한 지표로, 월별 또는 주별로 서비스를 사용하는 사람 중 특정 일자에 접속한 사람의 비율을 나타낸다. Stickiness는 DAU와 MAU 또는 DAU와 WAU의 비율로 구하게 된다. 해당 지표가 1에 가까울 수록, 유저들의 재방문을 기준으로 리텐션이 높다는 것을 의미하며 그 이유는 DAU, WAU, MAU의 기본 개념을 설명하면서 알아보려고 한다. 2. DAU, WAU, MAU Daily, Weekly, Monthly Active User의 줄임말로, 일별, 주별, 월별로 활동한 사용자 수를 의미하는 지표이다. DAU와 WAU, MAU를 종합적으로 보면 사용자들이 서비스를 계속해서 방문하는지 ..
SELECT * FROM tips WHERE (day, total_bill) in (SELECT day , MAX(total_bill) FROM tips GROUP BY day) 1. 날짜 포멧에 BETWEEN을 활용할 경우 포멧이 시, 분, 초까지 표현하는 데이터라면 년,월,일로만 작성할 경우에 마지막 날짜 정보가 포함되지 않고 출력된다. 따라서, 시, 분, 초까지로 범위를 모두 써주어야 한다. 예시 -- 틀린 예시 (모든 범위가 포함되지 않음) WHERE order_delivered_carrier_date BETWEEN '2017-01-01' AND '2017-01-31' -- 올바른 예시 WHERE order_delivered_carrier_date BETWEEN '2017-01-01 00:00:0..
* 본 게시글과 이미지는 모두 데이터리안 블로그에서 참조하였습니다. 1. 리텐션이란? 그로스 해킹의 대표적인 분석 프레임워크인 AARRR 퍼널 중 3번째 단계로, 사용자들이 유입 및 활성화 후 얼마나 서비스를 만족스럽게 꾸준히 경험하고 있는지를 알아보는 것이다. 꾸준히 경험하고 있다는 것은 방문을 기준으로 판단하는 것이 보편적이다. 하지만, 서비스의 성격에 따라서 결제, 특정 기능 사용 등 판단 기준이 달라질 수 있다. 2. 리텐션이 중요한 이유 리텐션 단계는 AARRR 퍼널 중 가장 먼저 개선해야하는 단계로 알려져 있다. 사용자 유입, 활성화를 늘려도 다시 서비스를 이용하지 않고 이탈한다면 밑빠진 독에 물을 붓는 것과 다름없기 때문이다. 또한 신규 유입을 늘리는 것보다 기존 고객들을 유지하는 것이 비용..
1. Window 함수란? Window 함수란, 행과 관련된 행 간의 연산을 수행하는 함수이다. GROUP BY를 이용한 집계함수와 기능적으로는 유사하나, 집계 기준 별로 결과물이 출력되지 않고 각각의 row 별로 결과물이 출력된다는 점에서 차이가 있다. -- GROUP BY를 활용한 집계함수 mysql> SELECT country, SUM(profit) AS country_profit FROM sales GROUP BY country ORDER BY country; +---------+----------------+ | country | country_profit | +---------+----------------+ | Finland | 1610 | | India | 1350 | | USA | 457..
1. 문제 Table: Logs +-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | num | varchar | +-------------+---------+ In SQL, id is the primary key for this table. id is an autoincrement column. Find all numbers that appear at least three times consecutively. Return the result table in any order. The result format is in the following example. Example 1: Input: Log..
1. 문제 Ketty gives Eve a task to generate a report containing three columns: Name, Grade and Mark. Ketty doesn't want the NAMES of those students who received a grade lower than 8. The report must be in descending order by grade -- i.e. higher grades are entered first. If there is more than one student with the same grade (8-10) assigned to them, order those particular students by their name alph..
1. 문제 Write a query to print the hacker_id, name, and the total number of challenges created by each student. Sort your results by the total number of challenges in descending order. If more than one student created the same number of challenges, then sort the result by hacker_id. If more than one student created the same number of challenges and the count is less than the maximum number of chal..
1. 문제 Table: Employee +--------------+---------+ | Column Name | Type | +--------------+---------+ | id | int | | name | varchar | | salary | int | | departmentId | int | +--------------+---------+ id is the primary key (column with unique values) for this table. departmentId is a foreign key (reference columns) of the ID from the Department table. Each row of this table indicates the ID, name, ..