Aller au contenu
Blog

Rétention des joueurs FiveM : qui revient et qui a arrêté

Mesurez la rétention sur FiveM : nouveaux joueurs et revenants, rétention à 1, 7 et 30 jours, cohortes et heures de pointe, en SQL ou dans l’onglet Croissance.

Par Termi

4 min de lecture
  • Players
  • Retention
  • Analytics
Sur cette page

Un serveur FiveM à 80 joueurs en heure de pointe peut avoir l’air en bonne santé tout en perdant la plupart de ses nouveaux joueurs après une soirée. Le compteur de joueurs montre seulement qui est en ligne. La rétention montre si les gens qui vous ont trouvé la semaine dernière jouent encore, et elle révèle souvent un problème des semaines avant que le pic du soir commence à baisser.

Ce qu’il faut mesurer

  • Nouveaux joueurs et revenants par jour. Un chiffre stable fait chaque jour de nouvelles têtes veut dire que le serveur ne garde personne.
  • Rétention à 1, 7 et 30 jours. Parmi les joueurs venus pour la première fois, combien ont rejoué ce nombre de jours plus tard ou après.
  • Cohortes hebdomadaires. Les joueurs regroupés par semaine de première visite, et la part de chaque groupe qui a joué chaque semaine suivante. Une cohorte qui décroche plus vite que les autres pointe vers quelque chose qui a changé cette semaine-là.
  • Durée du premier jour. Les nouveaux joueurs qui partent en moins de 10 minutes et ne reviennent jamais sont en général restés bloqués dans la file d’attente, le créateur de personnage ou la whitelist.
  • Heures de pointe. Quand vos joueurs sont vraiment en ligne, pour que les redémarrages et les events tombent au bon moment.
  • Habitués qui ne viennent plus. Quelqu’un qui a joué quatre jours par semaine pendant un mois puis a disparu mérite un message.

Le suivre vous-même

Tout cela découle d’une seule donnée : quel joueur a joué quel jour. Une table avec une ligne par joueur et par jour suffit :

player_days.sql
CREATE TABLE player_days (
  license VARCHAR(64) NOT NULL,
  day DATE NOT NULL,
  PRIMARY KEY (license, day)
);

Remplissez-la depuis un script serveur quand un joueur se connecte. Cet exemple utilise oxmysql et la licence Rockstar du joueur comme identifiant :

server.lua
AddEventHandler('playerJoining', function()
  local license = GetPlayerIdentifierByType(source, 'license')
  if not license then return end
  MySQL.insert('INSERT IGNORE INTO player_days (license, day) VALUES (?, UTC_DATE())', { license })
end)

Un joueur qui reste en ligne après minuit UTC n’est compté que pour le jour où il s’est connecté, ce qui suffit pour la rétention. La rétention à 7 jours des nouveaux joueurs des 90 derniers jours tient alors en une requête sur MySQL ou MariaDB :

retention.sql
SELECT
  COUNT(*) AS new_players,
  SUM(last_day >= first_day + INTERVAL 7 DAY) AS back_after_7_days
FROM (
  SELECT license, MIN(day) AS first_day, MAX(day) AS last_day
  FROM player_days
  GROUP BY license
) AS players
WHERE first_day BETWEEN UTC_DATE() - INTERVAL 90 DAY
                    AND UTC_DATE() - INTERVAL 7 DAY;

Remplacez le 7 par 1 ou 30 pour les deux autres chiffres. Divisez back_after_7_days par new_players et vous avez la part.

Excluez les 7 derniers jours des nouveaux joueurs. Quelqu’un arrivé hier n’a pas encore pu revenir au bout d’une semaine, et le compter fait paraître la rétention plus mauvaise qu’elle ne l’est.

L’onglet Croissance dans FiveDock

FiveDock construit la même table à partir des connexions et déconnexions que son agent enregistre déjà pour la Black Box, et la garde 400 jours, plus longtemps que les logs. Ouvrez un serveur et choisissez l’onglet Croissance, à côté de Joueurs et Console.

  • Free affiche les nouveaux joueurs et les revenants par jour sur les 30 derniers jours.
  • City ajoute la rétention à 1, 7 et 30 jours, les cohortes hebdomadaires, la durée du premier jour des nouveaux joueurs et combien sont revenus, et un graphique des heures de pointe dans votre fuseau horaire.
  • Metro et Enterprise nomment les habitués qui ne viennent plus (quatre jours ou plus en cinq semaines, puis rien pendant 7 à 30 jours) et les ajoutent au récapitulatif hebdomadaire, à côté des resources qui ont changé sur le serveur juste avant leur départ.

Cette dernière liste sert surtout quand un nouveau script a cassé quelque chose pour un groupe de joueurs qui n’ont jamais ouvert de ticket. Le détail est sur la page des tarifs.

Questions fréquentes

Quelle est une bonne rétention pour un serveur FiveM ?

Il n’existe pas de référence commune pour FiveM. Comparez votre serveur à lui-même : la même semaine le mois dernier, ou la cohorte d’avant une grosse mise à jour. Une cohorte qui décroche plus vite que les précédentes est le signal à examiner.

Est-ce que ça marche sur un serveur avec whitelist ?

Oui, et les chiffres du premier jour y comptent encore plus. Un joueur qui a passé la whitelist puis est parti en moins de 10 minutes a en général rencontré un problème avec le créateur de personnage ou la zone de départ.

Avec quel identifiant compter les joueurs ?

La license Rockstar existe pour chaque joueur et ne change pas avec un nouveau compte Discord ou Steam. Les personnages ne sont pas des joueurs : une licence avec trois personnages reste une seule personne.

Tous les articles