# Netzhandwerker Funnel Analyze

> Netzhandwerker Funnel Analyze is a paid API for AI agents from tools.halowerk.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-16).

Analyzes a multi-step conversion funnel from raw events, reporting per-step counts, conversion rates, drop-off, timing stats, and optional segment comparisons — without storing any data.

## Facts

- Endpoint: POST https://tools.halowerk.com/v1/funnel/analyze
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/netzhandwerker-funnel-analyze-7834a3c6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_b-OOtdI3CxY9qGflh3zor

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability netzhandwerker-funnel-analyze-7834a3c6 -d '<json body>'
```

Example prompt: Analyze my signup funnel using these 3,000 user events — steps are 'visit', 'signup', 'verify_email', 'first_purchase' in that order — use a 14-day conversion window and break down the results by segment, testing each against the largest one at 95% confidence.

## When to prefer this

Choose this endpoint when you need a stateless, per-call funnel analysis with built-in segment significance testing and timing percentiles, and you do not want any data persisted server-side. It is ideal for on-demand funnel computation inside an agent workflow, where you already have raw event data and want structured conversion metrics without setting up a dedicated analytics platform. Prefer it over cohort or A/B endpoints when the question is specifically about ordered step-by-step conversion and drop-off.

## Known failure modes

- Request body exceeds 256 KB — reduce event payload size or trim optional fields
- Fewer than 2 steps provided — minimum is 2 steps
- More than 20 steps specified — reduce step list
- More than 4,000 events in the array — split into smaller batches
- Events missing required fields (user_id, step, timestamp) — rejected or silently skipped
- window_s set to 0 or negative — validation error
- confidence_level outside 0.5–0.9999 range — validation error
- No events match any funnel step — empty per-step results with zero counts
- Payment not attached or insufficient — x402 payment required error

## How this service works

Walks the events you pass through the ordered steps you name and reports per step: how many arrived, conversion from the previous step and from the first, drop-off in users and as a rate, and time to the next step as median, p90 and mean. A step counts only if it happened after the one before and inside the window. Where events carry a segment, each is tested against the largest with the same two-proportion test the A/B endpoint uses. Nothing is stored.

## Output

Returns a per-step breakdown including: number of users who reached each step, conversion rate from the prior step and from the first step, drop-off count and rate, and time-to-next-step stats (median, p90, mean). If segment comparison is enabled, each segment is reported separately and tested against the largest segment using a two-proportion z-test with the configured confidence level. Also reports the count of events outside the defined funnel steps.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "steps": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "maxItems": 20,
   "minItems": 2,
   "description": "Step names in the order they are meant to happen. Each name once."
  },
  "events": {
   "type": "array",
   "maxItems": 4000,
   "minItems": 1,
   "description": "Each event needs user_id, step and a timestamp (time_unix_s in seconds since 1970, or time as ISO 8601). Optional: segment. Events whose step is not in steps are counted in events_outside_funnel and otherwise left alone. The service caps the whole request body at 256 KB, so long records reach that limit before maxItems."
  },
  "window_s": {
   "type": "integer",
   "default": 604800,
   "maximum": 31536000,
   "minimum": 1,
   "description": "How long a user has, from the first step on, to reach the later ones."
  },
  "max_segments": {
   "type": "integer",
   "default": 8,
   "maximum": 20,
   "minimum": 2,
   "description": "How many segments are reported, largest first."
  },
  "strict_order": {
   "type": "boolean",
   "default": true,
   "description": "true requires each step to happen at or after the previous one. false only requires that it happened inside the window."
  },
  "compare_segments": {
   "type": "boolean",
   "default": true,
   "description": "Break the funnel down by segment and test the segments against the largest one."
  },
  "confidence_level": {
   "type": "number",
   "default": 0.95,
   "maximum": 0.9999,
   "minimum": 0.5
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/netzhandwerker-funnel-analyze-7834a3c6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tools.halowerk.com](https://www.zero.xyz/host/tools.halowerk.com/llms.txt)
