전체 글 69

배달 서비스는 MAU보다 XX가 더 중요하다

강의를 듣다가 지표 연습하기 문제에서 가장 오래 고민했던 문제가 있어 공유해보려고 한다.읽기 전에 이 글은 정답이 아니라 어디까지나 나의 생각일 뿐이며, 다른 관점에서 얼마든지 다르게 생각할 수 있다는 점을 먼저 알아두면 좋겠다!배달 서비스라고 하면 흔히 배달의민족이나 요기요, 쿠팡이츠 등을 떠올릴 수 있다.그럼 이러한 배달 서비스에서의 가장 중요한 지표는 무엇일까? 나는 배달 서비스의 핵심 Output Metric은 주문 수, 핵심 Input Metric은 활성 사용자당 주문 전환율이라고 생각한다.여기서 Output Metric와 Input Metric은 무엇일까? Output Metric은 비즈니스가 궁극적으로 얻고 싶은 결과를 의미하고, Input Metric은 그 결과를 만들어내기 위해 직접 관리..

왜 많은 스타트업은 성장하다가 멈출까? - 토스가 말하는 Carrying Capacity

주변을 보면 창업에 뛰어드는 팀들이 꽤 많다. 물론 유의미한 성과를 거두는 팀들도 있지만, 장기적으로 보면 대다수는 기대했던 만큼 성장하지 못하고 정체기를 겪는다. 그동안 나는 스타트업의 성패를 결정하는 요인으로 마케팅, 자금, 사용자 경험(UX) 같은 요소들을 떠올리곤 했다. 실제로 모두 중요한 요소들이다. 하지만 최근 유튜브에서 토스 이승건 대표의 PO 세션을 보며 조금 다른 관점을 배우게 되었다.MAU보다 중요한 숫자? 많은 서비스가 MAU(Monthly Active Users)를 핵심 지표로 삼는다. 실제로 투자 유치나 사업 성과를 이야기할 때도 MAU는 단골손님처럼 등장한다. 하지만 세션에서는 MAU 자체보다 훨씬 더 본질적인 숫자가 있다고 강조한다. 바로 서비스의 본질적인 체력을 뜻하는 'Ca..

Product/PM 2026.06.17

답을 빨리 찾는 능력보다 더 중요한 것은

최근에 SNS에서 바이럴된 2026년 UNIST 학위수여식 졸업생 연설 영상을 인상 깊게 봤다.연설자는 많은 사람들이 한 번쯤 들어봤고, 그중 몇몇은 지금도 널리 사용되는 서비스를 만든 창업자였다. 이분은 여러 차례 창업을 하면서 성공과 실패를 연이어 경험했다고 한다.그중 가장 인상 깊었던 문장은 아래였다.배운건 단 하나였다. 창업이든, 연구든, 커리어든 결국 우리를 앞으로 나아가게 하는건 답을 빨리 찾는 능력이 아니라, 문제를 제대로 정의하는 능력이다. 이 말이 특히 공감됐던 이유는 내가 지금 공부하고 있는 데이터 역시 중요하지만 그보다 먼저 무엇이 잘되고 있고 무엇이 잘 안 되고 있는지 파악하는 과정, 즉 올바른 문제 정의가 선행되지 않으면 데이터를 아무리 들여다봐도 문제는 해결되지 않는다고 느꼈기 ..

인테리어를 취미로 만든 서비스, 오늘의집 분석

1. 제품이란 무엇인가? 본격적으로 데이터를 분석하기에 앞서, 우리가 만들고 있는 제품(Product)이 무엇인지부터 짚고 넘어갈 필요가 있다.제품이란 단순한 기능의 집합이 아니라 고객이 겪고 있는 문제를 해결해 주는 웹/앱 서비스이다. 강의에서 제시한 체크리스트를 바탕으로 '오늘의집'이라는 서비스를 분석해보았다.2. 오늘의집이 해결하려는 문제는 무엇인가? 2-1. 해결하려고 하는 문제(Problem)인테리어를 하고 싶지만,정보가 여러 채널에 흩어져 있어 어디서부터 시작해야 할지 모르고시공 및 구매 과정에 대한 불안이 크며의사결정 과정에서 피로도가 높다즉, 정보 탐색의 비효율성과 신뢰 부족이 핵심 문제라고 볼 수 있다. 2-2. 고객이 실제로 겪는 어려움 정보 탐색에 많은 시간과 비용이 소모됨신뢰할 ..

우리가 말하는 PM은 정말 프로덕트 매니저일까?

프로덕트 매니저? 프로젝트 매니저? 프로덕트 매니저(Product Manager)는 제품과 관련된 문제를 발견하고, 이를 해결하는 역할을 한다. 이 과정에서 프로덕트와 관련된 모든 의사결정을 수행한다. 반면 프로젝트 매니저(Project Manager)는 프로젝트 전반의 우선순위를 설정하고, 일정을 관리하며, 프로젝트가 원활하게 진행될 수 있도록 리드하는 역할을 맡는다. 또한 이해관계자 간의 커뮤니케이션을 조율하는 역할도 수행한다. 이 두 역할은 종종 혼용되어 사용되지만, 학부생이 진행하는 프로젝트에서 말하는 PM은 대부분 프로젝트 매니저인 경우가 많다고 느꼈다. 나 역시 지금까지 PM으로 참여했던 프로젝트를 돌아보면, 프로덕트 매니저보다는 프로젝트 매니저에 가까운 역할을 수행했던 것 같다. 현업에서 ..

[React] 공식문서 : 빠르게 시작하기

리액트 공식문서 : 빠르게 시작하기를 읽고 정리한 글입니다. 빠르게 시작하기 – ReactThe library for web and native user interfacesko.react.dev 컴포넌트 생성 및 중첩하기 React 앱은 컴포넌트로 구성된다.React 컴포넌트는 마크업을 반환하는 자바스크립트 함수이다.function MyButton() { return I'm a button;}export default function App() { return ( welcome to my app );} React 컴포넌트의 이름은 항상 대문자로 시작해야 하고 HTML 태그는 소문자로 시작해야 한다. 이러한 마크업 문법을 JSX라고 한다. JSX로 마크업 작성하기 로..

Dev/React 2025.12.13

어쩌다보니 1년 : 사이드 프로젝트 회고록

UMC 5기 프로젝트 이후, 마음이 잘 맞았던 몇몇 팀원들과 함께 사이드 프로젝트인 '투유'를 시작했다. 모두가 적극적으로 의견을 낸 기획 과정부터 디자인, 개발, QA, 그리고 플레이스토어 런칭까지, 정말 꾸준하게 달려온 프로젝트다. 현재는 iOS 팀원들이 새롭게 합류하면서 안드로이드 서비스 운영과 함께 iOS 개발도 진행 중이다. 나는 아쉽게도 이제 팀을 떠나게 되었지만 1년 동안 정성들여 해온 프로젝트인 만큼, 짧게나마 회고를 남겨보려고 한다.1. PM으로서 그동안 팀을 어떻게 운영했는지? • 확실한 목표 설정과 동기부여사이드 프로젝트가 실패하는 가장 흔한 이유는 팀원마다 우선순위와 목표가 다르기 때문이라고 생각한다. 그래서 우리는 첫 회의에서 팀 전체의 방향성을 다음과 같이 정했다.사용자가 불편함..

회고 2025.04.12

[React] 오버레이 메뉴에서 이벤트 버블링 처리하기

• 오버레이 메뉴 구현 메인 화면에서 리스트 아이콘을 클릭하면 전체 메뉴가 화면 위에 오버레이 되는 기능을 구현했다. 이를 통해 사용자가 원하는 메뉴를 빠르게 탐색할 수 있도록 했다. • 기본 구조 오버레이 메뉴는 Header 컴포넌트에서 상태를 관리하고, 해당 상태를 Menu 컴포넌트에 props로 전달하여 열고 닫는 동작을 제어하는 방식으로 구현했다. Header.jsximport { useState, useEffect } from 'react';import { useLocation } from 'react-router-dom';const Header = () => { const location = useLocation(); const [isOpen, setIsOpen] = useState(fal..

Dev/React 2025.04.07

엔비디아 RTX AI PC 캠퍼스 세미나 후기

• 엔비디아 RTX AI PC 캠퍼스 세미나 원래라면 개강 후 바쁘게 학교 생활을 하고 있었겠지만, 휴학 중이라 여유로운 일상을 보내고 있었다. 그러던 중, 학과 공지사항을 통해 엔비디아 캠퍼스 세미나를 진행한다는 소식을 접했다. 사실 현재 내 주요 관심 분야는 AI가 아니라서 그런지, 부끄럽게도 전공자임에도 불구하고 엔비디아가 어떤 기술을 다루는 회사인지 정확히 알지 못하고 미국 주식 종목 중 하나 정도로만 알고 있었다. 그래서 이번 기회에 배경지식도 넓히고, 평소 접하지 않았던 영역에 대해 직접 들어보는 것도 좋을 것 같아 세미나에 참여해보았다. 아래는 세미나를 들으며 정리한 내용이다. (+이해를 위해 추가한 내용도 있다.)1. NVIDIA는 어떤 회사일까? NVIDIA(엔비디아)는 1933년에 설립..

IT 트랜드 2025.03.25

[React] URL 파라미터로 검색 기능 만들기

• 검색 기능 사용자가 기사 제목을 검색하면, 해당 기사가 존재하는 경우 결과를 표시하는 검색 기능을 구현해보았다. 1. 검색어 입력 처리 우선, 검색어를 저장할 수 있는 search 상태를 생성하고 입력값이 변경될 때 이를 감지하는 onChangeSearch 함수를 만들었다.const [search, setSearch] = useState("");// 검색어 입력 처리 함수const onChangeSearch = (e) => {    setSearch(e.target.value);}; 2. 검색 페이지로 이동하기 다음으로 버튼 클릭 시 search 상태를 기반으로 검색 페이지로 이동하는 handleSearchClick 함수를 만들었다.// 검색 버튼 클릭 시 처리 함수const handleSearchC..

Dev/React 2025.03.09