Date de la publication : 15 septembre 2025

Lecture : 13 min

Mesurez le ROI de l'IA à grande échelle avec GitLab Duo Analytics

Découvrez comment transformer des données d'utilisation brutes en informations exploitables et en calculs de ROI à l’aide de ce tutoriel.

L'investissement dans l'IA commence par la mesure. Pour construire une plateforme de développement alimentée par l'IA, il faut tout d'abord comprendre l'utilisation réelle, les modèles d'adoption et la valeur métier quantifiable, notamment le retour sur investissement (ROI) de GitLab Duo Enterprise.

Pour aider nos clients à maximiser leurs investissements dans l'IA, nous avons développé la solution GitLab Duo Analytics dans le cadre de notre programme d'accélération GitLab Duo. GitLab Duo Analytics est une solution complète et orientée client qui transforme les données d'utilisation brutes en données métiers exploitables et mesure le ROI. Il s’agit d’un outil d'accompagnement spécialisé que nous avons créé pour répondre aux besoins d'analyse immédiats des entreprises, qui calculent de plus en plus la productivité de l'IA dans son ensemble.

Ces données de base aident à transformer l'IA en profondeur. Par exemple, les entreprises peuvent les utiliser pour optimiser l’attribution des licences, identifier les cas d’utilisation à forte valeur ajoutée et élaborer des business cases convaincants pour renforcer l'adoption de l'IA au sein des équipes de développement.

Une grande entreprise du secteur financier a collaboré avec l’un de nos Customer Success Architect dans le cadre du programme d'accélération GitLab Duo afin d’obtenir une visibilité sur son investissement GitLab Duo Enterprise. Ensemble, ils ont mis en œuvre une solution d'analyse hybride qui combine la collecte mensuelle de données avec une intégration API en temps réel, afin de créer une base évolutive pour mesurer les gains de productivité de l'IA et optimiser l'utilisation des licences à l'échelle de l'entreprise.

Mesurer le ROI de l'IA dans le développement d'entreprise

Avant de mettre en œuvre une solution d'analyse, il est essentiel de comprendre comment vous évaluez votre utilisation de l'IA.

Posez-vous les questions suivantes :

  • Quelles fonctionnalités de GitLab Duo doivent être évaluées ? (Suggestions de code, assistance par chat, scanning de sécurité) ?
  • Qui utilise l'IA au sein de votre entreprise ? (Développeurs, équipes de sécurité, ingénieurs DevOps) ?
  • Quels indicateurs métiers sont importants pour votre entreprise ? (Gain de temps, gains de productivité, optimisation des coûts) ?
  • Comment fonctionne votre collecte de données actuelle (Exports manuels, intégration API, outils existants) ?

Utilisez cette étape pour définir les éléments suivants :

  • Votre framework de calcul du ROI
  • Vos indicateurs clés de performance (KPI)
  • Votre stratégie de collecte de données
  • Vos exigences de reporting des parties prenantes

Exemple de framework de calcul du ROI

Exemple de framework de calcul du ROI

Guide de mise en œuvre étape par étape

Veuillez noter que la solution ci-dessous décrit une approche open source que vous pouvez déployer gratuitement dans votre propre environnement. Téléchargez, personnalisez et exécutez cette solution dès maintenant !

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Instance GitLab avec GitLab Duo activé
  • Token API GitLab avec autorisations de lecture
  • Accès pour configurer les variables CI/CD de GitLab
  • Connaissances de base des pipelines CI/CD de GitLab

1. Configurer et paramétrer l'environnement initial

Configurez l'environnement du projet en clonant d'abord le dépôt.

git clone https://gitlab.com/gitlab-org/professional-services-automation/tools/utilities/gitlab-graphql-api.git
cd gitlab-graphql-api

Effectuez un push vers votre propre instance GitLab ou votre espace de nommage, puis accédez à votre projet dans GitLab pour configurer les variables CI/CD.

2. Configurer les variables de contrôle du pipeline

Contrôlez quels pipelines d’analyse s'exécutent en définissant les variables CI/CD du projet. Allez dans Paramètres du projet → CI/CD → Variables et ajoutez :

Variable Défaut Description
ENABLE_DUO_METRICS "true" Activer/désactiver le pipeline de métriques GitLab Duo AI
ENABLE_PROJECT_METRICS "false" Activer/désactiver le pipeline de métriques de projet traditionnel

Exemples de configurations :

  • Configurer GitLab Duo uniquement : ENABLE_DUO_METRICS="true", ENABLE_PROJECT_METRICS="false"
  • Configurer les deux tableaux de bord : ENABLE_DUO_METRICS="true", ENABLE_PROJECT_METRICS="true"
  • Tout désactiver : ENABLE_DUO_METRICS="false", ENABLE_PROJECT_METRICS="false"

3. Configurer l’ingestion des données

Configurez l'ingestion des données dans votre fichier .gitlab-ci.yml. Cette action crée des métadonnées de projet brutes partagées entre les métriques.

Variables de configuration de base :

variables:
  GROUP_PATH: "gitlab-org/professional-services-automation"  # Your group path
  INCLUDE_SIMPLE_FIELDS: "fullPath,name,description"  # Fields to fetch
  ARGUMENT_FIELDS: "mergeRequests"  # Argument fields requiring additional config
  LIMIT: "100"  # Projects per API call
  MAX_ITERATIONS: "2"  # Maximum API calls (for testing)
  GITLAB_GRAPHQL_API_VERSION: "0.1.0"  # API version from Package Registry

Configurer les champs d'argument pour des métriques spécifiques :

Pour chaque métrique que vous souhaitez collecter, définissez des variables de champ d'argument :

# Example: Merged Merge Requests
ARGUMENT_FIELD_1_NAME: "mergeRequests"
ARGUMENT_FIELD_1_FILTER_NAME: "state"
ARGUMENT_FIELD_1_FILTER_VALUE: "merged"
ARGUMENT_FIELD_1_RETURN_VALUES: "count totalTimeToMerge"

# Example: Packages Count
ARGUMENT_FIELD_2_NAME: "packages"
ARGUMENT_FIELD_2_RETURN_VALUES: "count"

4. Configurer l'agrégation des métriques

Après l'ingestion des données, configurez les règles d'agrégation dans .gitlab/Schedule.gitlab-ci.yml pour chaque métrique que vous souhaitez générer.

Exemple de configuration de job de métrique :

process_average_time_to_merge:
  <<: *process_data_template
  stage: process_data
  variables:
    METRIC_NAME: "9_Average_Time_To_Merge"
    BUSINESS_LEVEL_START: 2
    BUSINESS_LEVEL_END: 4
    AGGREGATE_COLUMNS: "mergeRequests_state_merged_totalTimeToMerge:sum mergeRequests_state_merged_count:sum"
    NEW_COLUMN_NAME: "average_time_to_merge_days"
    NEW_COLUMN_FORMULA: "mergeRequests_state_merged_totalTimeToMerge / mergeRequests_state_merged_count / (24 * 60 * 60)"
    SORT_BY: "average_time_to_merge_days"
    FILTER_CONDITION: "mergeRequests_state_merged_count >= 5"

Variables requises pour chaque métrique :

Variable Description Exemple
METRIC_NAME Nom de la métrique (utilisé dans le nommage des fichiers) "9_Average_Time_To_Merge"
BUSINESS_LEVEL_START Niveau de départ pour la hiérarchie métier 1
BUSINESS_LEVEL_END Niveau final pour la hiérarchie métier 3
AGGREGATE_COLUMNS Colonnes à agréger avec fonction "mergeRequests_state_merged_count:sum"
SORT_BY Colonne pour trier les résultats "average_time_to_merge_days"

5. Exécuter le pipeline planifié pour configurer l’analyse

Une fois configuré, exécutez un pipeline planifié pour générer votre analyse :

  1. Allez dans CI/CD → Planifications
  2. Créez une nouvelle planification ou exécutez-en une existante
  3. Le pipeline va automatiquement :
  • Ingérer les données selon votre configuration
  • Agréger les métriques selon vos règles
  • Déployer les tableaux de bord sur GitLab Pages

6. Accéder à vos tableaux de bord d’analyse

Après l'exécution réussie du pipeline planifié, GitLab Pages déploie automatiquement vos tableaux de bord :

  • Tableau de bord des métriques de projet: https://your-username.gitlab.io/project-name/existing-metrics/
  • Tableau de bord des métriques GitLab Duo: https://your-username.gitlab.io/project-name/duo-metrics/
  • Page d'accueil principale: https://your-username.gitlab.io/project-name/

La page d'accueil principale détecte automatiquement quels tableaux de bord sont disponibles et affiche les liens appropriés.

Vous verrez les éléments suivants :

  • Utilisation des licences : nombre total d’utilisateurs sous licence par rapport au nombre d’utilisateurs actifs (avec analyse des suggestions de code)

Tableau de bord de GitLab Duo Analytics

  • Analyse de GitLab Duo Chat : utilisateurs uniques de GitLab Duo Chat, moyenne des événements du chat sur 90 jours et taux d'adoption du chat

  • Analyse d'engagement de GitLab Duo : catégorisation de l'utilisation de GitLab Duo pour un groupe d'utilisateurs comme Fort (10+ suggestions), Moyen (5-9) ou Faible (1-4) selon les modèles d'utilisation

Analyse de GitLab Duo Chat sur les 90 derniers jours

  • Analyse de l'utilisation : suggestions de code par langage de programmation (répartition par langage), analyse des performances des langages de suggestions de code (taux d'acceptation et de rejet)

Vue d'adoption de l'analyse de l'utilisation de GitLab Duo

Analyse des performances par langage

  • Tendances hebdomadaires de GitLab Duo Chat : modèles d'utilisation de GitLab Duo Chat

Tendances d'utilisation quotidienne de GitLab Duo Chat

Les fonctionnalités du tableau de bord incluent :

  • L’analyse de l'utilisation des licences - Suivi des utilisateurs sous licence par rapport aux utilisateurs actifs
  • Analyse des suggestions de code - Suivi des taux d'acceptation et de la répartition des langages
  • Analyse de GitLab Duo Chat - Affichage des interactions par chat et des taux d'adoption
  • Analyse de l’engagement des utilisateurs - Catégorisation des utilisateurs par niveau d'activité
  • Analyse des performance par langage - Analyse des taux d'acceptation par langage de programmation

7. Comprendre les API utilisées

La solution exploite plusieurs API GitLab pour collecter des données d'utilisation complètes :

API pour collecter les données d'utilisation de l'IA (aiUsageData)

# Fetches individual code suggestion events
query: |
  {
    group(fullPath: "your-group") {
      aiUsageData {
        codeSuggestionEvents {
          event         # ACCEPTED or SHOWN
          timestamp     # When it happened
          language      # Programming language
          suggestionSize # SINGLE_LINE or MULTI_LINE
          user { username }
        }
      }
    }
  }
# Purpose: Tracks every code suggestion shown or accepted by developers

API pour collecter les utilisateurs du module d'extension GitLab Self-Managed

# Gets licensed user information
query: |
  {
    selfManagedAddOnEligibleUsers(
      addOnType: DUO_ENTERPRISE
      filterByAssignedSeat: "Yes"
    ) {
      user {
        username
        lastDuoActivityOn
      }
    }
  }
# Purpose: Identifies who has licenses and when they last used Duo

API pour collecter les métriques d'IA

query: |
  {
    aiMetrics(from: "2024-01-01", to: "2024-06-30") {
      codeSuggestions {
        shownCount
        acceptedCount
      }
      duoChatContributorsCount
      duoAssignedUsersCount
    }
  }
# Purpose: Gets pre-calculated metrics for trend analysis

API pour collecter le Ping de Service (REST)

url: "{GITLAB_URL}/api/v4/usage_data/service_ping" 
# Purpose: Collects instance-wide usage statistics 

Mise en pratique complète

Pour démontrer la puissance de cette solution d'analyse intégrée, parcourons ensemble toutes les étapes d'une implémentation complète, du déploiement initial au calcul automatisé du ROI.

Commencez par déployer la solution conteneurisée dans votre environnement avec la configuration Docker fournie. En quelques minutes, l'API d'analyse et le tableau de bord React seront opérationnels localement.

L'architecture de données hybride commence immédiatement à collecter des métriques à partir de vos exports CSV mensuels existants et établit des connexions GraphQL en temps réel vers votre instance GitLab.

Automatisation via les scripts Python

Cette approche déploie toute sa puissance lorsque vous exploitez les scripts Python pour automatiser l'ensemble du workflow de collecte et de traitement des données. La solution comprend des scripts Python complets qui peuvent être facilement personnalisés et planifiés.

Intégration GitLab CI/CD

Pour une automatisation à l'échelle de l'entreprise, intégrez ces scripts Python dans des pipelines CI/CD planifiés. Cette approche exploite votre infrastructure GitLab existante et garantit une collecte de données cohérente et fiable :


# .gitlab-ci.yml example

duo_analytics_collection:
  stage: analytics
  script:
    - python scripts/enhanced_duo_data_collection.py
    - python scripts/metric_aggregations.py
    - ./deploy_dashboard_updates.sh
  schedule:
    - cron: "0 2 1 * *"  # Monthly on 1st at 2 AM
  only:
    - schedules

Cette stratégie d'automatisation transforme la collecte manuelle de données en un moteur d'analyse autonome. Vos scripts Python s'exécutent mensuellement via les pipelines CI/CD de GitLab, collectent automatiquement les données d'utilisation, calculent les métriques de ROI et mettent à jour les tableaux de bord, le tout sans intervention manuelle.

Une fois automatisée, la solution fonctionne de manière fluide : les pipelines planifiés exécutent les scripts de collecte de données Python, traitent les réponses GraphQL en indicateurs commerciaux et mettent à jour les données du tableau de bord. Vous découvrirez ainsi de véritables modèles d'utilisation dans le tableau de bord comme les volumes de suggestions de code par langage de programmation, les tendances d'adoption des utilisateurs entre les équipes et le taux d'utilisation des licences.

Dans le tableau de bord, la vue d'ensemble du ROI est ici le véritable atout. Vous y trouverez des métriques d'engagement concrètes qui peuvent être converties en impact commercial pour votre entreprise : vous découvrirez peut-être que vos utilisateurs actifs de GitLab Duo génèrent un ROI mensuel de 127 % grâce à des gains de temps et de productivité, tandis que 23 % de vos licences restent sous-utilisées.

Ces informations se traduisent immédiatement en recommandations concrètes : vous pouvez ainsi fournir des licences aux équipes les plus performantes, mettre en place une formation ciblée pour les utilisateurs avec des licences sous-utilisées et élaborer des arguments commerciaux basés sur les données pour une adoption plus large de l'IA.

Pourquoi choisir GitLab ?

La plateforme DevSecOps complète de GitLab fournit la base idéale pour l'analyse et l'évaluation de l'IA en entreprise. Avec des API GraphQL natives, un accès flexible aux données et des capacités d’IA intégrées via GitLab Duo, les entreprises peuvent centraliser l'évaluation de l'IA tout au long du cycle de développement logiciel sans perturber les workflows existants.

L'architecture ouverte de la solution permet des solutions d'analyse personnalisées comme celle développée dans le cadre de notre programme d'accélération GitLab Duo. L'engagement de GitLab en faveur d’une conception API-first signifie que vous pouvez extraire des données d'utilisation détaillées, intégrer avec les systèmes d'entreprise existants et élaborer des calculs de ROI sophistiqués qui s'alignent sur des métriques spécifiques et les exigences de création de rapports de votre organisation.

Au-delà des capacités techniques, notre approche garantit que vous ne faites pas que mettre en œuvre des outils, vous élaborez également des stratégies d'adoption de l'IA durables. Cette solution conçue spécialement dans le cadre du programme d'accélération GitLab Duo illustre parfaitement cette approche avec des conseils pratiques, des frameworks éprouvés et des solutions personnalisées qui répondent à de véritables défis comme le calcul du ROI et l'optimisation des licences.

À mesure que GitLab continue d'améliorer ses capacités d'analyse avec l'IA native, cette approche n'en est que plus précieuse. Les frameworks de calcul, les indicateurs clés de performance et les processus de collecte de données établis via des solutions d'analyse personnalisées s'intègrent de manière transparente aux fonctionnalités natives améliorées et garantissent que votre investissement dans l'évaluation de l'IA évolue au même rythme que GitLab.

Essayez GitLab Duo dès aujourd'hui

Le calcul du ROI de l'IA n'est qu’un début. Avec les fonctionnalités de GitLab Duo, vous pouvez obtenir une analyse complète qui suit non seulement l'utilisation de l'IA, mais sert aussi de base pour une optimisation basée sur les données. Cette base peut ensuite évoluer avec la croissance de votre entreprise et avec les capacités d'IA en pleine expansion de GitLab.

La solution d'analyse développée dans le cadre du programme d'accélération de GitLab Duo démontre comment les partenariats axés sur la réussite client peuvent apporter une valeur immédiate et des avantages stratégiques à long terme. Du déploiement initial au calcul du ROI à l'échelle de l'entreprise, cette solution offre la visibilité et les données nécessaires pour maximiser les investissements dans l’IA et favoriser son adoption durable.

La combinaison de l'automatisation Python, de l'intégration GitLab CI/CD et de l'analyse sur mesure crée un avantage concurrentiel qui s'étend bien au-delà de la productivité individuelle des équipes de développement. Elle permet une prise de décision stratégique, optimise l'allocation des ressources et fournit des arguments commerciaux convaincants pour un investissement et une expansion continus de l'IA.

L'avenir du développement alimenté par l'IA est basé sur les données, et commence par une évaluation approfondie. Que vous commenciez votre parcours dans l’IA ou que vous optimisiez des investissements existants, GitLab fournit à la fois la plateforme et la base du partenariat nécessaires pour réussir.

Lancez-vous dès aujourd'hui avec GitLab Duo et profitez d'un essai gratuit de GitLab Ultimate avec GitLab Duo Enterprise.

Votre avis nous intéresse

Cet article de blog vous a plu ou vous avez des questions ou des commentaires ? Partagez vos réflexions en créant un sujet dans le forum de la communauté GitLab.
Share your feedback

Plus de 50 % des entreprises du classement Fortune 100 font confiance à GitLab

Commencez à livrer des logiciels de meilleurs qualité plus rapidement

Découvrez comment la plateforme DevSecOps intelligente

peut aider votre équipe.