Lazy loaded image
Business
Lazy loaded imageTransaction Data Summary
Words 788Read Time 2 min
May 3, 2020
May 4, 2025
type
status
date
slug
summary
tags
category
icon
password

Transaction Data Summary

When performing user profiling analysis or any transaction-related analysis, data cleaning is an essential step. Below is a detailed explanation of transaction data summary and the data cleaning process.

1. Transaction Data Summary

Transaction data typically contains key information that records each transaction in retail, e-commerce, and other business activities. The structure usually includes customer information, transaction details, product details, and sales amounts. Common fields in transaction data include:
  • CustomerID: Unique identifier for the customer.
  • InvoiceNo: Transaction invoice number, typically used to identify each order.
  • Description: Product description.
  • Quantity: Quantity of the product purchased.
  • UnitPrice: Price per unit of the product.
  • Amount: Transaction amount, usually calculated as Quantity * UnitPrice.
  • InvoiceDate: The date and time of the transaction.
  • Country: The country or region where the customer is located.
This data helps us understand customer purchase behavior, frequency, and spending patterns, which are key for user profiling analysis.

2. Importance of Data Cleaning

Transaction data often contains issues such as missing values, duplicate records, and outliers. These issues can significantly affect the accuracy of analysis. Therefore, the purpose of data cleaning is to ensure data quality and reliability, enabling more accurate insights.

3. Data Cleaning Steps

(1) Remove Missing Values

  • Handling Missing Values: If important fields, such as CustomerID, are missing, these records should be removed since they cannot be used for analysis.Because records without a CustomerID can't be linked to a specific customer, making them useless for customer-level analysis like segmentation or RFM. For other fields, if the missing data does not impact the analysis, imputation (e.g., filling with mean or median) can be considered.
    • For example, remove records where CustomerID is missing:
Parameter
Value
Meaning
subset=['CustomerID']
A list of columns to check for missing values
Only considers missing values in the CustomerID column.
axis=0
0 refers to rows
Drop rows (not columns) with missing values.
inplace=True
Boolean
Modify df directly without needing to assign the result back (i.e., no need for df = df.dropna(...)).
(2) Remove Canceled Orders
  • Filter Canceled Orders: In e-commerce data, canceled or refunded orders should not be included in the analysis. These are typically identified by invoice numbers that start with 'C' and should be removed.
    • For example, remove orders with an invoice number starting with 'C':
      Expression
      What it does
      df['InvoiceNo']
      Accesses the InvoiceNo column from the DataFrame.
      .astype(str)
      Converts all values in InvoiceNo to strings (in case they're numeric).
      .str.startswith('C')
      Returns a Boolean Series: True for values that start with 'C'.
      ~
      Logical NOT operator: it inverts the Boolean Series (so True becomes False, and vice versa).
      df[...]
      Filters the DataFrame to include only rows where the condition is True—i.e., rows not starting with 'C'.
 

(3) Remove Duplicate Records

  • Remove Duplicates: Transaction data may contain duplicate records, which could be due to system errors or data import issues. Removing duplicates ensures that each transaction is counted only once.
    • For example, remove duplicate records:
 
 

(4) Handle Negative Values

  • Handling Negative Values: If Quantity or UnitPrice is negative, it usually indicates returns, cancellations, or data entry errors. In most cases, negative transactions should be excluded from the analysis.
    • For example, remove records where Quantity or UnitPrice is negative:

(5) Data Type Conversion

  • Convert Data Types: Some fields might not be in the correct data type needed for analysis. For instance, the InvoiceDate field should be converted to a datetime type to allow for time series analysis.
    • For example, convert InvoiceDate to datetime type:

(6) Deriving New Columns

  • Create Derived Features: Based on existing data, new features can be created to support analysis. For instance, we can derive year, month, and day from the InvoiceDate, or calculate the Amount from Quantity and UnitPrice.
    • For example, create an Amount column:

(7) Remove Outliers (Optional)

  • Outlier Detection: Outliers are data points that significantly deviate from the normal range, which may result from input errors or exceptional cases. Depending on the analysis requirements, outliers can either be removed or corrected.
    • For example, use a boxplot to check for outliers in Amount:

(8) Normalization and Standardization (Optional)

  • Normalization and Standardization: If you are planning to use the data for clustering or regression models, normalization or standardization might be required. This helps to reduce the impact of scale differences between features.
    • For example, standardize Amount and Quantity:

4. Post-Cleaning Data Checks

After cleaning the data, the following checks should be performed to ensure data quality:
  • Basic Information: Check the data types, and ensure that key columns (e.g., CustomerID) are not missing.
    • Statistical Summary: Review the statistical overview to understand the distribution of numerical features.
      • Check for Anomalies: Use visualizations (such as boxplots, scatter plots) to identify any remaining anomalies or extreme values.

      Summary

      Data cleaning is a foundational step in data analysis, especially when performing user profiling. Ensuring the quality and consistency of the data is critical for accurate results. The key steps for data cleaning typically include:
      1. Remove Missing Values: Particularly for critical fields like CustomerID.
      1. Remove Canceled Orders: Exclude records where InvoiceNo starts with 'C'.
      1. Remove Duplicate Records: Ensure that each record represents a unique transaction.
      1. Handle Negative Values: Exclude transactions with negative Quantity or UnitPrice.
      1. Convert Data Types: Ensure fields like InvoiceDate are in the correct data type.
      1. Derive New Features: For example, calculate Amount based on Quantity and UnitPrice.
      1. Remove Outliers: Optional, depending on the analysis, remove extreme values that may distort the results.
      1. Normalization/Standardization: Optional, especially if you are preparing the data for machine learning models.
      After cleaning, you should verify the data through basic checks to ensure it is ready for analysis, such as for user profiling, segmentation, RFM analysis, or predictive modeling.
      上一篇
      Common IT careers and their associated tech stacks
      下一篇
      Optimizing Business Strategy: ABC Classification, Pareto Principle, and Concentration Analysis