get_provider_moves
Get moves between providers
The from→to matrix of participants that changed Access Point provider in a trailing window: who lost participants to whom, for the whole network or for one country (country), in one call. The top largest providers on each side keep their identity (from = sources, to = destinations; a provider can be on both). Every other provider folds into one "Other" node per side, and other gives the number of folded providers and their participants.
pairs is the COMPLETE folded matrix, largest first: a null from or to is the "Other" node of that side, zero cells are omitted, and the values sum to total exactly. A node's value is all its moves in the window, also the moves to or from a folded provider.
A move inside one provider (between two of its own Access Points) is not counted. Every day is the PROBE-OBSERVATION day — when the change scan saw the SMP record change — not the day a migration was executed. A window with no moves returns total: 0 and empty lists.
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. The movers of a platform-move pair are in no node, in no cell and not in total: platform gives their number and the number of directed provider pairs they come from. The matrix has Providers only; a Vendor is not in it.
With country, the matrix holds the moves of the participants of that country: card country first, the country of the ICD prefix as fallback. The window is then one day longer (from = today − days), the same days as the country_*_{7,30,90}d fields of GET /v1/aps?country=. platform_by_provider gives the platform moves of EVERY provider of that country (not limited by top): what a net-growth chart takes out of a provider's movers to show its organic net. A move with no attributable country is dropped, so the countries do not add up to the network. A platform move is judged per provider pair across the whole network, not per country.
country_share gives the movers of one country (the country param, else FR) among all movers of the window that have a country. This share includes the platform moves.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | How many providers keep their identity on each side. The matrix has at most `(top + 1)²` cells. | |
| days | No | The trailing window in days, ending today (UTC). | |
| country | No | Scope the matrix to one market: an ISO 3166-1 alpha-2 code (e.g. `BE`), case-insensitive. Anything that is not exactly two letters is a 400. Omit it for the whole network. |