본문으로 건너뛰기

분석: 하나의 뷰

분석은 사용자 상태를 읽는 것입니다. 퍼널, 리텐션, 코호트는 엔진의 나머지가 작용하는 것과 동일한 실시간 투영에 대한 쿼리입니다.

At a glance

Host
https://eu.api.prodantix.com
Ingest
POST /v1/events, /v1/identify, /v1/group
Batch size
1 to 1000 events per batch
Answers
202 Accepted: accepted for processing, not yet stored
Auth
projectKey as a bearer token
  • 퍼널과 리텐션은 실시간 상태에서 계산되며, 야간 웨어하우스 롤업이 아닙니다
  • 코호트는 한 번 정의하면 이벤트가 도착하는 대로 최신 상태로 유지됩니다
  • SQL 왕복이 없음. 상태가 이미 질문에 맞게 형성되어 있습니다

작동 방식

Events land on the EU ingestion host, are buffered through Redpanda and written to ClickHouse. Queries read from ClickHouse, so a funnel over thirty days answers in the same shape whether it spans a thousand events or a billion.

Ingestion answers 202. That is acceptance for processing, not proof of storage, a malformed event is still dropped further down the pipeline.

접근 위치

SurfaceOperation
RESTPOST /v1/events · POST /v1/identify · POST /v1/group
GraphQLanalytics query · events query · dashboards, cohorts
MCPprodantix.analytics.runQuery

예시

curl -X POST "https://eu.api.prodantix.com/v1/events" \
  -H "Authorization: Bearer $PRODANTIX_KEY" \
  -H "Content-Type: application/json" \
  -d '{"batch":[{"distinct_id":"u_8f3a","name":"order.completed","properties":{"amount":4200}}]}'

Querying a funnel

GraphQL
query Funnel($projectId: String!) {
  analytics {
    funnel(
      projectId: $projectId
      steps: ["signup.started", "signup.completed", "order.completed"]
      window: "P30D"
    ) {
      step
      users
      conversion
    }
  }
}