reopt design
DocsExploreTemplatesCanvasToolsPricing
Login
Start
Overview
Start
Core Concepts
Core Concepts
Data model
Data model
Build & Operate
Production readiness
opt-charts · Charts
ChartContainer
ChartTooltip
ChartLegend
LineChart
BarChart
AreaChart
Sparkline
PieChart
ScatterChart
ComparisonChart
GaugeChart
FunnelChart
RetentionHeatmap
SankeyChart
PathFlowChart
CalendarHeatmap
WaterfallChart
BubbleChart
ComposedChart
RadarChart
RadialBarChart
Treemap
Histogram
BoxPlot
BulletChart
Heatmap
DataBar
GanttChart
Sunburst
CandlestickChart
TimeSeriesChart
TimeSeriesTooltip
LoadingChart
SmallMultiples
TraceWaterfall
VennDiagram
MetricsCard
TrendChart
EventSparkline
ReportWidget
Oopt-charts
reopt designreopt design

A design system for the AI era

  • Docs
  • Pricing
  • Releases
  • About
  • Contact
  • Terms of Service
  • Privacy Policy

reopt Inc.Business registration no. 217-88-02453contact@reopt.ai

© 2026 reopt Inc. All rights reserved.

FunnelChart

visual

Show stage entries, overall conversion, and drop-off between stages in a funnel.

컴포넌트 의존 관계

깊이
▲ USED BY (2)funnel-analysiscohort-comparisonFunnelChart
100%

Interactive steps

  1. Funnel entry

  2. ↓64% from previous step

    1,800 dropped off · 36%Drop-off from Visitors to Signups: 1,800, 36%

  3. ↓56.3% from previous step

    1,400 dropped off · 43.8%Drop-off from Signups to Activated: 1,400, 43.8%

  4. ↓52.8% from previous step

    850 dropped off · 47.2%Drop-off from Activated to Subscribed: 850, 47.2%

  5. ↓65.3% from previous step

    330 dropped off · 34.7%Drop-off from Subscribed to Retained: 330, 34.7%

Selected: None

Details: None

Default list

  1. 1Step 1
    Visitors5,000 / 100%
  2. −1,800 / 36%Drop-off from Visitors to Signups: 1,800, 36%
    2Step 2
    Signups3,200 / 64%
  3. −1,400 / 43.8%Drop-off from Signups to Activated: 1,400, 43.8%
    3Step 3
    Activated1,800 / 36%
  4. −850 / 47.2%Drop-off from Activated to Subscribed: 850, 47.2%
    4Step 4
    Subscribed950 / 19%
  5. −330 / 34.7%Drop-off from Subscribed to Retained: 330, 34.7%
    5Step 5
    Retained620 / 12.4%

Bars

  1. 5,000100%
    1Step 1Visitors
     
  2. 3,20064%
    2Step 2Signups
    64% · −1,800 (36%)Drop-off from Visitors to Signups: 1,800, 36%
  3. 1,80036%
    3Step 3Activated
    56.3% · −1,400 (43.8%)Drop-off from Signups to Activated: 1,400, 43.8%
  4. 95019%
    4Step 4Subscribed
    52.8% · −850 (47.2%)Drop-off from Activated to Subscribed: 850, 47.2%
  5. 62012.4%
    5Step 5Retained
    65.3% · −330 (34.7%)Drop-off from Subscribed to Retained: 330, 34.7%

Horizontal

  1. 1Step 1
    Visitors5,000 / 100%
  2. 2Step 2
    Signups3,200 / 64%
    64% · −1,800 (36%)Drop-off from Visitors to Signups: 1,800, 36%
  3. 3Step 3
    Activated1,800 / 36%
    56.3% · −1,400 (43.8%)Drop-off from Signups to Activated: 1,400, 43.8%
  4. 4Step 4
    Subscribed950 / 19%
    52.8% · −850 (47.2%)Drop-off from Activated to Subscribed: 850, 47.2%
  5. 5Step 5
    Retained620 / 12.4%
    65.3% · −330 (34.7%)Drop-off from Subscribed to Retained: 330, 34.7%

테스트 커버리지

2026년 7월 9일

생성된 테스트 결과를 찾지 못했습니다.

FunnelChart 항목이 문서 메타에 연결되어 있지만 현재 생성 파일에는 없습니다.

테스트를 추가한 뒤 `bun run generate:test-results`를 실행하거나 `testDescribe` 매핑을 다시 확인하세요.

FunnelChart Props

Prop타입기본값설명
data*FunnelDataPoint[]—퍼널 데이터 ({ name, value, color? })
variant"list" | "bars" | "horizontal" | "steps""list"steps는 반응형 세로/가로 막대와 명시적 전환·이탈 레이블. list는 단계별 진행 행, bars는 단계별 세로 막대(이탈은 막대 위 빗금), horizontal은 가로 막대(이탈은 채워지지 않은 나머지)
renderStepAction(index: number) => React.ReactNode—steps 제목 옆 독립 액션. 단계 선택 버튼 외부에 렌더링. 제목 앞 2rem 공간에 맞는 작은 아이콘 버튼을 사용
selectedStepnumber | null—steps 표현의 선택 단계 인덱스
onStepSelect(index: number) => void—steps 단계 선택 콜백. 포인터와 키보드 지원
heightnumber300차트 높이
showLabelsbooleantrue라벨 표시
showValuesbooleantrue값 표시
valueFormatter(value: number) => string—값 포맷터. 기본은 로캘 숫자(formatNumber)
localestring—기본 숫자·퍼센트 포맷 로캘
loadingbooleanfalse새 데이터를 기다리는 동안 현재 그림을 흐리게 유지
emptyStateReact.ReactNode—데이터가 없을 때 대신 그릴 내용. 기본은 labels.empty
labelsFunnelChartLabels—차트가 직접 쓰는 단계·이탈·진행률 보조 기술 문자열과 빈 상태. 지역화 지점
classNamestring—루트 요소에 붙는 CSS 클래스
aria-labelstring—스크린 리더용 레이블

Design contract

Usage

  • 동일 기간·코호트의 단계별 인원을 순서대로 전달하세요. 단계가 진행될수록 인원이 감소하는 전환 분석에 사용합니다.
  • 기본 list는 간결한 목록, steps는 단계 선택과 반응형 전환·이탈 설명, bars와 horizontal은 막대 비교에 사용하세요.
  • selectedStep과 onStepSelect로 선택을 제어하세요. renderStepAction은 선택 버튼 바깥의 독립 액션이므로 별도의 상세 열기 등에 연결할 수 있습니다.
  • valueFormatter는 값 표기, labels는 보조 문구를 지역화합니다. 데이터가 없는 경우 호출 화면에서 수집 대기나 검색 결과 없음을 설명하세요.
  • Avoid: 서로 독립적인 항목의 크기 비교를 퍼널 전환율로 해석하지 마세요.
  • Avoid: renderStepAction 안의 버튼이 단계 선택도 수행한다고 가정하지 마세요. 필요한 동작을 명시적으로 연결하세요.

Import

tsx
import { FunnelChart } from "@reopt-ai/opt-ui";