Vinden in welke levels spelers vastlopen
Door Mike Dalton ·
Het voltooiingspercentage van een level is het aandeel van de pogingen op dat level dat spelers afmaken. Een level met een veel lager voltooiingspercentage dan de levels eromheen is waar spelers vastlopen, en vaak waar ze stoppen met spelen.
Om te laten zien hoe dat eruitziet, hebben we een voorbeeldpuzzelgame opgezet met acht levels en 120 spelers verdeeld over twee versies, 1.0.0 en 1.1.0. In versie 1.0.0 is Level 5 veel moeilijker dan de levels eromheen. Versie 1.1.0 maakt het makkelijker.
Stap 1: kies een token
Progressie-events kunnen uit de gameclient komen of van een gameserver die je zelf beheert. Gebruik een server-token als een server ze verstuurt, of een client-token als de gameclient dat doet. Maak het token aan bij Instellingen > API-tokens, waar je ook je account-id vindt.
De voorbeelden hieronder gebruiken curl met beide waarden in omgevingsvariabelen:
export GAMESTATS_TOKEN=your_api_token
export ACCOUNT_ID=your_account_id
Stap 2: verstuur een event wanneer een level begint
Stuur elke keer dat een speler een level begint een started
-event naar het endpoint voor progressie-events. Elke start is één poging, dus een speler die een level opnieuw begint, verstuurt nog een started
-event:
curl -i -X POST "https://gamestats.ai/api/v1/accounts/$ACCOUNT_ID/progression_events" \
-H "Authorization: Bearer $GAMESTATS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"player_username": "player_3e8",
"version_name": "1.0.0",
"progression_type_name": "level",
"progression_name": "Level 5",
"progression_milestone_type_name": "started",
"progression_milestone_name": "started",
"started_at": "2026-10-02T14:03:10Z",
"occurred_at": "2026-10-02T14:03:10Z",
"time_elapsed": 0
}'
progression_type_name groepeert de progressies die je wilt vergelijken, hier elk level. progression_name is het level zelf, en dat is de naam die het rapport toont. Het rapport vergelijkt mijlpaaltypes, dus gebruik voor elk level dezelfde twee, started en finished; progression_milestone_name mag de naam van het type herhalen. started_at markeert het begin van een nieuwe poging.
Een 201-antwoord betekent dat het event is geaccepteerd. Spelers, versies, levels en mijlpaaltypes worden aangemaakt bij het eerste gebruik, dus je hoeft niets vooraf te registreren.
Stap 3: verstuur een event wanneer een level is uitgespeeld
Wanneer de speler het level haalt, stuur je een finished
-event voor dezelfde speler en hetzelfde level, zonder started_at:
curl -i -X POST "https://gamestats.ai/api/v1/accounts/$ACCOUNT_ID/progression_events" \
-H "Authorization: Bearer $GAMESTATS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"player_username": "player_3e8",
"version_name": "1.0.0",
"progression_type_name": "level",
"progression_name": "Level 5",
"progression_milestone_type_name": "finished",
"progression_milestone_name": "finished",
"occurred_at": "2026-10-02T14:05:31Z",
"time_elapsed": 141
}'
Game Stats AI koppelt het event aan de meest recente poging van die speler op het level. time_elapsed is de tijd sinds het begin van de poging, hier 141 seconden. Gebruik elke eenheid die je wilt, zolang alle events dezelfde gebruiken.
Verstuur niets wanneer een speler een level verliest of opgeeft. Een poging zonder finished
-event telt als niet voltooid.
Stap 4: maak een voortgangsrapport
Kies bij Rapporten > Nieuw rapport voor Voortgangsrapport, geef het een label en kies level bij Type, started bij Van en finished bij Tot:


Het rapport toont één rij per level, gesorteerd op naam zodat Level 2 vóór Level 10 komt, met drie waarden:
| Waarde | Betekenis |
|---|---|
| Completion Rate | Het aandeel pogingen dat finishedbereikte |
| Average Time Elapsed | De gemiddelde tijd tussen starteden finishedvoor voltooide pogingen |
| # of Instances | Het aantal pogingen, inclusief nieuwe pogingen |
Stap 5: vind het level waar spelers vastlopen
Kies versie 1.0.0 in de filters van het rapport. De grafiek toont het voltooiingspercentage van elk level:


In de voorbeeldgame valt Level 5 op drie manieren op:
- Het voltooiingspercentage is 17%, terwijl alle andere levels tussen 55% en 94% liggen.
- Het heeft 99 pogingen, meer dan elk ander level, omdat spelers het opnieuw probeerden.
- Op Level 6 werden maar 19 pogingen gedaan. De meeste spelers die Level 5 bereikten, kwamen er nooit voorbij.
Voltooide pogingen duurden ook gemiddeld 141 seconden, het langst van alle levels.
Stap 6: controleer de aanpassing in de volgende versie
Versie 1.1.0 maakte Level 5 makkelijker. Kies 1.1.0 in de filters om alleen de pogingen in die versie te zien:


Het voltooiingspercentage van Level 5 steeg van 17% naar 54%, en het aantal pogingen op Level 6 steeg van 19 naar 44, dus meer spelers bereiken nu de rest van de game.
Elke poging hoort bij de versie in het started
-event. Selecteer meer dan één versie in de filters om ze samen te zien.