Aller au contenu
Forma Roblox

Rechercher dans la formation

Module 09 · Analytics

Examen du module 9 : Analytics

Rétention, engagement, monétisation et événements personnalisés : vérifie que tu sais lire les chiffres de ton jeu et instrumenter l’Obby des Nuages.

Ton meilleur résultat : Pas encore tenté

Questions de l’examen

17 questions · réussite à partir de 70 % · réponds à tout puis corrige

  1. Question 1QCMTu veux savoir si tes nouveaux joueurs arrivent surtout par les recommandations de la page d’accueil ou par la recherche. Quelle page du tableau de bord ouvres-tu ?
  2. Question 2Vrai ou fauxTon benchmark de rétention D1 affiche la fourchette 9 % – 14 % (50e–90e percentile). Cela signifie que la moitié des jeux similaires ont une D1 de 9 % ou moins.
  3. Question 3QCMTon jeu reçoit une quinzaine de nouveaux joueurs par jour. Le lendemain d’une petite mise à jour, ta D1 passe de 20 % à 27 %. Que faut-il en penser ?
  4. Question 4QCMExemple fictif : 500 joueurs découvrent l’Obby des Nuages le 5 octobre. 25 d’entre eux reviennent le 12 octobre. Quelle est la rétention D7 de cette cohorte ?
  5. Question 5Vrai ou fauxSelon la page Retention de Roblox, la rétention D30 compte les nouveaux joueurs revenus au moins une fois à n’importe quel moment pendant leurs 30 premiers jours.
  6. Question 6QCMSelon la grille de lecture de Roblox, quel indicateur reflète le mieux la qualité de ton onboarding et de ton tout premier contact avec le joueur ?
  7. Question 7QCMTon jeu affiche 2 000 DAU, mais jamais plus de 80 joueurs connectés en même temps. Comment l’expliquer ?
  8. Question 8Vrai ou fauxSi chaque joueur ne fait qu’une seule session par jour, la durée moyenne de session et le temps de jeu moyen par joueur de cette journée sont égaux.
  9. Question 9QCMExemple fictif : ton taux de conversion est de 4 % et ton ARPPU de 50 Robux. Quel est ton ARPDAU ?
  10. Question 10Trouve le bugCette fonction (à lancer dans la Command Bar) doit afficher le taux de conversion d’une journée. Où est le bug ?
    local function tauxDeConversion(dau: number, payeurs: number): number
    	if dau == 0 then
    		return 0
    	end
    	return dau / payeurs * 100
    end
    
    print(tauxDeConversion(1000, 20) .. " %")
  11. Question 11Vrai ou fauxAu moment de la rédaction, les Premium Payouts (paiements selon le temps de jeu des abonnés Premium) sont toujours le programme en vigueur pour récompenser l’engagement.
  12. Question 12QCMQuelles affirmations sur AnalyticsService sont exactes ? (plusieurs réponses possibles)

    Plusieurs réponses possibles : coche toutes les bonnes.

  13. Question 13Trouve le bugCe Script serveur doit enregistrer la première étape de l’entonnoir d’onboarding. Où est le bug ?
    local AnalyticsService = game:GetService("AnalyticsService")
    local Players = game:GetService("Players")
    
    local ETAPES = { "Arrivée", "Personnage apparu", "Checkpoint 1" }
    
    Players.PlayerAdded:Connect(function(player)
    	AnalyticsService:LogOnboardingFunnelStepEvent(player, 0, ETAPES[1])
    end)
  14. Question 14Trouve le bugCette fonction serveur enregistre une mort avec l’étape du joueur dans un custom field. Où est le bug ?
    local AnalyticsService = game:GetService("AnalyticsService")
    local CHAMP_ETAPE = Enum.AnalyticsCustomFieldKeys.CustomField01.Name
    
    local function signalerMort(player: Player, etape: number)
    	AnalyticsService:LogCustomEvent(player, "Mort", 1, {
    		[CHAMP_ETAPE] = etape,
    	})
    end
  15. Question 15QCMExemple fictif d’entonnoir d’onboarding : Arrivée 800, Personnage apparu 770, Checkpoint 1 380, Checkpoint 2 350, Checkpoint 3 330. Où faut-il concentrer tes efforts en priorité ?
  16. Question 16Trouve le bugTrouve la faille dans ce code généré par IA. La boutique appelle cette fonction quand un joueur demande un achat (le prix vient du Catalogue du serveur). Dans la page Economy, tu vois plus d’achats que de traînées réellement vendues. Pourquoi ?
    local AnalyticsService = game:GetService("AnalyticsService")
    
    -- Appelée par la boutique (Script serveur) quand un joueur demande un achat
    local function traiterAchat(player: Player, pieces: IntValue, idObjet: string, prix: number)
    	pcall(function()
    		AnalyticsService:LogEconomyEvent(player, Enum.AnalyticsEconomyFlowType.Sink, "Pieces", prix,
    			pieces.Value - prix, Enum.AnalyticsEconomyTransactionType.Shop.Name, idObjet)
    	end)
    	if pieces.Value < prix then
    		return -- solde insuffisant : achat refusé
    	end
    	pieces.Value -= prix
    	-- (ajout de la traînée à l'inventaire)
    end
  17. Question 17Améliore ce promptTu veux que Claude Code ajoute un entonnoir de boutique (ouvrir la boutique, voir une traînée, l’acheter), que le même joueur peut parcourir plusieurs fois. Quelle version du prompt est la meilleure ?
    Le prompt de départ
    fais un funnel pour la boutique

    Choisis la meilleure version de ce prompt.

← Retour au module 09