{"uid":"cap_b-OOtdI3CxY9qGflh3zor","slug":"netzhandwerker-funnel-analyze-7834a3c6","name":"Netzhandwerker Funnel Analyze","description":"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.","url":"https://tools.halowerk.com/v1/funnel/analyze","method":"POST","headers":{},"bodySchema":{"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}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_jOF8QkOzREibh5z7BMFI6","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"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.","exampleAgentPrompt":"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.","exampleUseCases":[{"title":"Onboarding drop-off diagnosis","prompt":"Here are 2,500 events from our mobile app onboarding. The steps in order are 'app_open', 'profile_created', 'tutorial_completed', 'first_action'. Use a 7-day window and tell me where users are dropping off and how long each transition takes at median, p90, and mean."},{"title":"Checkout funnel segment comparison","prompt":"I have e-commerce events for steps 'add_to_cart', 'checkout_start', 'payment_entered', 'order_confirmed'. Can you run the funnel analysis with a 2-day window, segment by user plan type, and test each segment against the biggest one at 99% confidence?"},{"title":"Trial-to-paid conversion timing","prompt":"Run a funnel analysis on these SaaS trial events — steps are 'trial_start', 'feature_used', 'upgrade_clicked', 'paid' — with a 30-day window and strict ordering, and show me the p90 time between each step so I know where to add nudges."}],"resultDescription":"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.","failureModes":["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"],"whenToPreferThis":"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.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-16T00:37:48.419Z","isFirstParty":false}