400.Can SAS Detect Hidden Fraud in Remote Work Environments?

Can SAS Detect Hidden Fraud in Remote Work Environments?

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

HERE IN THIS PROJECT WE USED THESE SAS STATEMENTS —
DATA STEP | PROC SQL |  PROC PRINT | PROC SGPLOT | MACROS | PROC CORR | PROC MEANS | PROC FREQ | PROC UNIVARIATE | PROC SORT | APPEND | MERGE | PROC TRANSPOSE | PROC DATASETS DELETE | DATA FUNCTIONS

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

TABLE OF CONTENTS

  1. Introduction
  2. Business Context
  3. Project Objectives
  4. Dataset Design & Variables
  5. Raw Dataset Creation
  6. Data Cleaning & Formatting
  7. Date Intelligence (MDY, INTCK, INTNX)
  8. Character & Numeric Functions
  9. Productivity & Utilization Logic (Macros)
  10. Fraud Detection Logic (Macros)
  11. SQL Analytics
  12. Statistical Analysis
  13. Frequency & Distribution Analysis
  14. Correlation Analysis
  15. Visualization (SGPLOT)
  16. Transpose, Append, Set & Merge
  17. PROC DATASETS 
  18. Business Insights
  19. Interview-Ready Talking Points
  20. Conclusion

1. INTRODUCTION

Remote work has transformed how organizations manage productivity, employee well-being, and operational risk. Unlike office environments, remote teams require data-driven monitoring to ensure:

  • Optimal productivity
  • Controlled burnout
  • Fair workload distribution
  • Fraud or misuse detection

This project simulates a real corporate analytics use case using SAS.

2.BUSINESS CONTEXT

Organizations with remote employees face challenges like:

  • Over-reporting work hours
  • Low output despite high availability
  • Burnout leading to attrition
  • Communication gaps
  • Fraudulent time reporting

Hence, analytics teams use SAS to monitor patterns using:

  • Productivity Index
  • Utilization classification
  • Burnout thresholds
  • Statistical anomaly detection

3.PROJECT OBJECTIVES

* Create a remote employee dataset (15+ records)
* Apply SQL, DATA step, Macros
* Perform descriptive & inferential statistics
* Implement fraud detection logic
* Demonstrate interview-level SAS expertise

4. DATASET DESIGN & VARIABLES

Variable

Description

Employee_ID

Unique employee number

Employee_Name

Employee full name

Role

Job role

Join_Date

Date of joining

Report_Date

Date of performance capture

Hours_Worked

Daily working hours

Tasks_Completed

Tasks completed

Communication_Frequency

Meetings/emails count

Burnout_Score

Stress indicator

Productivity_Index

Derived KPI (%)

Utilization_Class

Macro-driven

Fraud_Flag

Macro-driven

5. RAW DATASET CREATION

data remote_employees_raw;

    length Employee_Name $20. Role $20. Region $15. Work_Mode $15.;

    input Employee_ID Employee_Name $ Role $ Join_Date : date9. Report_Date : date9.

          Hours_Worked Tasks_Completed Communication_Frequency Burnout_Score Region $

          Work_Mode $;

    format Join_Date Report_Date date9.;

datalines;

101 Nithish Data_Analyst 15JAN2022 01JAN2026 9 12 6 32 India Fully_Remote

102 Anjali SAS_Programmer 12FEB2021 01JAN2026 10 14 8 28 India Hybrid

103 Rahul Statistician 20MAR2020 01JAN2026 11 15 9 35 USA Fully_Remote

104 Sneha Data_Manager 01APR2019 01JAN2026 8 10 5 40 UK Fully_Remote

105 Arjun BI_Analyst 17MAY2022 01JAN2026 7 9 4 22 India Hybrid

106 Kavya Clinical_Analyst 10JUN2021 01JAN2026 9 13 7 30 India Fully_Remote

107 Amit QA_Analyst 05JUL2020 01JAN2026 12 16 10 45 USA Fully_Remote

108 Pooja Risk_Analyst 18AUG2019 01JAN2026 6 7 3 20 UK Hybrid

109 Rakesh SQL_Developer 01SEP2022 01JAN2026 8 11 6 27 India Fully_Remote

110 Neha Data_Scientist 15OCT2018 01JAN2026 10 14 8 38 USA Fully_Remote

111 Suresh ETL_Developer 01NOV2021 01JAN2026 9 12 7 29 India Hybrid

112 Kiran Report_Analyst 20DEC2020 01JAN2026 7 9 5 26 India Fully_Remote

113 Meena Validation_Lead 05JAN2019 01JAN2026 11 15 9 42 UK Fully_Remote

114 Prasad Macro_Developer 14FEB2022 01JAN2026 10 14 8 33 India Hybrid

115 Divya Safety_Analyst 30MAR2021 01JAN2026 8 10 6 25 India Fully_Remote

;

run;

proc print data=remote_employees_raw;

run;

OUTPUT:

ObsEmployee_NameRoleRegionWork_ModeEmployee_IDJoin_DateReport_DateHours_WorkedTasks_CompletedCommunication_FrequencyBurnout_Score
1NithishData_AnalystIndiaFully_Remote10115JAN202201JAN2026912632
2AnjaliSAS_ProgrammerIndiaHybrid10212FEB202101JAN20261014828
3RahulStatisticianUSAFully_Remote10320MAR202001JAN20261115935
4SnehaData_ManagerUKFully_Remote10401APR201901JAN2026810540
5ArjunBI_AnalystIndiaHybrid10517MAY202201JAN202679422
6KavyaClinical_AnalystIndiaFully_Remote10610JUN202101JAN2026913730
7AmitQA_AnalystUSAFully_Remote10705JUL202001JAN202612161045
8PoojaRisk_AnalystUKHybrid10818AUG201901JAN202667320
9RakeshSQL_DeveloperIndiaFully_Remote10901SEP202201JAN2026811627
10NehaData_ScientistUSAFully_Remote11015OCT201801JAN20261014838
11SureshETL_DeveloperIndiaHybrid11101NOV202101JAN2026912729
12KiranReport_AnalystIndiaFully_Remote11220DEC202001JAN202679526
13MeenaValidation_LeadUKFully_Remote11305JAN201901JAN20261115942
14PrasadMacro_DeveloperIndiaHybrid11414FEB202201JAN20261014833
15DivyaSafety_AnalystIndiaFully_Remote11530MAR202101JAN2026810625

·  Core SAS dataset creation

·  Supports formats, informats, raw ingestion

·  Industry-standard for structured data

6. DATA CLEANING & FORMATTING

data remote_employees_clean;

    set remote_employees_raw;

    Employee_Name = propcase(strip(Employee_Name));

    Role = upcase(Role);

    Region = lowcase(Region);

    Work_Mode = catx('_',strip(Work_Mode));

run;

proc print data=remote_employees_clean;

run;

OUTPUT:

ObsEmployee_NameRoleRegionWork_ModeEmployee_IDJoin_DateReport_DateHours_WorkedTasks_CompletedCommunication_FrequencyBurnout_Score
1NithishDATA_ANALYSTindiaFully_Remote10115JAN202201JAN2026912632
2AnjaliSAS_PROGRAMMERindiaHybrid10212FEB202101JAN20261014828
3RahulSTATISTICIANusaFully_Remote10320MAR202001JAN20261115935
4SnehaDATA_MANAGERukFully_Remote10401APR201901JAN2026810540
5ArjunBI_ANALYSTindiaHybrid10517MAY202201JAN202679422
6KavyaCLINICAL_ANALYSTindiaFully_Remote10610JUN202101JAN2026913730
7AmitQA_ANALYSTusaFully_Remote10705JUL202001JAN202612161045
8PoojaRISK_ANALYSTukHybrid10818AUG201901JAN202667320
9RakeshSQL_DEVELOPERindiaFully_Remote10901SEP202201JAN2026811627
10NehaDATA_SCIENTISTusaFully_Remote11015OCT201801JAN20261014838
11SureshETL_DEVELOPERindiaHybrid11101NOV202101JAN2026912729
12KiranREPORT_ANALYSTindiaFully_Remote11220DEC202001JAN202679526
13MeenaVALIDATION_LEADukFully_Remote11305JAN201901JAN20261115942
14PrasadMACRO_DEVELOPERindiaHybrid11414FEB202201JAN20261014833
15DivyaSAFETY_ANALYSTindiaFully_Remote11530MAR202101JAN2026810625

·  STRIP, TRIM → remove spaces

·  PROPCASS, UPCASE, LOWCASE → standardization

·  CATX → controlled concatenation

7. DATE INTELLIGENCE

data remote_dates;

    set remote_employees_clean;

    Tenure_Months = intck('month', Join_Date, Report_Date);

    Next_Review_Date = intnx('month', Report_Date, 3, 'same');

    Review_Month = month(mdy(month(Report_Date),1,year(Report_Date)));

run;

proc print data=remote_dates;

run;

OUTPUT:

ObsEmployee_NameRoleRegionWork_ModeEmployee_IDJoin_DateReport_DateHours_WorkedTasks_CompletedCommunication_FrequencyBurnout_ScoreTenure_MonthsNext_Review_DateReview_Month
1NithishDATA_ANALYSTindiaFully_Remote10115JAN202201JAN202691263248241971
2AnjaliSAS_PROGRAMMERindiaHybrid10212FEB202101JAN2026101482859241971
3RahulSTATISTICIANusaFully_Remote10320MAR202001JAN2026111593570241971
4SnehaDATA_MANAGERukFully_Remote10401APR201901JAN202681054081241971
5ArjunBI_ANALYSTindiaHybrid10517MAY202201JAN20267942244241971
6KavyaCLINICAL_ANALYSTindiaFully_Remote10610JUN202101JAN202691373055241971
7AmitQA_ANALYSTusaFully_Remote10705JUL202001JAN20261216104566241971
8PoojaRISK_ANALYSTukHybrid10818AUG201901JAN20266732077241971
9RakeshSQL_DEVELOPERindiaFully_Remote10901SEP202201JAN202681162740241971
10NehaDATA_SCIENTISTusaFully_Remote11015OCT201801JAN2026101483887241971
11SureshETL_DEVELOPERindiaHybrid11101NOV202101JAN202691272950241971
12KiranREPORT_ANALYSTindiaFully_Remote11220DEC202001JAN20267952661241971
13MeenaVALIDATION_LEADukFully_Remote11305JAN201901JAN2026111594284241971
14PrasadMACRO_DEVELOPERindiaHybrid11414FEB202201JAN2026101483347241971
15DivyaSAFETY_ANALYSTindiaFully_Remote11530MAR202101JAN202681062558241971

·  HR analytics

·  Performance cycles

·  Payroll fraud windows

8. PRODUCTIVITY INDEX CALCULATION

data remote_productivity;

    set remote_dates;

    Productivity_Index = round((Tasks_Completed / Hours_Worked)*10,0.01);

run;

proc print data=remote_productivity;

run;

OUTPUT:

ObsEmployee_NameRoleRegionWork_ModeEmployee_IDJoin_DateReport_DateHours_WorkedTasks_CompletedCommunication_FrequencyBurnout_ScoreTenure_MonthsNext_Review_DateReview_MonthProductivity_Index
1NithishDATA_ANALYSTindiaFully_Remote10115JAN202201JAN20269126324824197113.33
2AnjaliSAS_PROGRAMMERindiaHybrid10212FEB202101JAN202610148285924197114.00
3RahulSTATISTICIANusaFully_Remote10320MAR202001JAN202611159357024197113.64
4SnehaDATA_MANAGERukFully_Remote10401APR201901JAN20268105408124197112.50
5ArjunBI_ANALYSTindiaHybrid10517MAY202201JAN2026794224424197112.86
6KavyaCLINICAL_ANALYSTindiaFully_Remote10610JUN202101JAN20269137305524197114.44
7AmitQA_ANALYSTusaFully_Remote10705JUL202001JAN2026121610456624197113.33
8PoojaRISK_ANALYSTukHybrid10818AUG201901JAN2026673207724197111.67
9RakeshSQL_DEVELOPERindiaFully_Remote10901SEP202201JAN20268116274024197113.75
10NehaDATA_SCIENTISTusaFully_Remote11015OCT201801JAN202610148388724197114.00
11SureshETL_DEVELOPERindiaHybrid11101NOV202101JAN20269127295024197113.33
12KiranREPORT_ANALYSTindiaFully_Remote11220DEC202001JAN2026795266124197112.86
13MeenaVALIDATION_LEADukFully_Remote11305JAN201901JAN202611159428424197113.64
14PrasadMACRO_DEVELOPERindiaHybrid11414FEB202201JAN202610148334724197114.00
15DivyaSAFETY_ANALYSTindiaFully_Remote11530MAR202101JAN20268106255824197112.50

·  Reusability

·  Parameterization

·  Enterprise scalability

9. UTILIZATION CLASSIFICATION (MACRO)

%macro utilization;

data remote_utilization;

    set remote_productivity;

length  Utilization_Class $8.;

    if Productivity_Index >= 15 then Utilization_Class='High';

    else if Productivity_Index >=10 then Utilization_Class='Medium';

    else Utilization_Class='Low';

run;

proc print data=remote_utilization;

run;

%mend;


%utilization;

OUTPUT:

ObsEmployee_NameRoleRegionWork_ModeEmployee_IDJoin_DateReport_DateHours_WorkedTasks_CompletedCommunication_FrequencyBurnout_ScoreTenure_MonthsNext_Review_DateReview_MonthProductivity_IndexUtilization_Class
1NithishDATA_ANALYSTindiaFully_Remote10115JAN202201JAN20269126324824197113.33Medium
2AnjaliSAS_PROGRAMMERindiaHybrid10212FEB202101JAN202610148285924197114.00Medium
3RahulSTATISTICIANusaFully_Remote10320MAR202001JAN202611159357024197113.64Medium
4SnehaDATA_MANAGERukFully_Remote10401APR201901JAN20268105408124197112.50Medium
5ArjunBI_ANALYSTindiaHybrid10517MAY202201JAN2026794224424197112.86Medium
6KavyaCLINICAL_ANALYSTindiaFully_Remote10610JUN202101JAN20269137305524197114.44Medium
7AmitQA_ANALYSTusaFully_Remote10705JUL202001JAN2026121610456624197113.33Medium
8PoojaRISK_ANALYSTukHybrid10818AUG201901JAN2026673207724197111.67Medium
9RakeshSQL_DEVELOPERindiaFully_Remote10901SEP202201JAN20268116274024197113.75Medium
10NehaDATA_SCIENTISTusaFully_Remote11015OCT201801JAN202610148388724197114.00Medium
11SureshETL_DEVELOPERindiaHybrid11101NOV202101JAN20269127295024197113.33Medium
12KiranREPORT_ANALYSTindiaFully_Remote11220DEC202001JAN2026795266124197112.86Medium
13MeenaVALIDATION_LEADukFully_Remote11305JAN201901JAN202611159428424197113.64Medium
14PrasadMACRO_DEVELOPERindiaHybrid11414FEB202201JAN202610148334724197114.00Medium
15DivyaSAFETY_ANALYSTindiaFully_Remote11530MAR202101JAN20268106255824197112.50Medium

10. FRAUD DETECTION LOGIC

%macro fraud;

data remote_fraud;

    set remote_utilization;

    if Hours_Worked > 11 and Tasks_Completed < 10 then Fraud_Flag='YES';

    else Fraud_Flag='NO';

run;

proc print data=remote_fraud;

run;

%mend;


%fraud;

OUTPUT:

ObsEmployee_NameRoleRegionWork_ModeEmployee_IDJoin_DateReport_DateHours_WorkedTasks_CompletedCommunication_FrequencyBurnout_ScoreTenure_MonthsNext_Review_DateReview_MonthProductivity_IndexUtilization_ClassFraud_Flag
1NithishDATA_ANALYSTindiaFully_Remote10115JAN202201JAN20269126324824197113.33MediumNO
2AnjaliSAS_PROGRAMMERindiaHybrid10212FEB202101JAN202610148285924197114.00MediumNO
3RahulSTATISTICIANusaFully_Remote10320MAR202001JAN202611159357024197113.64MediumNO
4SnehaDATA_MANAGERukFully_Remote10401APR201901JAN20268105408124197112.50MediumNO
5ArjunBI_ANALYSTindiaHybrid10517MAY202201JAN2026794224424197112.86MediumNO
6KavyaCLINICAL_ANALYSTindiaFully_Remote10610JUN202101JAN20269137305524197114.44MediumNO
7AmitQA_ANALYSTusaFully_Remote10705JUL202001JAN2026121610456624197113.33MediumNO
8PoojaRISK_ANALYSTukHybrid10818AUG201901JAN2026673207724197111.67MediumNO
9RakeshSQL_DEVELOPERindiaFully_Remote10901SEP202201JAN20268116274024197113.75MediumNO
10NehaDATA_SCIENTISTusaFully_Remote11015OCT201801JAN202610148388724197114.00MediumNO
11SureshETL_DEVELOPERindiaHybrid11101NOV202101JAN20269127295024197113.33MediumNO
12KiranREPORT_ANALYSTindiaFully_Remote11220DEC202001JAN2026795266124197112.86MediumNO
13MeenaVALIDATION_LEADukFully_Remote11305JAN201901JAN202611159428424197113.64MediumNO
14PrasadMACRO_DEVELOPERindiaHybrid11414FEB202201JAN202610148334724197114.00MediumNO
15DivyaSAFETY_ANALYSTindiaFully_Remote11530MAR202101JAN20268106255824197112.50MediumNO

·  High hours + low output

·  Burnout anomalies

·  Communication mismatch

11. PROC SQL ANALYTICS

proc sql;

    create table role_summary as

    select Role,

           avg(Productivity_Index) as Avg_Productivity,

           avg(Burnout_Score) as Avg_Burnout

    from remote_fraud

    group by Role;

quit;

proc print data=role_summary;

run;

OUTPUT:

ObsRoleAvg_ProductivityAvg_Burnout
1BI_ANALYST12.8622
2CLINICAL_ANALYST14.4430
3DATA_ANALYST13.3332
4DATA_MANAGER12.5040
5DATA_SCIENTIST14.0038
6ETL_DEVELOPER13.3329
7MACRO_DEVELOPER14.0033
8QA_ANALYST13.3345
9REPORT_ANALYST12.8626
10RISK_ANALYST11.6720
11SAFETY_ANALYST12.5025
12SAS_PROGRAMMER14.0028
13SQL_DEVELOPER13.7527
14STATISTICIAN13.6435
15VALIDATION_LEAD13.6442

12. STATISTICAL ANALYSIS

proc means data=remote_fraud mean min max std;

    var Hours_Worked Tasks_Completed Productivity_Index Burnout_Score;

run;

OUTPUT:

The MEANS Procedure

VariableMeanMinimumMaximumStd Dev
Hours_Worked
Tasks_Completed
Productivity_Index
Burnout_Score
9.0000000
12.0666667
13.3233333
31.4666667
6.0000000
7.0000000
11.6700000
20.0000000
12.0000000
16.0000000
14.4400000
45.0000000
1.6903085
2.6583203
0.7329945
7.3568886

proc univariate data=remote_fraud;

    var Productivity_Index;

run;

OUTPUT:

The UNIVARIATE Procedure

Variable: Productivity_Index

Moments
N15Sum Weights15
Mean13.3233333Sum Observations199.85
Std Deviation0.73299451Variance0.53728095
Skewness-0.7055677Kurtosis0.31175916
Uncorrected SS2670.1901Corrected SS7.52193333
Coeff Variation5.50158502Std Error Mean0.18925837
Basic Statistical Measures
LocationVariability
Mean13.32333Std Deviation0.73299
Median13.33000Variance0.53728
Mode13.33000Range2.77000
  Interquartile Range1.14000

Note: The mode displayed is the smallest of 2 modes with a count of 3.

Tests for Location: Mu0=0
TestStatisticp Value
Student's tt70.39759Pr > |t|<.0001
SignM7.5Pr >= |M|<.0001
Signed RankS60Pr >= |S|<.0001
Quantiles (Definition 5)
LevelQuantile
100% Max14.44
99%14.44
95%14.44
90%14.00
75% Q314.00
50% Median13.33
25% Q112.86
10%12.50
5%11.67
1%11.67
0% Min11.67
Extreme Observations
LowestHighest
ValueObsValueObs
11.67813.759
12.501514.002
12.50414.0010
12.861214.0014
12.86514.446

13. FREQUENCY ANALYSIS

proc freq data=remote_fraud;

    tables Utilization_Class Fraud_Flag Work_Mode;

run;

OUTPUT:

The FREQ Procedure

Utilization_ClassFrequencyPercentCumulative
Frequency
Cumulative
Percent
Medium15100.0015100.00
Fraud_FlagFrequencyPercentCumulative
Frequency
Cumulative
Percent
NO15100.0015100.00
Work_ModeFrequencyPercentCumulative
Frequency
Cumulative
Percent
Fully_Remote1066.671066.67
Hybrid533.3315100.00

14. CORRELATION ANALYSIS

proc corr data=remote_fraud;

    var Hours_Worked Tasks_Completed Burnout_Score Productivity_Index;

run;

OUTPUT:

The CORR Procedure

4 Variables:Hours_Worked Tasks_Completed Burnout_Score Productivity_Index
Simple Statistics
VariableNMeanStd DevSumMinimumMaximum
Hours_Worked159.000001.69031135.000006.0000012.00000
Tasks_Completed1512.066672.65832181.000007.0000016.00000
Burnout_Score1531.466677.35689472.0000020.0000045.00000
Productivity_Index1513.323330.73299199.8500011.6700014.44000
Pearson Correlation Coefficients, N = 15
Prob > |r| under H0: Rho=0
 Hours_WorkedTasks_CompletedBurnout_ScoreProductivity_Index
Hours_Worked
1.00000
 
0.98558
<.0001
0.80416
0.0003
0.65434
0.0081
Tasks_Completed
0.98558
<.0001
1.00000
 
0.75433
0.0012
0.77042
0.0008
Burnout_Score
0.80416
0.0003
0.75433
0.0012
1.00000
 
0.37455
0.1690
Productivity_Index
0.65434
0.0081
0.77042
0.0008
0.37455
0.1690
1.00000
 

15. VISUALIZATION

proc sgplot data=remote_fraud;

    scatter x=Hours_Worked y=Productivity_Index;

run;

OUTPUT:

The SGPlot Procedure

16. TRANSPOSE

proc transpose data=remote_fraud out=prod_t;

    var Productivity_Index Burnout_Score;

    by Employee_ID;

run;

proc print data=prod_t;

run;

OUTPUT:

ObsEmployee_ID_NAME_COL1
1101Productivity_Index13.33
2101Burnout_Score32.00
3102Productivity_Index14.00
4102Burnout_Score28.00
5103Productivity_Index13.64
6103Burnout_Score35.00
7104Productivity_Index12.50
8104Burnout_Score40.00
9105Productivity_Index12.86
10105Burnout_Score22.00
11106Productivity_Index14.44
12106Burnout_Score30.00
13107Productivity_Index13.33
14107Burnout_Score45.00
15108Productivity_Index11.67
16108Burnout_Score20.00
17109Productivity_Index13.75
18109Burnout_Score27.00
19110Productivity_Index14.00
20110Burnout_Score38.00
21111Productivity_Index13.33
22111Burnout_Score29.00
23112Productivity_Index12.86
24112Burnout_Score26.00
25113Productivity_Index13.64
26113Burnout_Score42.00
27114Productivity_Index14.00
28114Burnout_Score33.00
29115Productivity_Index12.50
30115Burnout_Score25.00

17. CREATE A NEW DATASET,APPEND

data remote_fraud_new;

    set remote_fraud;

    Report_Date = intnx('month', Report_Date, 1, 'same');

    format Report_Date date9.;

run;

proc print data=remote_fraud_new;

run;

OUTPUT:

ObsEmployee_NameRoleRegionWork_ModeEmployee_IDJoin_DateReport_DateHours_WorkedTasks_CompletedCommunication_FrequencyBurnout_ScoreTenure_MonthsNext_Review_DateReview_MonthProductivity_IndexUtilization_ClassFraud_Flag
1NithishDATA_ANALYSTindiaFully_Remote10115JAN202201FEB20269126324824197113.33MediumNO
2AnjaliSAS_PROGRAMMERindiaHybrid10212FEB202101FEB202610148285924197114.00MediumNO
3RahulSTATISTICIANusaFully_Remote10320MAR202001FEB202611159357024197113.64MediumNO
4SnehaDATA_MANAGERukFully_Remote10401APR201901FEB20268105408124197112.50MediumNO
5ArjunBI_ANALYSTindiaHybrid10517MAY202201FEB2026794224424197112.86MediumNO
6KavyaCLINICAL_ANALYSTindiaFully_Remote10610JUN202101FEB20269137305524197114.44MediumNO
7AmitQA_ANALYSTusaFully_Remote10705JUL202001FEB2026121610456624197113.33MediumNO
8PoojaRISK_ANALYSTukHybrid10818AUG201901FEB2026673207724197111.67MediumNO
9RakeshSQL_DEVELOPERindiaFully_Remote10901SEP202201FEB20268116274024197113.75MediumNO
10NehaDATA_SCIENTISTusaFully_Remote11015OCT201801FEB202610148388724197114.00MediumNO
11SureshETL_DEVELOPERindiaHybrid11101NOV202101FEB20269127295024197113.33MediumNO
12KiranREPORT_ANALYSTindiaFully_Remote11220DEC202001FEB2026795266124197112.86MediumNO
13MeenaVALIDATION_LEADukFully_Remote11305JAN201901FEB202611159428424197113.64MediumNO
14PrasadMACRO_DEVELOPERindiaHybrid11414FEB202201FEB202610148334724197114.00MediumNO
15DivyaSAFETY_ANALYSTindiaFully_Remote11530MAR202101FEB20268106255824197112.50MediumNO

proc append base=remote_fraud 

            data=remote_fraud_new force;

run;

proc print data=remote_fraud;

run;

OUTPUT:

ObsEmployee_NameRoleRegionWork_ModeEmployee_IDJoin_DateReport_DateHours_WorkedTasks_CompletedCommunication_FrequencyBurnout_ScoreTenure_MonthsNext_Review_DateReview_MonthProductivity_IndexUtilization_ClassFraud_Flag
1NithishDATA_ANALYSTindiaFully_Remote10115JAN202201JAN20269126324824197113.33MediumNO
2AnjaliSAS_PROGRAMMERindiaHybrid10212FEB202101JAN202610148285924197114.00MediumNO
3RahulSTATISTICIANusaFully_Remote10320MAR202001JAN202611159357024197113.64MediumNO
4SnehaDATA_MANAGERukFully_Remote10401APR201901JAN20268105408124197112.50MediumNO
5ArjunBI_ANALYSTindiaHybrid10517MAY202201JAN2026794224424197112.86MediumNO
6KavyaCLINICAL_ANALYSTindiaFully_Remote10610JUN202101JAN20269137305524197114.44MediumNO
7AmitQA_ANALYSTusaFully_Remote10705JUL202001JAN2026121610456624197113.33MediumNO
8PoojaRISK_ANALYSTukHybrid10818AUG201901JAN2026673207724197111.67MediumNO
9RakeshSQL_DEVELOPERindiaFully_Remote10901SEP202201JAN20268116274024197113.75MediumNO
10NehaDATA_SCIENTISTusaFully_Remote11015OCT201801JAN202610148388724197114.00MediumNO
11SureshETL_DEVELOPERindiaHybrid11101NOV202101JAN20269127295024197113.33MediumNO
12KiranREPORT_ANALYSTindiaFully_Remote11220DEC202001JAN2026795266124197112.86MediumNO
13MeenaVALIDATION_LEADukFully_Remote11305JAN201901JAN202611159428424197113.64MediumNO
14PrasadMACRO_DEVELOPERindiaHybrid11414FEB202201JAN202610148334724197114.00MediumNO
15DivyaSAFETY_ANALYSTindiaFully_Remote11530MAR202101JAN20268106255824197112.50MediumNO
16NithishDATA_ANALYSTindiaFully_Remote10115JAN202201FEB20269126324824197113.33MediumNO
17AnjaliSAS_PROGRAMMERindiaHybrid10212FEB202101FEB202610148285924197114.00MediumNO
18RahulSTATISTICIANusaFully_Remote10320MAR202001FEB202611159357024197113.64MediumNO
19SnehaDATA_MANAGERukFully_Remote10401APR201901FEB20268105408124197112.50MediumNO
20ArjunBI_ANALYSTindiaHybrid10517MAY202201FEB2026794224424197112.86MediumNO
21KavyaCLINICAL_ANALYSTindiaFully_Remote10610JUN202101FEB20269137305524197114.44MediumNO
22AmitQA_ANALYSTusaFully_Remote10705JUL202001FEB2026121610456624197113.33MediumNO
23PoojaRISK_ANALYSTukHybrid10818AUG201901FEB2026673207724197111.67MediumNO
24RakeshSQL_DEVELOPERindiaFully_Remote10901SEP202201FEB20268116274024197113.75MediumNO
25NehaDATA_SCIENTISTusaFully_Remote11015OCT201801FEB202610148388724197114.00MediumNO
26SureshETL_DEVELOPERindiaHybrid11101NOV202101FEB20269127295024197113.33MediumNO
27KiranREPORT_ANALYSTindiaFully_Remote11220DEC202001FEB2026795266124197112.86MediumNO
28MeenaVALIDATION_LEADukFully_Remote11305JAN201901FEB202611159428424197113.64MediumNO
29PrasadMACRO_DEVELOPERindiaHybrid11414FEB202201FEB202610148334724197114.00MediumNO
30DivyaSAFETY_ANALYSTindiaFully_Remote11530MAR202101FEB20268106255824197112.50MediumNO

proc sort data=remote_fraud;by Role;run;

proc print data=remote_fraud;

run;

OUTPUT:

ObsEmployee_NameRoleRegionWork_ModeEmployee_IDJoin_DateReport_DateHours_WorkedTasks_CompletedCommunication_FrequencyBurnout_ScoreTenure_MonthsNext_Review_DateReview_MonthProductivity_IndexUtilization_ClassFraud_Flag
1ArjunBI_ANALYSTindiaHybrid10517MAY202201JAN2026794224424197112.86MediumNO
2ArjunBI_ANALYSTindiaHybrid10517MAY202201FEB2026794224424197112.86MediumNO
3KavyaCLINICAL_ANALYSTindiaFully_Remote10610JUN202101JAN20269137305524197114.44MediumNO
4KavyaCLINICAL_ANALYSTindiaFully_Remote10610JUN202101FEB20269137305524197114.44MediumNO
5NithishDATA_ANALYSTindiaFully_Remote10115JAN202201JAN20269126324824197113.33MediumNO
6NithishDATA_ANALYSTindiaFully_Remote10115JAN202201FEB20269126324824197113.33MediumNO
7SnehaDATA_MANAGERukFully_Remote10401APR201901JAN20268105408124197112.50MediumNO
8SnehaDATA_MANAGERukFully_Remote10401APR201901FEB20268105408124197112.50MediumNO
9NehaDATA_SCIENTISTusaFully_Remote11015OCT201801JAN202610148388724197114.00MediumNO
10NehaDATA_SCIENTISTusaFully_Remote11015OCT201801FEB202610148388724197114.00MediumNO
11SureshETL_DEVELOPERindiaHybrid11101NOV202101JAN20269127295024197113.33MediumNO
12SureshETL_DEVELOPERindiaHybrid11101NOV202101FEB20269127295024197113.33MediumNO
13PrasadMACRO_DEVELOPERindiaHybrid11414FEB202201JAN202610148334724197114.00MediumNO
14PrasadMACRO_DEVELOPERindiaHybrid11414FEB202201FEB202610148334724197114.00MediumNO
15AmitQA_ANALYSTusaFully_Remote10705JUL202001JAN2026121610456624197113.33MediumNO
16AmitQA_ANALYSTusaFully_Remote10705JUL202001FEB2026121610456624197113.33MediumNO
17KiranREPORT_ANALYSTindiaFully_Remote11220DEC202001JAN2026795266124197112.86MediumNO
18KiranREPORT_ANALYSTindiaFully_Remote11220DEC202001FEB2026795266124197112.86MediumNO
19PoojaRISK_ANALYSTukHybrid10818AUG201901JAN2026673207724197111.67MediumNO
20PoojaRISK_ANALYSTukHybrid10818AUG201901FEB2026673207724197111.67MediumNO
21DivyaSAFETY_ANALYSTindiaFully_Remote11530MAR202101JAN20268106255824197112.50MediumNO
22DivyaSAFETY_ANALYSTindiaFully_Remote11530MAR202101FEB20268106255824197112.50MediumNO
23AnjaliSAS_PROGRAMMERindiaHybrid10212FEB202101JAN202610148285924197114.00MediumNO
24AnjaliSAS_PROGRAMMERindiaHybrid10212FEB202101FEB202610148285924197114.00MediumNO
25RakeshSQL_DEVELOPERindiaFully_Remote10901SEP202201JAN20268116274024197113.75MediumNO
26RakeshSQL_DEVELOPERindiaFully_Remote10901SEP202201FEB20268116274024197113.75MediumNO
27RahulSTATISTICIANusaFully_Remote10320MAR202001JAN202611159357024197113.64MediumNO
28RahulSTATISTICIANusaFully_Remote10320MAR202001FEB202611159357024197113.64MediumNO
29MeenaVALIDATION_LEADukFully_Remote11305JAN201901JAN202611159428424197113.64MediumNO
30MeenaVALIDATION_LEADukFully_Remote11305JAN201901FEB202611159428424197113.64MediumNO

proc sort data=role_summary;by Role;run;

proc print data=role_summary;

run;

OUTPUT:

ObsRoleAvg_ProductivityAvg_Burnout
1BI_ANALYST12.8622
2CLINICAL_ANALYST14.4430
3DATA_ANALYST13.3332
4DATA_MANAGER12.5040
5DATA_SCIENTIST14.0038
6ETL_DEVELOPER13.3329
7MACRO_DEVELOPER14.0033
8QA_ANALYST13.3345
9REPORT_ANALYST12.8626
10RISK_ANALYST11.6720
11SAFETY_ANALYST12.5025
12SAS_PROGRAMMER14.0028
13SQL_DEVELOPER13.7527
14STATISTICIAN13.6435
15VALIDATION_LEAD13.6442

data merged;

    merge remote_fraud 

          role_summary;

    by Role;

run;

proc print data=merged;

run;

OUTPUT:

ObsEmployee_NameRoleRegionWork_ModeEmployee_IDJoin_DateReport_DateHours_WorkedTasks_CompletedCommunication_FrequencyBurnout_ScoreTenure_MonthsNext_Review_DateReview_MonthProductivity_IndexUtilization_ClassFraud_FlagAvg_ProductivityAvg_Burnout
1ArjunBI_ANALYSTindiaHybrid10517MAY202201JAN2026794224424197112.86MediumNO12.8622
2ArjunBI_ANALYSTindiaHybrid10517MAY202201FEB2026794224424197112.86MediumNO12.8622
3KavyaCLINICAL_ANALYSTindiaFully_Remote10610JUN202101JAN20269137305524197114.44MediumNO14.4430
4KavyaCLINICAL_ANALYSTindiaFully_Remote10610JUN202101FEB20269137305524197114.44MediumNO14.4430
5NithishDATA_ANALYSTindiaFully_Remote10115JAN202201JAN20269126324824197113.33MediumNO13.3332
6NithishDATA_ANALYSTindiaFully_Remote10115JAN202201FEB20269126324824197113.33MediumNO13.3332
7SnehaDATA_MANAGERukFully_Remote10401APR201901JAN20268105408124197112.50MediumNO12.5040
8SnehaDATA_MANAGERukFully_Remote10401APR201901FEB20268105408124197112.50MediumNO12.5040
9NehaDATA_SCIENTISTusaFully_Remote11015OCT201801JAN202610148388724197114.00MediumNO14.0038
10NehaDATA_SCIENTISTusaFully_Remote11015OCT201801FEB202610148388724197114.00MediumNO14.0038
11SureshETL_DEVELOPERindiaHybrid11101NOV202101JAN20269127295024197113.33MediumNO13.3329
12SureshETL_DEVELOPERindiaHybrid11101NOV202101FEB20269127295024197113.33MediumNO13.3329
13PrasadMACRO_DEVELOPERindiaHybrid11414FEB202201JAN202610148334724197114.00MediumNO14.0033
14PrasadMACRO_DEVELOPERindiaHybrid11414FEB202201FEB202610148334724197114.00MediumNO14.0033
15AmitQA_ANALYSTusaFully_Remote10705JUL202001JAN2026121610456624197113.33MediumNO13.3345
16AmitQA_ANALYSTusaFully_Remote10705JUL202001FEB2026121610456624197113.33MediumNO13.3345
17KiranREPORT_ANALYSTindiaFully_Remote11220DEC202001JAN2026795266124197112.86MediumNO12.8626
18KiranREPORT_ANALYSTindiaFully_Remote11220DEC202001FEB2026795266124197112.86MediumNO12.8626
19PoojaRISK_ANALYSTukHybrid10818AUG201901JAN2026673207724197111.67MediumNO11.6720
20PoojaRISK_ANALYSTukHybrid10818AUG201901FEB2026673207724197111.67MediumNO11.6720
21DivyaSAFETY_ANALYSTindiaFully_Remote11530MAR202101JAN20268106255824197112.50MediumNO12.5025
22DivyaSAFETY_ANALYSTindiaFully_Remote11530MAR202101FEB20268106255824197112.50MediumNO12.5025
23AnjaliSAS_PROGRAMMERindiaHybrid10212FEB202101JAN202610148285924197114.00MediumNO14.0028
24AnjaliSAS_PROGRAMMERindiaHybrid10212FEB202101FEB202610148285924197114.00MediumNO14.0028
25RakeshSQL_DEVELOPERindiaFully_Remote10901SEP202201JAN20268116274024197113.75MediumNO13.7527
26RakeshSQL_DEVELOPERindiaFully_Remote10901SEP202201FEB20268116274024197113.75MediumNO13.7527
27RahulSTATISTICIANusaFully_Remote10320MAR202001JAN202611159357024197113.64MediumNO13.6435
28RahulSTATISTICIANusaFully_Remote10320MAR202001FEB202611159357024197113.64MediumNO13.6435
29MeenaVALIDATION_LEADukFully_Remote11305JAN201901JAN202611159428424197113.64MediumNO13.6442
30MeenaVALIDATION_LEADukFully_Remote11305JAN201901FEB202611159428424197113.64MediumNO13.6442

18. PROC DATASETS CLEANUP

proc datasets library=work nolist;

    delete prod_t;

quit;

LOG:

NOTE: Deleting WORK.PROD_T (memtype=DATA).

18. BUSINESS INSIGHTS

 1. High productivity ≠ long hours
 2. Burnout strongly correlates with communication overload
 3. Fraud patterns visible through hour-task mismatch
 4. Utilization macro simplifies HR reporting

19. INTERVIEW TALKING POINTS

·       Why use INTCK vs INTNX

·       Macro vs Data Step logic

·       Fraud detection logic explanation

·       SQL vs PROC MEANS

·       Visualization choice

20. CONCLUSION

This project demonstrates real corporate SAS analytics, combining:

·       HR analytics

·       Productivity modeling

·       Fraud detection

·       Macro automation

·       Statistical validation

This project demonstrates a complete, real-world SAS analytics workflow for managing and monitoring remote employees. Starting from raw data creation, it applies data cleaning, date intelligence, character and numeric functions, macros, SQL, and statistical procedures to derive meaningful insights. Productivity and utilization are quantified using business-driven logic, while fraud detection rules highlight potential misuse of work hours. Procedures like PROC MEANS, PROC UNIVARIATE, PROC FREQ, PROC CORR, and PROC SGPLOT support evidence-based decision-making. Overall, the project reflects how SAS is effectively used in corporate environments for performance tracking, risk identification, and scalable, automated reporting.


INTERVIEW QUESTIONS FOR YOU

1.What is the difference between SET, MERGE, and PROC APPEND in SAS?

2.When would you prefer PROC SQL over DATA step in SAS?

3.What is the difference between INTCK and INTNX functions?

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

About the Author:

SAS Learning Hub is a data analytics and SAS programming platform focused on clinical, financial, and real-world data analysis. The content is created by professionals with academic training in Pharmaceutics and hands-on experience in Base SAS, PROC SQL, Macros, SDTM, and ADaM, providing practical and industry-relevant SAS learning resources.


Disclaimer:

The datasets and analysis in this article are created for educational and demonstration purposes only. They do not represent REMOTE WORK data.


Our Mission:

This blog provides industry-focused SAS programming tutorials and analytics projects covering finance, healthcare, and technology.


This project is suitable for:

·  Students learning SAS

·  Data analysts building portfolios

·  Professionals preparing for SAS interviews

·  Bloggers writing about analytics and smart cities


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Follow Us On : 


 
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--->Follow our blog for more SAS-based analytics projects and industry data models.

---> Support Us By Following Our Blog..

To deepen your understanding of SAS analytics, please refer to our other data science and industry-focused projects listed below:

1.Can SAS Analytics Decode the Real Impact of Robotics Innovations?

2.Did Seasons Control Market Activity and Temple Footfall in 1855 India?A Sas Study

3.Can SAS Analytics Reveal Which Natural Landscapes Attract the Most Visitors?

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

About Us | Contact Privacy Policy






Comments

Popular posts from this blog

409.Can We Build a Reliable Emergency Services Analytics & Fraud Detection System in SAS While Identifying and Fixing Intentional Errors?

397.If a satellite has excellent signal strength but very high latency, can it still deliver good quality communication? Why or why not?A Sas Study

401.How Efficient Are Global Data Centers? A Complete SAS Analytics Study