250.CRIMINAL ACTIVITY ANALYSIS OF DIFFERENT TYPES OF THIEVES IN INDIA (1950–2025) USING PROC PRINT | PROC SORT | PROC MEANS | PROC FREQ | PROC SQL | MACROS IN SAS

CRIMINAL ACTIVITY ANALYSIS OF DIFFERENT TYPES OF THIEVES IN INDIA (1950–2025) USING PROC PRINT | PROC SORT | PROC MEANS | PROC FREQ | PROC SQL | MACROS IN SAS

/*Creating a different types of thieves reported across India between 1950 and 2025*/

Step 1: Creating the Dataset

data thieves_india;

    infile datalines dsd dlm=' ' truncover;

    length Thief_Type $20 Region $15 Method_Used $25 Arrested_By $20 

           Items_Stolen $30 Crime_Level $10;

    input Thief_ID 

          Thief_Type :$20. 

          Region :$15. 

          Year_Caught 

          Method_Used :$25. 

          Arrested_By :$20. 

          Items_Stolen :$30. 

          Estimated_Loss 

          Crime_Level :$10.;

datalines;

1 Pickpocket South 1952 "Sneaky Hand" Police "Wallets, Watches" 2000 Minor

2 Highway_Robber North 1963 "Hold at Gunpoint" Army "Cash, Jewelry" 15000 Major

3 Cyber_Thief West 2022 "Phishing Email" Cyber_Crime "Bank Info" 500000 Major

4 Cat_Burglar East 1975 "Rope Climb" Police "Jewels" 12000 Medium

5 Con_Artist Central 1985 "Fake Identity" CID "Cash, Docs" 30000 Medium

6 Temple_Thief South 1993 "Night Break-in" Police "Idols, Donation Box" 70000 Major

7 Political_Thief North 2001 "Fund Misuse" CBI "Public Money" 5000000 Major

8 Corporate_Thief West 2018 "Data Theft" IT_Cell "Trade Secrets" 2000000 Major

9 Bank_Robber East 1970 "Gunpoint Entry" Police "Cash" 250000 Major

10 Smuggler South 1960 "Border Transport" BSF "Gold, Silver" 400000 Major

11 Art_Thief North 1999 "Forgery & Theft" Police "Paintings" 1000000 Major

12 Shoplifter West 2005 "Disguise Method" Local_Police "Electronics" 5000 Minor

13 Gang_Leader East 2011 "Armed Loot" Crime_Branch "Weapons" 800000 Major

14 Serial_Thief Central 1990 "Same Method" Police "Cash, Gold" 45000 Medium

15 Vehicle_Thief South 1987 "Lock Pick" Police "Cars, Bikes" 200000 Medium

16 Train_Thief North 1958 "Moving Robbery" RPF "Luggage, Cash" 10000 Minor

17 Kidnap_Thief West 1973 "Ransom-Based" ATS "Children" 3000000 Major

18 Fraud_Investor East 2023 "Ponzi Scheme" SEBI "Investor Money" 10000000 Major

19 Insider_Thief Central 2015 "Employee Leak" Vigilance "Company Assets" 750000 Major

20 ATM_Hacker South 2017 "Skimming Devices" Cyber_Crime "ATM Cards" 850000 Major

21 Social_Engineer North 2021 "Fake Calls" Cyber_Crime "OTP, Access" 300000 Medium

22 Relic_Thief West 1965 "Antique Loot" Police "Sculptures" 150000 Medium

23 Drug_Courier East 2008 "Hidden Packets" Narcotics "Drugs" 1000000 Major

24 Identity_Thief Central 2019 "Fake PAN/Aadhaar" Cyber_Crime "Identity Docs" 250000 Medium

25 Fake_Saint South 1995 "Blind Belief Scam" CID "Donations, Land" 600000 Major

26 Petrol_Thief North 2010 "Pump Tampering" Local_Police "Fuel" 120000 Medium

27 Forest_Looter East 1982 "Illegal Logging" Forest_Dept "Timber" 350000 Medium

28 Wildlife_Smuggler Central 2003 "Hidden Crates" Forest_Dept "Animals, Skins" 900000 Major

29 Foodgrain_Thief West 1979 "Storage Fraud" Local_Agents "Ration" 100000 Medium

30 Passport_Scammer North 2024 "Fake Visas" Immigration "Passports" 400000 Major

;

run;

proc print data=thieves_india;

run;

Output:

ObsThief_TypeRegionMethod_UsedArrested_ByItems_StolenCrime_LevelThief_IDYear_CaughtEstimated_Loss
1PickpocketSouthSneaky HandPoliceWallets, WatchesMinor119522000
2Highway_RobberNorthHold at GunpointArmyCash, JewelryMajor2196315000
3Cyber_ThiefWestPhishing EmailCyber_CrimeBank InfoMajor32022500000
4Cat_BurglarEastRope ClimbPoliceJewelsMedium4197512000
5Con_ArtistCentralFake IdentityCIDCash, DocsMedium5198530000
6Temple_ThiefSouthNight Break-inPoliceIdols, Donation BoxMajor6199370000
7Political_ThiefNorthFund MisuseCBIPublic MoneyMajor720015000000
8Corporate_ThiefWestData TheftIT_CellTrade SecretsMajor820182000000
9Bank_RobberEastGunpoint EntryPoliceCashMajor91970250000
10SmugglerSouthBorder TransportBSFGold, SilverMajor101960400000
11Art_ThiefNorthForgery & TheftPolicePaintingsMajor1119991000000
12ShoplifterWestDisguise MethodLocal_PoliceElectronicsMinor1220055000
13Gang_LeaderEastArmed LootCrime_BranchWeaponsMajor132011800000
14Serial_ThiefCentralSame MethodPoliceCash, GoldMedium14199045000
15Vehicle_ThiefSouthLock PickPoliceCars, BikesMedium151987200000
16Train_ThiefNorthMoving RobberyRPFLuggage, CashMinor16195810000
17Kidnap_ThiefWestRansom-BasedATSChildrenMajor1719733000000
18Fraud_InvestorEastPonzi SchemeSEBIInvestor MoneyMajor18202310000000
19Insider_ThiefCentralEmployee LeakVigilanceCompany AssetsMajor192015750000
20ATM_HackerSouthSkimming DevicesCyber_CrimeATM CardsMajor202017850000
21Social_EngineerNorthFake CallsCyber_CrimeOTP, AccessMedium212021300000
22Relic_ThiefWestAntique LootPoliceSculpturesMedium221965150000
23Drug_CourierEastHidden PacketsNarcoticsDrugsMajor2320081000000
24Identity_ThiefCentralFake PAN/AadhaarCyber_CrimeIdentity DocsMedium242019250000
25Fake_SaintSouthBlind Belief ScamCIDDonations, LandMajor251995600000
26Petrol_ThiefNorthPump TamperingLocal_PoliceFuelMedium262010120000
27Forest_LooterEastIllegal LoggingForest_DeptTimberMedium271982350000
28Wildlife_SmugglerCentralHidden CratesForest_DeptAnimals, SkinsMajor282003900000
29Foodgrain_ThiefWestStorage FraudLocal_AgentsRationMedium291979100000
30Passport_ScammerNorthFake VisasImmigrationPassportsMajor302024400000


Step 2: PROC PRINT — View the Dataset

proc print data=thieves_india;

    title "Complete Thief Dataset from 1950 to 2025";

run;

Output:

Complete Thief Dataset from 1950 to 2025

ObsThief_TypeRegionMethod_UsedArrested_ByItems_StolenCrime_LevelThief_IDYear_CaughtEstimated_Loss
1PickpocketSouthSneaky HandPoliceWallets, WatchesMinor119522000
2Highway_RobberNorthHold at GunpointArmyCash, JewelryMajor2196315000
3Cyber_ThiefWestPhishing EmailCyber_CrimeBank InfoMajor32022500000
4Cat_BurglarEastRope ClimbPoliceJewelsMedium4197512000
5Con_ArtistCentralFake IdentityCIDCash, DocsMedium5198530000
6Temple_ThiefSouthNight Break-inPoliceIdols, Donation BoxMajor6199370000
7Political_ThiefNorthFund MisuseCBIPublic MoneyMajor720015000000
8Corporate_ThiefWestData TheftIT_CellTrade SecretsMajor820182000000
9Bank_RobberEastGunpoint EntryPoliceCashMajor91970250000
10SmugglerSouthBorder TransportBSFGold, SilverMajor101960400000
11Art_ThiefNorthForgery & TheftPolicePaintingsMajor1119991000000
12ShoplifterWestDisguise MethodLocal_PoliceElectronicsMinor1220055000
13Gang_LeaderEastArmed LootCrime_BranchWeaponsMajor132011800000
14Serial_ThiefCentralSame MethodPoliceCash, GoldMedium14199045000
15Vehicle_ThiefSouthLock PickPoliceCars, BikesMedium151987200000
16Train_ThiefNorthMoving RobberyRPFLuggage, CashMinor16195810000
17Kidnap_ThiefWestRansom-BasedATSChildrenMajor1719733000000
18Fraud_InvestorEastPonzi SchemeSEBIInvestor MoneyMajor18202310000000
19Insider_ThiefCentralEmployee LeakVigilanceCompany AssetsMajor192015750000
20ATM_HackerSouthSkimming DevicesCyber_CrimeATM CardsMajor202017850000
21Social_EngineerNorthFake CallsCyber_CrimeOTP, AccessMedium212021300000
22Relic_ThiefWestAntique LootPoliceSculpturesMedium221965150000
23Drug_CourierEastHidden PacketsNarcoticsDrugsMajor2320081000000
24Identity_ThiefCentralFake PAN/AadhaarCyber_CrimeIdentity DocsMedium242019250000
25Fake_SaintSouthBlind Belief ScamCIDDonations, LandMajor251995600000
26Petrol_ThiefNorthPump TamperingLocal_PoliceFuelMedium262010120000
27Forest_LooterEastIllegal LoggingForest_DeptTimberMedium271982350000
28Wildlife_SmugglerCentralHidden CratesForest_DeptAnimals, SkinsMajor282003900000
29Foodgrain_ThiefWestStorage FraudLocal_AgentsRationMedium291979100000
30Passport_ScammerNorthFake VisasImmigrationPassportsMajor302024400000

Step 3: PROC SORT — Organizing the Data

proc sort data=thieves_india out=sorted_thieves;

    by Region Year_Caught;

run;


proc print data=sorted_thieves;

    title "Sorted Thieves by Region and Year Caught";

run;

Output:

Sorted Thieves by Region and Year Caught

ObsThief_TypeRegionMethod_UsedArrested_ByItems_StolenCrime_LevelThief_IDYear_CaughtEstimated_Loss
1Con_ArtistCentralFake IdentityCIDCash, DocsMedium5198530000
2Serial_ThiefCentralSame MethodPoliceCash, GoldMedium14199045000
3Wildlife_SmugglerCentralHidden CratesForest_DeptAnimals, SkinsMajor282003900000
4Insider_ThiefCentralEmployee LeakVigilanceCompany AssetsMajor192015750000
5Identity_ThiefCentralFake PAN/AadhaarCyber_CrimeIdentity DocsMedium242019250000
6Bank_RobberEastGunpoint EntryPoliceCashMajor91970250000
7Cat_BurglarEastRope ClimbPoliceJewelsMedium4197512000
8Forest_LooterEastIllegal LoggingForest_DeptTimberMedium271982350000
9Drug_CourierEastHidden PacketsNarcoticsDrugsMajor2320081000000
10Gang_LeaderEastArmed LootCrime_BranchWeaponsMajor132011800000
11Fraud_InvestorEastPonzi SchemeSEBIInvestor MoneyMajor18202310000000
12Train_ThiefNorthMoving RobberyRPFLuggage, CashMinor16195810000
13Highway_RobberNorthHold at GunpointArmyCash, JewelryMajor2196315000
14Art_ThiefNorthForgery & TheftPolicePaintingsMajor1119991000000
15Political_ThiefNorthFund MisuseCBIPublic MoneyMajor720015000000
16Petrol_ThiefNorthPump TamperingLocal_PoliceFuelMedium262010120000
17Social_EngineerNorthFake CallsCyber_CrimeOTP, AccessMedium212021300000
18Passport_ScammerNorthFake VisasImmigrationPassportsMajor302024400000
19PickpocketSouthSneaky HandPoliceWallets, WatchesMinor119522000
20SmugglerSouthBorder TransportBSFGold, SilverMajor101960400000
21Vehicle_ThiefSouthLock PickPoliceCars, BikesMedium151987200000
22Temple_ThiefSouthNight Break-inPoliceIdols, Donation BoxMajor6199370000
23Fake_SaintSouthBlind Belief ScamCIDDonations, LandMajor251995600000
24ATM_HackerSouthSkimming DevicesCyber_CrimeATM CardsMajor202017850000
25Relic_ThiefWestAntique LootPoliceSculpturesMedium221965150000
26Kidnap_ThiefWestRansom-BasedATSChildrenMajor1719733000000
27Foodgrain_ThiefWestStorage FraudLocal_AgentsRationMedium291979100000
28ShoplifterWestDisguise MethodLocal_PoliceElectronicsMinor1220055000
29Corporate_ThiefWestData TheftIT_CellTrade SecretsMajor820182000000
30Cyber_ThiefWestPhishing EmailCyber_CrimeBank InfoMajor32022500000

Step 4: PROC FREQ — Frequency Analysis

Frequency of Thief Types:

proc freq data=thieves_india;

    tables Thief_Type;

    title "Frequency of Different Thief Types";

run;

Output:

Frequency of Different Thief Types

The FREQ Procedure

Thief_TypeFrequencyPercentCumulative
Frequency
Cumulative
Percent
ATM_Hacker13.3313.33
Art_Thief13.3326.67
Bank_Robber13.33310.00
Cat_Burglar13.33413.33
Con_Artist13.33516.67
Corporate_Thief13.33620.00
Cyber_Thief13.33723.33
Drug_Courier13.33826.67
Fake_Saint13.33930.00
Foodgrain_Thief13.331033.33
Forest_Looter13.331136.67
Fraud_Investor13.331240.00
Gang_Leader13.331343.33
Highway_Robber13.331446.67
Identity_Thief13.331550.00
Insider_Thief13.331653.33
Kidnap_Thief13.331756.67
Passport_Scammer13.331860.00
Petrol_Thief13.331963.33
Pickpocket13.332066.67
Political_Thief13.332170.00
Relic_Thief13.332273.33
Serial_Thief13.332376.67
Shoplifter13.332480.00
Smuggler13.332583.33
Social_Engineer13.332686.67
Temple_Thief13.332790.00
Train_Thief13.332893.33
Vehicle_Thief13.332996.67
Wildlife_Smuggler13.3330100.00

Frequency by Region:

proc freq data=thieves_india;

    tables Region;

    title "Thief Cases by Region";

run;

Output:

Thief Cases by Region

The FREQ Procedure

RegionFrequencyPercentCumulative
Frequency
Cumulative
Percent
Central516.67516.67
East620.001136.67
North723.331860.00
South620.002480.00
West620.0030100.00

Crime Level Distribution:

proc freq data=thieves_india;

    tables Crime_Level / nocum;

    title "Distribution of Crime Severity";

run;

Output:

Distribution of Crime Severity

The FREQ Procedure

Crime_LevelFrequencyPercent
Major1756.67
Medium1033.33
Minor310.00

Step 5: PROC MEANS — Estimated Loss Analysis

proc means data=thieves_india mean sum maxdec=0;

    var Estimated_Loss;

    class Crime_Level;

    title "Summary of Losses by Crime Level";

run;

Output:

Summary of Losses by Crime Level

The MEANS Procedure

Analysis Variable : Estimated_Loss
Crime_LevelN ObsMeanSum
Major17161970627535000
Medium101557001557000
Minor3566717000

Step 6: PROC SQL — Advanced Data Analysis

Top 5 Highest Loss Thefts:

proc sql outobs=5;

    title "Top 5 High Loss Thefts";

    select Thief_Type, Region, Estimated_Loss 

    from thieves_india 

    order by Estimated_Loss desc;

quit;

Output:

Top 5 High Loss Thefts

Thief_TypeRegionEstimated_Loss
Fraud_InvestorEast10000000
Political_ThiefNorth5000000
Kidnap_ThiefWest3000000
Corporate_ThiefWest2000000
Art_ThiefNorth1000000

Average Loss by Region:

proc sql;

    title "Average Loss by Region";

    select Region, avg(Estimated_Loss) as Avg_Loss format=comma12. 

    from thieves_india 

    group by Region;

quit;

Output:

Average Loss by Region

RegionAvg_Loss
Central395,000
East2,068,667
North977,857
South353,667
West959,167

Thieves Caught After 2000:

proc sql;

    title "Thieves Caught After 2000";

    select Thief_Type, Year_Caught, Crime_Level 

    from thieves_india 

    where Year_Caught > 2000;

quit;

Output:

Thieves Caught After 2000

Thief_TypeYear_CaughtCrime_Level
Cyber_Thief2022Major
Political_Thief2001Major
Corporate_Thief2018Major
Shoplifter2005Minor
Gang_Leader2011Major
Fraud_Investor2023Major
Insider_Thief2015Major
ATM_Hacker2017Major
Social_Engineer2021Medium
Drug_Courier2008Major
Identity_Thief2019Medium
Petrol_Thief2010Medium
Wildlife_Smuggler2003Major
Passport_Scammer2024Major

Step 7: Creating a Macro — Crime Summary by Region

%macro crime_by_region(region_name);


    proc sql;

        title "Crimes in &region_name Region";

        select Thief_Type, Year_Caught, Method_Used, Estimated_Loss, Crime_Level

        from thieves_india

        where Region = "&region_name";

    quit;


%mend;


%crime_by_region(North);

Output:

Crimes in North Region

Thief_TypeYear_CaughtMethod_UsedEstimated_LossCrime_Level
Highway_Robber1963Hold at Gunpoint15000Major
Political_Thief2001Fund Misuse5000000Major
Art_Thief1999Forgery & Theft1000000Major
Train_Thief1958Moving Robbery10000Minor
Social_Engineer2021Fake Calls300000Medium
Petrol_Thief2010Pump Tampering120000Medium
Passport_Scammer2024Fake Visas400000Major

%crime_by_region(South);

Output:

Crimes in South Region

Thief_TypeYear_CaughtMethod_UsedEstimated_LossCrime_Level
Pickpocket1952Sneaky Hand2000Minor
Temple_Thief1993Night Break-in70000Major
Smuggler1960Border Transport400000Major
Vehicle_Thief1987Lock Pick200000Medium
ATM_Hacker2017Skimming Devices850000Major
Fake_Saint1995Blind Belief Scam600000Major

%crime_by_region(West);

Output:

Crimes in West Region

Thief_TypeYear_CaughtMethod_UsedEstimated_LossCrime_Level
Cyber_Thief2022Phishing Email500000Major
Corporate_Thief2018Data Theft2000000Major
Shoplifter2005Disguise Method5000Minor
Kidnap_Thief1973Ransom-Based3000000Major
Relic_Thief1965Antique Loot150000Medium
Foodgrain_Thief1979Storage Fraud100000Medium

%crime_by_region(East);

Output:

Crimes in East Region

Thief_TypeYear_CaughtMethod_UsedEstimated_LossCrime_Level
Cat_Burglar1975Rope Climb12000Medium
Bank_Robber1970Gunpoint Entry250000Major
Gang_Leader2011Armed Loot800000Major
Fraud_Investor2023Ponzi Scheme10000000Major
Drug_Courier2008Hidden Packets1000000Major
Forest_Looter1982Illegal Logging350000Medium

%crime_by_region(Central);

Output:

Crimes in Central Region

Thief_TypeYear_CaughtMethod_UsedEstimated_LossCrime_Level
Con_Artist1985Fake Identity30000Medium
Serial_Thief1990Same Method45000Medium
Insider_Thief2015Employee Leak750000Major
Identity_Thief2019Fake PAN/Aadhaar250000Medium
Wildlife_Smuggler2003Hidden Crates900000Major

Step 8: Additional Macro — Count by Crime Level

%macro count_by_level(level);


    proc sql;

        title "Total Thieves by &level Crime Level";

        select count(*) as Total_Thieves, sum(Estimated_Loss) as Total_Loss format=comma12.

        from thieves_india

        where Crime_Level = "&level";

    quit;


%mend;


%count_by_level(Minor);

Output:

Total Thieves by Minor Crime Level

Total_ThievesTotal_Loss
317,000

%count_by_level(Medium);

Output:

Total Thieves by Medium Crime Level

Total_ThievesTotal_Loss
101,557,000

%count_by_level(Major);

Output:

Total Thieves by Major Crime Level

Total_ThievesTotal_Loss
1727,535,000

Step 9: Custom Report — Loss Over Time

proc sql;

    title "Total Estimated Loss by Decade";

    select floor(Year_Caught/10)*10 as Decade,

           sum(Estimated_Loss) as Total_Loss format=comma12.

    from thieves_india

    group by calculated Decade

    order by Decade;

quit;

Output:

Total Estimated Loss by Decade

DecadeTotal_Loss
195012,000
1960565,000
19703,362,000
1980580,000
19901,715,000
20006,905,000
20104,770,000
202011,200,000






To Visit My Previous E-Commerce Dataset:Click Here
To Visit My Previous Length,Input,Retain Statements:Click Here
To Visit My Previous Urban Traffic Dataset:Click Here
To Visit My Previous Home Energy Consumption Dataset:Click Here





--->PLEASE FOLLOW OUR BLOG FOR MORE INFORMATION.
--->PLEASE DO COMMENTS AND SHARE OUR BLOG.

PLEASE FOLLOW OUR TELEGRAM CHANNEL CLICK HERE

PLEASE FOLLOW OUR FACEBOOK PAGE  CLICK HERE

PLEASE FOLLOW OUR INSTAGRAM PAGE CLICK HERE



Comments