help@rskworld.in +91 93305 39277
RSK World
  • Home
  • Development
    • Web Development
    • Mobile Apps
    • Software
    • Games
    • Project
  • Technologies
    • Data Science
    • AI Development
    • Cloud Development
    • Blockchain
    • Cyber Security
    • Dev Tools
    • Testing Tools
  • Blog
  • About
  • Contact

Theme Settings

Color Scheme
Display Options
Font Size
100%
Back to Project
RSK World
ecommerce-customers
RSK World
ecommerce-customers
E-commerce Customer Dataset - Customer Segmentation + Marketing Analytics + Customer Behavior Analysis
ecommerce-customers
  • __pycache__
  • .gitignore583 B
  • GITHUB_RELEASE_INSTRUCTIONS.md5.2 KB
  • ISSUES_FIXED.md4.3 KB
  • LICENSE1.4 KB
  • LICENSE.txt1.4 KB
  • README.md13.1 KB
  • RELEASE_NOTES.md5.1 KB
  • analyze_customers.py13.2 KB
  • customer_segmentation.py8.4 KB
  • ecommerce_customers.csv19.9 KB
  • generate_enhanced_dataset.py7.1 KB
  • index.html26.6 KB
  • queries.sql21.5 KB
  • requirements.txt250 B
  • test_dataset.py4 KB
  • visualize_data.py11.4 KB
test_dataset.py
test_dataset.py
Raw Download
Find: Go to:
"""
Test script to verify dataset quality
Author: RSK World
Website: https://rskworld.in
Email: help@rskworld.in
Phone: +91 93305 39277
"""

import pandas as pd
import sys

def test_dataset():
    """Test dataset for quality issues"""
    print("="*60)
    print("DATASET QUALITY CHECK")
    print("="*60)
    
    try:
        df = pd.read_csv('ecommerce_customers.csv')
        
        # Basic checks
        print(f"\n1. Basic Information:")
        print(f"   Total rows: {len(df)}")
        print(f"   Total columns: {len(df.columns)}")
        print(f"   Expected rows: 100")
        print(f"   Expected columns: 40")
        
        # Missing values
        print(f"\n2. Missing Values:")
        missing = df.isnull().sum()
        if missing.sum() == 0:
            print("   No missing values found")
        else:
            print("   Missing values found:")
            for col, count in missing[missing > 0].items():
                print(f"     {col}: {count}")
        
        # Duplicate check
        print(f"\n3. Duplicate Check:")
        duplicates = df['customer_id'].duplicated().sum()
        if duplicates == 0:
            print("   No duplicate customer IDs")
        else:
            print(f"   Found {duplicates} duplicate customer IDs")
        
        # Data type check
        print(f"\n4. Data Types:")
        print(f"   Integer columns: {(df.dtypes == 'int64').sum()}")
        print(f"   Float columns: {(df.dtypes == 'float64').sum()}")
        print(f"   Object columns: {(df.dtypes == 'object').sum()}")
        
        # Range checks
        print(f"\n5. Data Ranges:")
        print(f"   Age: {df['age'].min()}-{df['age'].max()}")
        print(f"   Spending Score: {df['spending_score'].min()}-{df['spending_score'].max()}")
        print(f"   Annual Income: ${df['annual_income'].min():,.0f}-${df['annual_income'].max():,.0f}")
        
        # Negative values check
        print(f"\n6. Negative Values Check:")
        numeric_cols = df.select_dtypes(include=['int64', 'float64']).columns
        neg_cols = []
        for col in numeric_cols:
            if (df[col] < 0).any():
                neg_cols.append(col)
        if not neg_cols:
            print("   No negative values found (all good)")
        else:
            print(f"   Columns with negative values: {neg_cols}")
        
        # Required columns check
        print(f"\n7. Required Columns Check:")
        required_cols = [
            'customer_id', 'age', 'gender', 'annual_income', 'spending_score',
            'purchase_frequency', 'avg_order_value', 'total_purchases',
            'browsing_time_minutes', 'product_category_preference', 'device_type',
            'last_purchase_days', 'segment', 'customer_lifetime_value',
            'return_rate', 'payment_method', 'newsletter_subscribed',
            'social_media_engagement', 'avg_review_rating', 'cart_abandonment_rate',
            'discount_usage_pct', 'referral_source', 'customer_satisfaction_score',
            'preferred_shopping_hour', 'mobile_app_user', 'wishlist_items',
            'customer_since_months', 'loyalty_tier', 'email_open_rate',
            'click_through_rate', 'cross_category_purchases', 'repeat_purchase_rate',
            'avg_session_duration', 'pages_per_session', 'geographic_region',
            'preferred_shipping', 'support_interactions', 'product_reviews_count',
            'social_shares', 'coupon_redemptions'
        ]
        missing_cols = [col for col in required_cols if col not in df.columns]
        if not missing_cols:
            print("   All required columns present")
        else:
            print(f"   Missing columns: {missing_cols}")
        
        print("\n" + "="*60)
        print("DATASET QUALITY CHECK COMPLETE")
        print("="*60)
        
        return True
        
    except Exception as e:
        print(f"\nError: {str(e)}")
        return False

if __name__ == "__main__":
    success = test_dataset()
    sys.exit(0 if success else 1)

107 lines•4 KB
python

About RSK World

Founded by Molla Samser, with Designer & Tester Rima Khatun, RSK World is your one-stop destination for free programming resources, source code, and development tools.

Founder: Molla Samser
Designer & Tester: Rima Khatun

Development

  • Game Development
  • Web Development
  • Mobile Development
  • AI Development
  • Development Tools

Legal

  • Terms & Conditions
  • Privacy Policy
  • Disclaimer

Contact Info

Nutanhat, Mongolkote
Purba Burdwan, West Bengal
India, 713147

+91 93305 39277

hello@rskworld.in
support@rskworld.in

© 2026 RSK World. All rights reserved.

Content used for educational purposes only. View Disclaimer