프로젝트 소개

Retentioneering는 클릭스트림 및 이벤트 로그 데이터를 대상으로 재현 가능하고 감사 가능한 분석을 수행하기 위해 설계된 Python 기반 오픈소스 툴킷입니다. 임시 스크립트 대신 검증된 분석 원리와 재사용 가능한 워크플로우를 제공하여, 분석가, 데이터 과학자, AI 에이전트가 사용자 여정을 탐색하고 행동 세그먼트를 발견하며 실험을 평가하고 결과를 교차 검증할 수 있도록 돕습니다. 주요 구성요소: - **Eventstream**: pandas DataFrame, CSV/TSV/Parquet 파일, 데이터베이스 내보내기 등에서 원시 이벤트 데이터를 추출하는 DuckDB 기반 객체입니다. 필터링, 세션화, 이벤트 병합, 합성 이벤트 생성 등 체인형 프로세서를 지원하며 항상 새로운 불변 스트림을 반환합니다. - **상호작용 위젯**: anywidget으로 구축되어 Jupyter, Colab, VS Code 등에서 직접 렌더링됩니다. 전환 그래프, 단계 행렬, 단계 샌키 다이어그램, 퍼널, 세그먼트 개요, 군집 분석 위젯을 포함하며, 군집 비교를 위한 diff 모드를 지원합니다. - **데이터 프로세서**: 이벤트 필터링, 세션 분할, 이탈 플래그 추가, URL 파싱, 수명 주기 상태 추출, 샘플링 등의 메서드를 제공하여 초 단위 상호작용부터 월 단위 여정에 이르기까지 다중 해상도 분석을 가능하게 합니다. - **MCP 서버**: Eventstream을 Claude나 모든 MCP 호환 LLM 클라이언트에 노출합니다. 에이전트는 분석을 실행하고 보고서 탭을 생성하며, 모든 지표가 원본 데이터로 링크되는 검증된 상호작용형 HTML 보고서를 내보낼 수 있습니다. - **헤드리스 API**: 각 위젯에는 `transition_graph_data`, `funnel_data`와 같은 데이터 전용 대체 기능이 있어 프로그래매틱 소비가 가능합니다. 설치는 Python 3.10+ 환경에서 간단히 완료됩니다: ```bash pip install retentioneering ``` 빠른 시작 가이드에서는 세 개의 열(user_id, event, timestamp)이 있는 CSV를 로드하고 `Eventstream`을 생성한 뒤 `stream.transition_graph()`을 호출해 상호작용형 그래프를 표시하는 방법을 안내합니다. 툴킷에는 실험용 합성 이커머스 데이터셋이 기본 제공되며, 모든 시각화는 공유 가능한 HTML 보고서로 내보낼 수 있습니다. 원본 데이터는 로컬 환경을 벗어나지 않으며, 선택적 텔레메트리는 비활성화할 수 있습니다. Retentioneering 5.0은 기존 pandas 엔진을 더 빠른 DuckDB 백엔드와 현대적인 anywidget 위젯으로 교체한 전면 재작성 버전입니다. 문서, 예시, 커뮤니티 Discord/Telegram은 https://retentioneering.com/docs에서 확인할 수 있습니다. 본 프로젝트는 Apache-2.0 라이선스에 따라 배포되며, 코어 라이브러리의 무료 사용, 수정, 상업적 재배포를 권장합니다. GitHub 이슈와 풀 리퀘스트를 통해 기여를 환영합니다.