Analyse des scores d’attribution à l’aide de Query Service
Chaque ligne des données représente une conversion, au cours de laquelle les informations des points de contact associés sont stockées sous la forme d’un tableau de structs sous la propriété touchpointsDetail
colonne .
touchpointsDetail. touchpointName
touchpointsDetail.touchPoint.mediaChannel
-
touchpointsDetail.scores.algorithmicSourced
-
touchpointsDetail.scores.algorithmicInfluenced
Recherche de vos chemins de données
Dans l’interface utilisateur de Adobe Experience Platform, sélectionnez Jeux de données dans le volet de navigation de gauche. Le Jeux de données s’affiche. Sélectionnez ensuite le Parcourir et recherchez le jeu de données de sortie pour vos scores Attribution AI.
Sélectionnez votre jeu de données de sortie. La page d’activité du jeu de données s’affiche.
Dans la page de l’activité du jeu de données, sélectionnez Prévisualisation d’un jeu de données dans le coin supérieur droit pour prévisualiser vos données et vérifier qu’elles ont été ingérées comme prévu.
Après avoir prévisualisé vos données, sélectionnez le schéma dans le rail de droite. Une fenêtre contextuelle s’affiche avec le nom et la description du schéma. Sélectionnez l’hyperlien du nom du schéma pour rediriger vers le schéma de notation.
À l’aide du schéma de notation, vous pouvez sélectionner ou rechercher une valeur. Une fois la sélection effectuée, la fonction Propriétés du champ le rail latéral s’ouvre, ce qui vous permet de copier le chemin d’accès à utiliser dans la création de requêtes.
Accès à Query Service
Pour accéder à Query Service à partir de l’interface utilisateur de Platform, commencez par sélectionner Requêtes dans le volet de navigation de gauche, puis sélectionnez l’option Parcourir . Une liste de vos requêtes précédemment enregistrées est chargée.
Ensuite, sélectionnez Créer une requête dans le coin supérieur droit. L’éditeur de requêtes se charge. À l’aide de l’éditeur de requêtes, vous pouvez commencer à créer des requêtes à l’aide de vos données de notation.
Pour plus d’informations sur Query Editor, consultez la section Guide d’utilisation de Query Editor.
Modèles de requête pour l’analyse du score d’attribution
Les requêtes ci-dessous peuvent être utilisées comme modèle pour différents scénarios d’analyse des scores. Vous devez remplacer la variable _tenantId
et your_score_output_dataset
avec les valeurs appropriées trouvées dans votre schéma de sortie de notation.
timestamp
peut être dans un format différent.Exemples de validation
Nombre total de conversions par événement de conversion (dans une fenêtre de conversion)
SELECT conversionName,
SUM(scores.firstTouch) as total_conversions,
SUM(scores.algorithmicSourced) as total_attributed_conversions
FROM
(SELECT
_tenantId.your_score_output_dataset.conversionName
as conversionName,
inline(_tenantId.your_score_output_dataset.touchpointsDetail),
timestamp as conversion_timestamp
FROM
your_score_output_dataset
)
WHERE
conversion_timestamp >= '2020-07-16'
AND
conversion_timestamp < '2020-10-14'
GROUP BY
conversionName
Nombre total d’événements de conversion uniquement (dans une fenêtre de conversion)
SELECT
_tenantId.your_score_output_dataset.conversionName as conversionName,
COUNT(1) as convOnly_cnt
FROM
your_score_output_dataset
WHERE
_tenantId.your_score_output_dataset.touchpointsDetail.touchpointName[0] IS NULL AND
timestamp >= '2020-07-16' AND
timestamp < '2020-10-14'
GROUP BY
conversionName
Exemple d’analyse des tendances
Nombre de conversions par jour
SELECT conversionName,
DATE(conversion_timestamp) as conversion_date,
SUM(scores.firstTouch) as convertion_cnt
FROM
(SELECT
_tenantId.your_score_output_dataset.conversionName as conversionName,
inline(_tenantId.your_score_output_dataset.touchpointsDetail),
timestamp as conversion_timestamp
FROM
your_score_output_dataset
)
GROUP BY
conversionName, DATE(conversion_timestamp)
ORDER BY
conversionName, DATE(conversion_timestamp)
LIMIT 20
Exemple d'analyse de distribution
Nombre de points de contact sur les chemins de conversion par type défini (dans une fenêtre de conversion)
SELECT conversionName,
touchpointName,
COUNT(1) as tp_count
FROM
(SELECT
_tenantId.your_score_output_dataset.conversionName as conversionName,
inline(_tenantId.your_score_output_dataset.touchpointsDetail),
timestamp as conversion_timestamp
FROM
your_score_output_dataset
)
WHERE
conversion_timestamp >= '2020-07-16' AND
conversion_timestamp < '2020-10-14' AND
touchpointName IS NOT NULL
GROUP BY
conversionName, touchpointName
ORDER BY
conversionName, tp_count DESC
Exemples de génération d’informations
Ventilation des unités incrémentielles par point de contact et date de conversion (dans une fenêtre de conversion)
SELECT conversionName,
touchpointName,
DATE(conversion_timestamp) as conversion_date,
SUM(scores.algorithmicSourced) as incremental_units
FROM
(SELECT
_tenantId.your_score_output_dataset.conversionName as conversionName,
inline(_tenantId.your_score_output_dataset.touchpointsDetail),
timestamp as conversion_timestamp
FROM
your_score_output_dataset
)
WHERE
conversion_timestamp >= '2020-07-16' AND
conversion_timestamp < '2020-10-14' AND
touchpointName IS NOT NULL
GROUP BY
conversionName, touchpointName, DATE(conversion_timestamp)
ORDER BY
conversionName, touchpointName, DATE(conversion_timestamp)
Ventilation des unités incrémentielles par date de point de contact et de point de contact (dans une fenêtre de conversion)
SELECT conversionName,
touchpointName,
DATE(touchpoint.timestamp) as touchpoint_date,
SUM(scores.algorithmicSourced) as incremental_units
FROM
(SELECT
_tenantId.your_score_output_dataset.conversionName as conversionName,
inline(_tenantId.your_score_output_dataset.touchpointsDetail),
timestamp as conversion_timestamp
FROM
your_score_output_dataset
)
WHERE
conversion_timestamp >= '2020-07-16' AND
conversion_timestamp < '2020-10-14' AND
touchpointName IS NOT NULL
GROUP BY
conversionName, touchpointName, DATE(touchpoint.timestamp)
ORDER BY
conversionName, touchpointName, DATE(touchpoint.timestamp)
LIMIT 20
Scores agrégés pour un certain type de point de contact pour tous les modèles de notation (dans une fenêtre de conversion)
SELECT
conversionName,
touchpointName,
SUM(scores.algorithmicSourced) as total_incremental_units,
SUM(scores.algorithmicInfluenced) as total_influenced_units,
SUM(scores.uShape) as total_uShape_units,
SUM(scores.decayUnits) as total_decay_units,
SUM(scores.linear) as total_linear_units,
SUM(scores.lastTouch) as total_lastTouch_units,
SUM(scores.firstTouch) as total_firstTouch_units
FROM
(SELECT
_tenantId.your_score_output_dataset.conversionName as conversionName,
inline(_tenantId.your_score_output_dataset.touchpointsDetail),
timestamp as conversion_timestamp
FROM
your_score_output_dataset
)
WHERE
conversion_timestamp >= '2020-07-16' AND
conversion_timestamp < '2020-10-14' AND
touchpointName = 'display'
GROUP BY
conversionName, touchpointName
ORDER BY
conversionName, touchpointName
Avancé : analyse de la longueur du chemin
Obtenez une distribution de longueur de chemin pour chaque type d’événement de conversion :
WITH agg_path AS (
SELECT
_tenantId.your_score_output_dataset.conversionName as conversionName,
sum(size(_tenantId.your_score_output_dataset.touchpointsDetail)) as path_length
FROM
your_score_output_dataset
WHERE
_tenantId.your_score_output_dataset.touchpointsDetail.touchpointName[0] IS NOT NULL AND
timestamp >= '2020-07-16' AND
timestamp < '2020-10-14'
GROUP BY
_tenantId.your_score_output_dataset.conversionName,
eventMergeId
)
SELECT
conversionName,
path_length,
count(1) as conversionPath_count
FROM
agg_path
GROUP BY
conversionName, path_length
ORDER BY
conversionName, path_length
Avancé : nombre distinct de points de contact sur l’analyse des chemins de conversion
Obtenez la distribution du nombre de points de contact distincts sur un chemin de conversion pour chaque type d’événement de conversion :
WITH agg_path AS (
SELECT
_tenantId.your_score_output_dataset.conversionName as conversionName,
size(array_distinct(flatten(collect_list(_tenantId.your_score_output_dataset.touchpointsDetail.touchpointName)))) as num_dist_tp
FROM
your_score_output_dataset
WHERE
_tenantId.your_score_output_dataset.touchpointsDetail.touchpointName[0] IS NOT NULL AND
timestamp >= '2020-07-16' AND
timestamp < '2020-10-14'
GROUP BY
_tenantId.your_score_output_dataset.conversionName,
eventMergeId
)
SELECT
conversionName,
num_dist_tp,
count(1) as conversionPath_count
FROM
agg_path
GROUP BY
conversionName, num_dist_tp
ORDER BY
conversionName, num_dist_tp
Exemple d'aplatissement du schéma et d'explosion
Cette requête aplatit la colonne struct en plusieurs colonnes uniques et éclate les tableaux en plusieurs lignes. Cela permet de transformer les scores d’attribution en un format CSV. La sortie de cette requête comporte une conversion et l’un des points de contact correspondant à cette conversion dans chaque ligne.
{COLUMN_NAME}
en plus de _tenantId
et your_score_output_dataset
. Le COLUMN_NAME
peut prendre les valeurs des noms de colonne transmis (colonnes de rapports) facultatifs qui ont été ajoutés lors de la configuration de votre modèle Attribution AI. Consultez votre schéma de sortie de notation pour trouver la variable {COLUMN_NAME}
valeurs nécessaires pour terminer cette requête.SELECT
segmentation,
conversionName,
scoreCreatedTime,
aaid, _id, eventMergeId,
conversion.eventType as conversion_eventType,
conversion.quantity as conversion_quantity,
conversion.eventSource as conversion_eventSource,
conversion.priceTotal as conversion_priceTotal,
conversion.timestamp as conversion_timestamp,
conversion.geo as conversion_geo,
conversion.receivedTimestamp as conversion_receivedTimestamp,
conversion.dataSource as conversion_dataSource,
conversion.productType as conversion_productType,
conversion.passThrough.{COLUMN_NAME} as conversion_passThru_column,
conversion.skuId as conversion_skuId,
conversion.product as conversion_product,
touchpointName,
touchPoint.campaignGroup as tp_campaignGroup,
touchPoint.mediaType as tp_mediaType,
touchPoint.campaignTag as tp_campaignTag,
touchPoint.timestamp as tp_timestamp,
touchPoint.geo as tp_geo,
touchPoint.receivedTimestamp as tp_receivedTimestamp,
touchPoint.passThrough.{COLUMN_NAME} as tp_passThru_column,
touchPoint.campaignName as tp_campaignName,
touchPoint.mediaAction as tp_mediaAction,
touchPoint.mediaChannel as tp_mediaChannel,
touchPoint.eventid as tp_eventid,
scores.*
FROM (
SELECT
_tenantId.your_score_output_dataset.segmentation,
_tenantId.your_score_output_dataset.conversionName,
_tenantId.your_score_output_dataset.scoreCreatedTime,
_tenantId.your_score_output_dataset.conversion,
_id,
eventMergeId,
map_values(identityMap)[0][0].id as aaid,
inline(_tenantId.your_score_output_dataset.touchpointsDetail)
FROM
your_score_output_dataset
)