Rendre compte régulièrement d'indicateurs métier clés fait partie des missions essentielles de nombreux analystes. Réalisé avec rigueur et sans erreur, ce travail apporte une forte valeur à votre organisation pour éclairer les décisions. Mais à quel prix ? Trop souvent, vous devez enchaîner des étapes manuelles pour collecter les données, construire le rapport avec les indicateurs clés de performance et le partager aux parties prenantes. Un processus à la fois chronophage et source d'erreurs.
Heureusement, il existe mieux : vous pouvez tirer parti des capacités de planification de DataCamp Workspace pour générer automatiquement des rapports sur vos indicateurs métier, avec des visualisations parlantes. Vous gagnez du temps et réduisez le risque d'erreurs dans votre processus de reporting.
Dans cet article, nous allons illustrer ce flux de travail en lançant, à intervalle régulier, un rapport sur des données de marché boursier (car de nouvelles données arrivent presque chaque jour) afin que le notebook reflète toujours les derniers mouvements du marché.
Vous préférez le format vidéo ? DataCamp a animé un code along sur le même sujet, en configurant un reporting automatisé sur des ventes de vélos stockées dans une base de données Microsoft SQL Server. Vous pouvez revoir ce code along en suivant ce lien.
Créer le rapport
Pour commencer, nous devons créer un nouveau projet de données dans Workspace (appelé un workspace) qui effectuera les opérations à automatiser à l'étape suivante. Pour ce tutoriel, nous allons travailler avec des données de marché boursier, car elles sont publiques et régulièrement mises à jour. Ainsi, notre rapport évoluera dans le temps.
Le plus simple est de dupliquer un workspace qui contient déjà tout le code. Si vous souhaitez tout faire vous-même, créez un nouveau workspace à partir de zéro et ajoutez une cellule de code Python qui importe des données boursières et les visualise :
import pandas as pd
import plotly.express as px
import yfinance as yf
# Define how many stock I own of each ticker
holdings = {
'AAPL': 16,
'TSLA': 15,
'TEAM': 7,
}
# Get the data
tickers = list(holdings.keys())
data = yf.download(tickers, start="2023-01-01")
# Wrangle the data
adj_close = data['Adj Close'].reset_index()
adj_close_long = pd.melt(
adj_close,
id_vars='Date',
value_vars=tickers,
var_name='ticker',
value_name='adj_close'
)
adj_close_long['total_value'] = adj_close_long['adj_close'] * adj_close_long['ticker'].map(holdings)
adj_close_long
# Show the position values for stocks in my portfolio
fig = px.line(
adj_close_long, x='Date', y='total_value', color='ticker'
)
fig.update_layout(
title="Position values for for stocks in my portfolio",
yaxis_title="Position Value",
xaxis_title="Date"
)
fig.show()
Une explication détaillée de ce code dépasse le cadre de cet article ; l'objectif est simplement d'avoir du code Python opérationnel pour pouvoir le planifier à l'étape suivante. Vous pouvez vérifier que le code de votre notebook Workspace s'exécute correctement en cliquant sur le bouton « Run » en haut. Vous devriez voir apparaître un superbe graphique plotly :

Automatiser le rapport
Maintenant que nous avons un workspace avec du code Python, configurons-le pour qu'il s'exécute selon une planification récurrente. Ouvrez le menu « Run » et sélectionnez « Schedule run » :

Dans la fenêtre modale, vous pouvez planifier l'exécution du notebook en choisissant une fréquence quotidienne ou hebdomadaire et en précisant l'heure d'exécution. Vous pouvez également recevoir des notifications par e‑mail pour les exécutions réussies comme pour les échecs.

Pour tester, programmez votre notebook en exécution quotidienne, à une heure située dans quelques minutes, afin d'observer la planification en action.
Assistez à la magie
Si vous avez configuré le notebook pour s'exécuter dans quelques minutes, patientez un instant le temps que l'exécution planifiée démarre. À l'heure choisie, un message « Running X cells on a schedule » apparaîtra sous le bouton Run. Tout le code est réexécuté de haut en bas, et les sorties sont mises à jour si de nouvelles données sont disponibles par rapport à la dernière exécution.

Si vous avez configuré le workspace pour vous envoyer un e‑mail en cas de réussite, vous aurez également reçu un message dans votre boîte de réception :

Et voilà ! Votre notebook s'exécutera désormais chaque jour ou chaque semaine, selon votre configuration. Lorsque vous ouvrirez le workspace, il contiendra toujours les données les plus récentes. Dans cet exemple avec des données boursières, vous connaîtrez en permanence la valeur totale de votre portefeuille d'actions.
En contexte professionnel, vous pouvez combiner cette fonctionnalité avec l'un des connecteurs de données natifs de Workspace pour vous connecter par exemple à une base PostgreSQL, à un entrepôt de données Snowflake ou à un cluster Redshift, afin d'ingérer les données les plus récentes de votre entreprise et de construire des rapports pertinents à partager avec vos parties prenantes.
Depuis son lancement, les utilisateurs de Workspace ont utilisé cette fonctionnalité pour diverses tâches, notamment :
- exécuter des contrôles de validation des données lors de migrations pour garantir la cohérence entre différentes sources ;
- scraper des données à partir de pages de politiques publiques régulièrement mises à jour afin de créer des jeux de données et de suivre l'équité des nominations civiques ;
- automatiser la collecte de données et envoyer des synthèses hebdomadaires personnalisées par e‑mail aux utilisateurs d'applications SaaS en l'intégrant à des solutions comme Customer.io.
La flexibilité de Python, alliée à l'environnement de notebook entièrement configuré de Workspace, constitue une combinaison puissante. Nous avons hâte de découvrir ce que vous allez créer avec cette nouvelle fonctionnalité de Workspace !