Date de la publication : 15 septembre 2025
Lecture : 13 min
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.
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 :
Utilisez cette étape pour définir les éléments suivants :
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 !
Avant de commencer, assurez-vous de disposer des éléments suivants :
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.
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 |
ENABLE_DUO_METRICS="true"
, ENABLE_PROJECT_METRICS="false"
ENABLE_DUO_METRICS="true"
, ENABLE_PROJECT_METRICS="true"
ENABLE_DUO_METRICS="false"
, ENABLE_PROJECT_METRICS="false"
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:
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
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"
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.
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"
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" |
Une fois configuré, exécutez un pipeline planifié pour générer votre analyse :
Après l'exécution réussie du pipeline planifié, GitLab Pages déploie automatiquement vos tableaux de bord :
https://your-username.gitlab.io/project-name/existing-metrics/
https://your-username.gitlab.io/project-name/duo-metrics/
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 :
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
La solution exploite plusieurs API GitLab pour collecter des données d'utilisation complètes :
# 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
# 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
query: |
{
aiMetrics(from: "2024-01-01", to: "2024-06-30") {
codeSuggestions {
shownCount
acceptedCount
}
duoChatContributorsCount
duoAssignedUsersCount
}
}
# Purpose: Gets pre-calculated metrics for trend analysis
url: "{GITLAB_URL}/api/v4/usage_data/service_ping"
# Purpose: Collects instance-wide usage statistics
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.
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.
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.