일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 오블완
- 파이썬 철저 입문
- 실전 데이터 분석 프로젝트
- 중회귀모형
- 파이썬
- 회귀분석
- SQL
- 스파르타 코딩
- R
- MySQL
- 티스토리챌린지
- 내일배움카드
- 파이썬 머신러닝 완벽가이드
- 스파르타코딩
- TiL
- 웹 스크랩핑
- 스파르타
- 내일배움캠프
- 파이썬 머신러닝 완벽 가이드
- wil
- 프로그래머스
- hackerrank
- Cluster
- 텍스트 분석
- 내일배움
- 파이썬 완벽 가이드
- harkerrank
- 미세먼지
- 프로젝트
- 파이썬 철저입문
- Today
- Total
목록개발 (109)
OkBublewrap
리텐션특정 기간 동안 사용자가 제품 또는 서비스를 다시 사용하는 비율(시간이 지날 수록 얼마나 많은 유저가 제품으로 다시 돌아오는지를 측정한 것)리텐션 분석의 필요성신규 사용자 확보보다 기존 사용자 유지가 더욱 비용 효율적제품 개선 방향을 설정하는 중요한 지표코호트 분석 및 세그먼트 분석을 통해 유지 전략 최적화 가능N-day 리텐션첫 방문 후 특정 일자에만 재방문한 유저 비율을 나타냄유저가 제품을 최초로 사용한 날을 Day 0으로 설정Day 0은 유저가 처음으로 앱을 다운로드 받은 날일 수도 있고, 회원 가입한 날일 수도 있으며, 앱 내에서 음악을 처음 재생했거나 친구를 초대하는 등 특정한 액션을 취한 날일 수도 있음N-Week, N-month (제품 사용간격을 이해해야함!!)예를 들어, 소셜 앱이나 ..
Median Google Search Frequency문제1. 중앙값 구하기2. 소수점 첫째 자리까지 반올림 풀이1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣
Maximize Prime Item Inventory문제 1. 평방피트: 500,0002. prime_eligible 세트 평방비트: 68+85+8.5 = 161.53. not_prime 세트 평방비트: 494. prime_eligible을 먼저 채워야 함. 500,000 / 161.5 = 3095.98; prime_eligible 3095 세트 들어감5. 남은 공간은 500,000(평방비트) - (3095(세트 수) * 161.5(세트 평방비트)) = 157.5(평방비트)가 남음6. not_prime을 나머지 공간을 채움 157.5 / 49 = 3.21; not_prime 3(세트)가 들어감7. 각각 아이템 수와 세트를 곱한 값이 출력이 되어야 함.item_typeitem_countprime_elig..
Server Utilization Time문제1. 서버가 실행된 총 시간을 전체 일 단위로 출력하는 SQL쿼리2. 여러 번 시작 하고 중지 될 수 있음3. 총 실행 시간은 각 서버의 실행 시간을 합산한 값풀이with temp_01 as (SELECT *, lag(session_status) over (partition by server_id order by status_time) as lag_state, lag(status_time) over (partition by server_id order by status_time) as lag_timeFROM server_utilization)SELECT round(sum(extract(epoch from status_time - lag_time) / 8..
Repeated Payments문제1. transactions 테이블을 사용하여2. 같은 가맹점에서 동일한 신용카드로 동일한 금액이 10분 이내에 결제 된 경우3. 반복 결제된 횟수를 계산 풀이select count(distinct t1.transaction_id) as payment_countfrom transactions t1 join transactions t2 on t1.merchant_id = t2.merchant_id and t1.credit_card_id = t2.credit_card_id and t1.amount = t2.amountwhere t1.transaction_timestamp + interval '10 minutes' >= t2.transaction_timestamp ..
MySQL vs. PostgreSQL 날짜 연산 비교기능MySQLPostgreSQL현재 날짜 가져오기CURDATE()CURRENT_DATE현재 시간 가져오기CURTIME()CURRENT_TIME현재 날짜 및 시간 가져오기NOW() 또는 CURRENT_TIMESTAMPNOW() 또는 CURRENT_TIMESTAMP날짜에서 연, 월, 일 추출YEAR(date), MONTH(date), DAY(date)EXTRACT(YEAR FROM date), EXTRACT(MONTH FROM date), EXTRACT(DAY FROM date)시간에서 시, 분, 초 추출HOUR(time), MINUTE(time), SECOND(time)EXTRACT(HOUR FROM time), EXTRACT(MINUTE FROM tim..
코호트 분석란코호트 분석은 특정 시점에서 공통된 특성을 가진 사용자 그룹(코호트)을 추적하여 행동 패턴을 분석하는 기법이다.시간 기반: 사용자를 가입 월, 첫 구매 월 등 특정 기간을 기준으로 그룹화한다.이벤트 기반: 특정 행동을 기준으로 사용자 그룹을 구분할 수도 있다.장기적인 사용자 행동 변화 분석에 유리하다.필요성특정 기간 동안의 신규 고객 유지율 분석 가능특정 시점에서 가입한 고객이 얼마나 제품을 지속적으로 사용하는지 평가신규 기능 출시 후 사용자 반응 분석마케팅 캠페인의 효과 측정사례예제 1: 유료 전환율 분석1월, 2월, 3월 가입한 고객을 각각 분석하여 어떤 달에 가입한 고객이 유료 사용자로 전환되는 비율이 높은지 확인예제 2: 신규 기능 사용률 분석특정 기능이 출시된 이후, 기능을 실제로..
Histogram of Users and Purchases문제1. 가장 최근 거래 날짜2. 사용자 ID3. 해당 날짜에 사용자가 구매한 제품 개수4. 거래 날짜 기준으로 오름차순 정렬 풀이select transaction_date, user_id, count(product_id) as purchase_countfrom (SELECT *, max(transaction_date) over (PARTITION by user_id) as max_datefrom user_transactions) sub1where transaction_date = max_dategroup by transaction_date, user_idorder by transaction_date asc time 9:12 1️⃣ sub1: 각..
실습환경 세팅더보기import sqlite3import pandas as pd# SQLite 데이터베이스 연결conn = sqlite3.connect(":memory:")cursor = conn.cursor()print("SQLite in-memory database connected!")# 퍼널 분석을 위한 샘플 테이블 생성 (funnel_step 추가)cursor.execute('''CREATE TABLE event_logs ( user_id INTEGER, event_name TEXT, funnel_step INTEGER, event_time TIMESTAMP)''')conn.commit()print("Event logs table with funnel_step created!..
Card Launch Success문제1. 각 신용카드의 출시 첫달이 가장 작은 값2. 해당 출시 첫 달에 발급된 카드 수3. 가장 많은 카드가 발급된 순서로 정렬 풀이select card_name, issued_amountfrom ( select *, row_number() over (PARTITION by card_name order by issue_year asc, issue_month asc) as rn from monthly_cards_issued ) sub1where rn = 1order by 2 desc1️⃣ sub1: card_name 파티션, 연도가 낮고, 월이 낮은 순으로 순서 매기기2️⃣ where: 순서가 1인 것만 출력3️⃣ order by: issued_amount 가 ..