Afficher Masquer le sommaire
Découvrez comment prédire le trafic SEO de manière efficace et précise grâce à l’utilisation de Prophet et Python. Dans cet article, nous vous expliquerons comment ces outils peuvent vous aider à optimiser votre stratégie de référencement naturel et à maximiser le retour sur investissement de votre site web. Plongez dans l’univers de la prédiction du trafic SEO pour booster la visibilité en ligne de votre entreprise !
Comprendre l’importance de la prédiction du trafic SEO
Fixer des objectifs et évaluer leur réalisation au fil du temps est essentiel pour déterminer l’efficacité de votre stratégie SEO. Cela implique de faire des prévisions précises, une tâche qui peut sembler complexe. Heureusement, grâce à Python et à la bibliothèque Prophet, il est possible de simplifier ce processus et d’obtenir des prévisions fiables.
Qu’est-ce que Prophet?
Prophet est une procédure de prévision développée par l’équipe de Data Science de Facebook. Disponible en Python et en R, Prophet gère efficacement les valeurs aberrantes et les effets saisonniers pour fournir des prédictions rapides et précises. Cela en fait un outil particulièrement utile pour prévoir le trafic SEO.
Collecter des données avec Google Analytics
Extraire les données depuis un fichier Excel
La méthode la plus simple pour obtenir des données de Google Analytics est d’exporter un fichier Excel. Allez dans la section “Canaux” de la barre latérale, cliquez sur “Organique” et exportez les données en sélectionnant les sessions comme variable d’analyse.
Utiliser l’API de Google Analytics
Pour utiliser l’API de Google Analytics, créez un projet sur la console des développeurs de Google, activez le service de Reporting de Google Analytics et obtenez les identifiants. Authentifiez-vous avant de faire une requête pour obtenir les sessions organiques sur une période spécifique.
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
SCOPES = ['https://www.googleapis.com/auth/analytics.readonly']
KEY_FILE_LOCATION = 'path_to_your_key_file.json'
VIEW_ID = 'your_view_id'
credentials = ServiceAccountCredentials.from_json_keyfile_name(KEY_FILE_LOCATION, SCOPES)
analytics = build('analyticsreporting', 'v4', credentials=credentials)
response = analytics.reports().batchGet(body={
'reportRequests': [{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': '2020-09-01', 'endDate': '2021-01-31'}],
'metrics': [
{"expression": "ga:sessions"}
], "dimensions": [
{"name": "ga:date"}
],
"filtersExpression":"ga:channelGrouping=~Organic",
"includeEmptyRows": "true"
}]}).execute()
list_values = []
for x in response["reports"][0]["data"]["rows"]:
list_values.append([x["dimensions"][0], x["metrics"][0]["values"][0]])
Adapter les données pour Prophet
Pour utiliser Prophet, il est nécessaire de formater vos données dans un DataFrame avec deux colonnes nommées “ds” (date) et “y” (valeurs).
from pandas import DataFrame
# Si les données proviennent d'un fichier Excel
df["ds"] = pd.to_datetime(df["date_column"])
df["y"] = df["sessions_column"]
# Si les données proviennent de l'API Google Analytics
df_sessions = DataFrame(list_values, columns=['ds', 'y'])
df_sessions['ds'] = pd.to_datetime(df_sessions['ds'])
Entraîner le modèle
Une fois les données formatées correctement, le modèle Prophet peut être entraîné.
import fbprophet
from fbprophet import Prophet
model = Prophet()
model.fit(df_sessions)
Faire des prédictions
Après l’entraînement du modèle, il est temps de faire des prédictions. Créez une liste avec la période de temps souhaitée et ajustez le format datetime.
from pandas import to_datetime, DataFrame
forecast_days = []
for i in range(1, 28):
date = "2021-02-" + str(i)
forecast_days.append([date])
forecast_days = DataFrame(forecast_days)
forecast_days.columns = ['ds']
forecast_days['ds'] = to_datetime(forecast_days['ds'])
forecast = model.predict(forecast_days)
Évaluer le modèle
Pour évaluer l’exactitude du modèle, retirez quelques jours de la base de données, faites des prédictions pour ces jours et comparez les valeurs prédites avec les valeurs réelles. Le calcul de l’erreur absolue moyenne (MAE) est une méthode efficace d’évaluation.
from sklearn.metrics import mean_absolute_error
from numpy import array
train = df_sessions.drop(df_sessions.index[-12:])
future = df_sessions.loc[df_sessions['ds'] > train.iloc[-1]['ds']]['ds']
model = Prophet()
model.fit(train)
future = DataFrame(future)
future.columns = ['ds']
forecast = model.predict(future)
y_true = df_sessions['y'][-12:].values
y_pred = forecast['yhat'].values
mae = mean_absolute_error(y_true, y_pred)
import matplotlib.pyplot as plt
plt.plot(array(y_true), label='Actual')
plt.plot(array(y_pred), label='Predicted')
plt.legend()
plt.show()
print('Mean Absolute Error:', mae)
Source: www.oncrawl.com

