Contact analytics data in the Connect Customer data lake
The following tables contain contact analytics data.
Contact Lens conversational analytics
Table name:
contact_lens_conversational_analytics
Description: Contains Contact Lens analytics data including sentiment scores, talk and non-talk time, interruptions, talk speed, and response times for voice and chat contacts.
Primary key:
instance_id, contact_id
Partition key:
disconnect_timestamp (daily)
Join keys:
instance_id— Joins to all tablescontact_id— Joins to Contact Record, Contact Statistic Record, Contact Evaluation Record, Contact Flow Events, AI Agent, AI Session, AI Prompt, AI Tool
| Column | Type | Nullable | Description |
|---|---|---|---|
| aws_account_id | string | Yes | The ID of the AWS account that owns the contact. |
| version | string | Yes | Indicates real-time or post call/chat analysis. |
| instance_id | string | No | The ID of the Connect Customer instance. |
| instance_arn | string | Yes | The ARN of the Connect Customer instance. |
| contact_id | string | No | The ID of the contact being evaluated. |
| channel | string | Yes | The method used to contact your contact center: VOICE, CHAT. |
| language_locale | string | Yes | Language used to analyze contact - AI features. |
| feature | string | Yes | Will always have the same value "contact_lens_conversational_analytics". |
| categories | array(string) | Yes | Array of categories assigned to the contact. |
| disconnect_timestamp | Timestamp | Yes | The contact disconnect Timestamp. |
| greeting_time_agent_ms | bigint | Yes | First response time of agents on chat, indicating how quickly they engage with customers after joining the chat. |
| non_talk_time_total_ms | bigint | Yes | Total non-talk time in a voice conversation. Non-talk time refers to the combined duration of hold time and periods of silence exceeding 3 seconds, during which neither the agent nor the customer is engaged in conversation. |
| talk_time_total_ms | bigint | Yes | Time that was spent talking during a voice contact across either the customer or the agent. |
| talk_time_agent_ms | bigint | Yes | Time that was spent talking during a voice contact by the agent. |
| talk_time_customer_ms | bigint | Yes | Time that was spent talking during a voice contact by the customer. |
| total_conversation_duration_ms | bigint | Yes | The total time from the start of the conversation until the last word spoken by either the agent or the customer. |
| talk_speed_agent_wpm | float | Yes | Words per minute spoken by the agent. |
| talk_speed_customer_wpm | float | Yes | Words per minute spoken by the customer. |
| interruptions_time_total_ms | bigint | Yes | Amount of time agent or customer were speaking at the same time. |
| interruptions_time_agent_ms | bigint | Yes | Amount of time the agent spoke while the customer was already speaking. |
| interruptions_time_customer_ms | bigint | Yes | Amount of time the customer spoke while the agent was already speaking. |
| interruptions_total_count | bigint | Yes | Count of times interruptions were detected during a conversation. |
| interruptions_agent_count | bigint | Yes | Count of time an agent interruption was detected during a conversation |
| interruptions_customer_count | bigint | Yes | Count of times a customer interruption was detected during a conversation |
| sentiment_overall_score_agent | float | Yes | A sentiment score is an analysis of text, and a rating of whether it includes mostly positive, negative, or neutral language. This is overall sentiment score for the agent during the call. The overall sentiment score is the average of the scores assigned during each portion of the call. |
| sentiment_overall_score_customer | float | Yes | A sentiment score is an analysis of text, and a rating of whether it includes mostly positive, negative, or neutral language. This is overall sentiment score for customer during the call. The overall sentiment score is the average of the scores assigned during each portion of the call. |
| sentiment_interaction_score_customer_with_agent | float | Yes | A sentiment score is an analysis of text, and a rating of whether it includes mostly positive, negative, or neutral language. This is sentiment score of customer with agent. |
| sentiment_interaction_score_customer_without_agent | float | Yes | A sentiment score is an analysis of text, and a rating of whether it includes mostly positive, negative, or neutral language. This is sentiment score of customer without the agent. |
| sentiment_end_score_agent | float | Yes | A sentiment score is an analysis of text, and a rating of whether it includes mostly positive, negative, or neutral language. This is sentiment score for agent at the end of the call. |
| sentiment_end_score_customer | float | Yes | A sentiment score is an analysis of text, and a rating of whether it includes mostly positive, negative, or neutral language. This is sentiment score for customer at the end of the call. |
| response_time_average_agent_ms | bigint | Yes | For chat, average time to send a response after the customers last message. |
| response_time_average_customer_ms | bigint | Yes | For chat, average time to send a response after the agents last message. |
| response_time_maximum_agent_ms | bigint | Yes | For chat, maximum time to send a response after the customers last message. |
| response_time_maximum_customer_ms | bigint | Yes | For chat, maximum time to send a response after the customers last message. |
| data_lake_last_processed_timestamp | Timestamp | Yes | Timestamp, which shows the last time the data lake processed the record. This can include transformation and backfill. This field cannot reliably be used to determine data freshness. |
Contact evaluation record
Table name:
contact_evaluation_record
Description: Stores contact evaluation data at the form, section, and question level, including scores, answers, and generative AI automation results for quality management.
Primary key:
evaluation_id, item_reference_id, instance_id
Partition key:
initiation_timestamp (daily)
Join keys:
instance_id— Joins to all tablescontact_id— Joins to Contact Record, Contact Statistic Record, Contact Lens, Contact Flow Eventsuser_id— Joins to Agent Statistic Record, Agent Queue Statistic Record, Agent Event, usersevaluator_id— Joins to Agent Statistic Record, Agent Event, users (asuser_id)queue_id— Joins to Contact Record, Contact Statistic Record, Agent Queue Statistic Record
| Column | Type | Nullable | Description |
|---|---|---|---|
| aws_account_id | string | Yes | The ID of the AWS account that owns the contact. |
| instance_id | string | No | The identifier of the Connect Customer instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. |
| evaluation_id | string | No | primary key, ID of the evaluation to disambiguate multiple evaluations done of the call with the same form (by different evaluators). |
| item_reference_id | string | No | primary key - may represent form/ section/ sub-section/ question depending on type. |
| item_type | string | Yes | Defines "Form/Section/sub-section/question or indicates a deleted record. |
| contact_id | string | Yes | The ID of the contact being evaluated. |
| evaluation_submitted_timestamp | Timestamp | Yes | Timestamp when contact was evaluated. |
| score | double | Yes | Score in percentage value for forms/sections/questions. |
| weighted_score | double | Yes | Score adding up to 100% of form, for example, 2 sections - one of 80, other out of 20. |
| automatic_fail | Boolean | Yes | Boolean to indicate if automatic fail was applied. |
| evaluator_id | string | Yes | user_ID of evaluator. |
| numeric_answer | double | Yes | Value for question where answer type is numeric. |
| answer_reference_id | string | Yes | for single select answer type. |
| to_delete | Boolean | Yes | Set to true if Form/Section/sub-section/question was deleted. |
| disconnect_timestamp | Timestamp | Yes | The contact disconnect Timestamp. |
| initiation_timestamp | Timestamp | Yes | The contact initiation Timestamp. |
| user_id | string | Yes | The user_id of person being evaluated. |
| queue_id | string | Yes | The queue_id of queue which contact was handled from. |
| channel | string | Yes | The method used to contact your contact center: VOICE, CHAT, TASK, EMAIL. |
| contact_aggregation_timestamp | Timestamp | Yes | Timestamp used for building aggregated agent, queue and weekly aggregation tables. |
| evaluated_contact_with_status | string | Yes | The connection status of the evaluated contact at the time
of evaluation. Valid Values: disconnected | notDisconnected.
disconnected indicates the evaluated contact had
ended (a disconnect timestamp exists). notDisconnected
indicates the evaluated contact was still active at the time of
evaluation (no disconnect timestamp). |
| evaluation_source | string | Yes | Indicates the origin of the evaluation process. This field indicates whether the evaluation was performed manually, with the assistance of automation or entirely automatically (without human review before submission). Assistance of automation encompasses pre-configured automation to answer a question (for example, auto-filling an answer based on a Contact Lens category) or asking AI for assistance while evaluating the contact. |
| resubmitted | Boolean | Yes | Indicates whether the evaluation has been resubmitted. This field helps quickly identify evaluations which were resubmitted to perform audits of the evaluation process. |
| evaluation_type | string | Yes | Helps distinguish between different types of evaluations, such as standard evaluations and calibration evaluations. This provides the ability to only include relevant types of evaluations while performing analysis, for example, only standard evaluations should be used to calculate the aggregated score of an agent. |
| calibration_session_id | string | Yes | Holds a unique identifier for a calibration session. This field is essential for identifying evaluations associated with a calibration session. |
| item_title | string | Yes | Column captures the title of the form item. This can be a form,
section, subsection or question title depending on
item_type. |
| form_version | string | Yes | Indicates the version number of the evaluation form used. This field helps identify different versions of the evaluation form for analysis and reporting. |
| acknowledgement_status | string | Yes | Acknowledgement status of the evaluation. Valid values:
ACKNOWLEDGED|UNACKNOWLEDGED
|
| acknowledger_id | string | Yes |
user_id of the person who acknowledged the evaluation.
|
| evaluation_acknowledged_timestamp | Timestamp | Yes | Timestamp when the evaluation was acknowledged. |
| acknowledger_comment | string | Yes | Comment left by the user who acknowledged the evaluation. |
| item_disabled | Boolean | Yes | The itemDisabled column indicates whether the item is in the disabled state at the time of submission from a condition defined in the evaluation form. |
| data_lake_last_processed_timestamp | Timestamp | Yes | Timestamp, which shows the last time the data lake processed the record. This can include transformation and backfill. This field cannot reliably be used to determine data freshness. |
| multi_select_answer_reference_ids | array(string) | Yes | Value for question where answer type is multi-select. |
| date_time_answer | Timestamp | Yes | Value for question where answer type is dateTime. |
| evaluated_participant_role | string | Yes | The role of the evaluated contact participant. |
| evaluated_participant_id | string | Yes | The ID of the evaluated contact participant. |
| is_sampled | Boolean | Yes | Whether the evaluation was created by a sampling job. |
| is_reviewed | Boolean | Yes | Indicates that the evaluation was reviewed. |
| automation_gen_ai_text_answer | string | Yes | The generative AI-generated answer for an evaluation question where the answer type is text. |
| automation_gen_ai_answer_reference_id | string | Yes | The reference ID of the generative AI-generated answer for an evaluation question where the answer type is single select. |
| automation_gen_ai_answer_justification | string | Yes | The justification provided by generative AI for its automated evaluation answer. |
| is_automation_answer_accepted | Boolean | Yes | Indicates whether the generative AI-generated answer was accepted and used as the final answer for the evaluation question. |
| earned_points | bigint | Yes | The total points earned for a question, section, or form. |
| max_base_point | bigint | Yes | The maximum base points that can be earned for a question, section, or form, excluding bonus points. |
| performance_category | string | Yes | The performance category for a question, section, or form. Valid values: NEEDS_IMPROVEMENT | EXCEEDS_EXPECTATION. |