get_access_point_churn
Get an access point's churn
An Access Point's joiner / mover / leaver activity over a period: a daily category series with derived net growth, period totals, and the 'won from / lost to' counterpart breakdown. Joiners are first-ever serving seats (from 2026-08-02 onward, first-full-deep-sweep completion); movers change Provider (both sides resolved to the current identity); leavers deregister while served. Defaults to the trailing 30 days.
A Vendor key (v-<slug>) returns the same shape for the Vendor, from a daily comparison of its membership. Movement is counted from churn_since; there is no history before it. A counterpart is a Provider or another Vendor (kind). match_totals and the newly_matched / no_longer_matched series count membership changes with no real event behind them (a signal appeared or disappeared): they are a data-quality figure, not movement, and are never in net_growth.
For a Provider key, counterpart_flow gives each mover side (out, in) its top counterpart with its share and the effective number of counterparts, over the requested period. The share is null under 25 movers on that side and the effective number under 100. A Vendor key has no counterpart_flow.
PLATFORM MOVES. A mover is a platform move when the platform that serves the participant stayed and only the certificate Seat changed: it is not a customer decision. The verdict is per DIRECTED provider pair (from → to), over all its movers since 2026-08-02, with one of two reasons (same_host, sub_provider): at least 90% of the movers whose endpoint host can be compared (5 or more, and at least 50% of all movers of the pair) kept their endpoint host, or at least 90% of 25 or more movers still carry, at the new provider, the sub-provider brand of the provider they left. It is a CURRENT judgment, computed again on every rollup cycle. For a Provider key, the movers of a platform-move pair are in platform_won / platform_lost of the counterpart and not in its won / lost; the flag is per direction (counterpart → Provider, Provider → counterpart). totals.platform_in / totals.platform_out are their sums. totals.movers_in, totals.movers_out, net_growth and the daily series still count all movers. A Vendor key is not changed: its counterparts have no platform fields.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Inclusive period end, `YYYY-MM-DD` UTC. Defaults to today. | |
| key | Yes | The Provider key (e.g. `c-tickstar`), or a Vendor key (`v-exact`). | |
| from | No | Inclusive period start, `YYYY-MM-DD` UTC. Defaults to 29 days before `to`. |