Saturday, 3 January 2026

359.MARKETING CAMPAIGNS PERFORMANCE ANALYSIS USING SAS DATA STEP | PROC SQL | PROC MEANS | PROC REG | PROC SGPLOT | PROC COPY | MACROS | DATE FUNCTIONS (MDY-INTNX-INTCK) | APPEND | MERGE | SET | TRANSPOSE

MARKETING CAMPAIGNS PERFORMANCE ANALYSIS USING SAS DATA STEP | PROC SQL | PROC MEANS | PROC REG | PROC SGPLOT | PROC COPY | MACROS | DATE FUNCTIONS (MDY-INTNX-INTCK) | APPEND | MERGE | SET | TRANSPOSE

options nocenter;

1.MARKETING CAMPAIGNS DATASET CREATION

data marketing_campaigns;

    length Campaign_Name $25 Platform $15;

    format Start_Date End_Date date9.;

    input Campaign_Name $ Platform $ Reach Clicks Conversion_Rate ROI Start_Date :date9.

           End_Date   :date9.;

    Campaign_Duration = intck('day', Start_Date, End_Date);

    datalines;

Spring_Sale Google 120000 5400 4.5 180 01JAN2024 31JAN2024

Festive_Deals Facebook 95000 4200 3.9 155 15JAN2024 15FEB2024

Brand_Boost Instagram 80000 3900 4.8 200 01FEB2024 28FEB2024

Email_Promo Email 60000 4800 6.2 240 10FEB2024 10MAR2024

Lead_Gen LinkedIn 50000 2100 3.1 135 05JAN2024 20FEB2024

Summer_Splash Google 140000 6100 4.7 190 01MAR2024 31MAR2024

App_Launch Instagram 110000 5300 5.2 210 10MAR2024 10APR2024

Retarget_Ads Facebook 70000 3600 4.1 165 15FEB2024 15MAR2024

Flash_Sale Google 160000 7200 5.5 230 01APR2024 15APR2024

Influencer_Push Instagram 90000 4100 4.6 185 05APR2024 05MAY2024

Newsletter Email 65000 4900 6.8 260 01MAY2024 31MAY2024

Hiring_Campaign LinkedIn 45000 1900 2.9 120 10APR2024 10MAY2024

Year_End_Blast Google 180000 8000 6.1 275 01DEC2024 31DEC2024

;

run;

proc print data=marketing_campaigns;

run;

OUTPUT:

ObsCampaign_NamePlatformStart_DateEnd_DateReachClicksConversion_RateROICampaign_Duration
1Spring_SaleGoogle01JAN202431JAN202412000054004.518030
2Festive_DealsFacebook15JAN202415FEB20249500042003.915531
3Brand_BoostInstagram01FEB202428FEB20248000039004.820027
4Email_PromoEmail10FEB202410MAR20246000048006.224029
5Lead_GenLinkedIn05JAN202420FEB20245000021003.113546
6Summer_SplashGoogle01MAR202431MAR202414000061004.719030
7App_LaunchInstagram10MAR202410APR202411000053005.221031
8Retarget_AdsFacebook15FEB202415MAR20247000036004.116529
9Flash_SaleGoogle01APR202415APR202416000072005.523014
10Influencer_PushInstagram05APR202405MAY20249000041004.618530
11NewsletterEmail01MAY202431MAY20246500049006.826030
12Hiring_CampaignLinkedIn10APR202410MAY20244500019002.912030
13Year_End_BlastGoogle01DEC202431DEC202418000080006.127530


2.USING PROC SQL FOR DATA QUERYING AND DERIVED METRICS

proc sql;

    create table campaign_sql as

    select *,

           (Clicks / Reach) * 100 as CTR format=6.2

    from marketing_campaigns

    where ROI > 150

    order by ROI desc;

quit;

run;

proc print data=campaign_sql;

run;

OUTPUT:

ObsCampaign_NamePlatformStart_DateEnd_DateReachClicksConversion_RateROICampaign_DurationCTR
1Year_End_BlastGoogle01DEC202431DEC202418000080006.1275304.44
2NewsletterEmail01MAY202431MAY20246500049006.8260307.54
3Email_PromoEmail10FEB202410MAR20246000048006.2240298.00
4Flash_SaleGoogle01APR202415APR202416000072005.5230144.50
5App_LaunchInstagram10MAR202410APR202411000053005.2210314.82
6Brand_BoostInstagram01FEB202428FEB20248000039004.8200274.88
7Summer_SplashGoogle01MAR202431MAR202414000061004.7190304.36
8Influencer_PushInstagram05APR202405MAY20249000041004.6185304.56
9Spring_SaleGoogle01JAN202431JAN202412000054004.5180304.50
10Retarget_AdsFacebook15FEB202415MAR20247000036004.1165295.14
11Festive_DealsFacebook15JAN202415FEB20249500042003.9155314.42


3.DESCRIPTIVE STATISTICS USING PROC MEANS

proc means data=marketing_campaigns mean min max;

    var Reach Clicks Conversion_Rate ROI Campaign_Duration;

run;

OUTPUT:

The MEANS Procedure

VariableMeanMinimumMaximum
Reach
Clicks
Conversion_Rate
ROI
Campaign_Duration
97307.69
4730.77
4.8000000
195.7692308
29.7692308
45000.00
1900.00
2.9000000
120.0000000
14.0000000
180000.00
8000.00
6.8000000
275.0000000
46.0000000

4.LINEAR REGRESSION USING PROC REG

proc reg data=marketing_campaigns;

    model ROI = Reach Clicks;

run;

quit;

OUTPUT:

The REG Procedure

Model: MODEL1

Dependent Variable: ROI

Number of Observations Read13
Number of Observations Used13
Analysis of Variance
SourceDFSum of
Squares
Mean
Square
F ValuePr > F
Model2234841174243.35<.0001
Error102708.67198270.86720  
Corrected Total1226192   
Root MSE16.45804R-Square0.8966
Dependent Mean195.76923Adj R-Sq0.8759
Coeff Var8.40686  
Parameter Estimates
VariableDFParameter
Estimate
Standard
Error
t ValuePr > |t|
Intercept185.3480313.742666.210.0001
Reach1-0.001400.00027579-5.090.0005
Clicks10.052200.006697.81<.0001

The REG Procedure

Model: MODEL1

Dependent Variable: ROI

Panel of fit diagnostics for ROI.
Panel of scatterplots of residuals by regressors for ROI.

5.VISUALIZATION USING PROC SGPLOT

proc sgplot data=marketing_campaigns;

    scatter x=Clicks y=ROI / group=Platform;

    reg x=Clicks y=ROI;

    title "ROI vs Clicks by Marketing Platform";

run;

OUTPUT:

The SGPlot Procedure


6.MACRO FOR CAMPAIGN RATING

%macro campaign_rating;

data campaign_rated;

    set marketing_campaigns;

    

    length Campaign_Rating $10;

    

    if ROI >= 220 then Campaign_Rating = "Excellent";

    else if ROI >= 180 then Campaign_Rating = "Good";

    else if ROI >= 150 then Campaign_Rating = "Average";

    else Campaign_Rating = "Poor";

run;

proc print data=campaign_rated;

run;

%mend;


%campaign_rating;

OUTPUT:

ObsCampaign_NamePlatformStart_DateEnd_DateReachClicksConversion_RateROICampaign_DurationCampaign_Rating
1Spring_SaleGoogle01JAN202431JAN202412000054004.518030Good
2Festive_DealsFacebook15JAN202415FEB20249500042003.915531Average
3Brand_BoostInstagram01FEB202428FEB20248000039004.820027Good
4Email_PromoEmail10FEB202410MAR20246000048006.224029Excellent
5Lead_GenLinkedIn05JAN202420FEB20245000021003.113546Poor
6Summer_SplashGoogle01MAR202431MAR202414000061004.719030Good
7App_LaunchInstagram10MAR202410APR202411000053005.221031Good
8Retarget_AdsFacebook15FEB202415MAR20247000036004.116529Average
9Flash_SaleGoogle01APR202415APR202416000072005.523014Excellent
10Influencer_PushInstagram05APR202405MAY20249000041004.618530Good
11NewsletterEmail01MAY202431MAY20246500049006.826030Excellent
12Hiring_CampaignLinkedIn10APR202410MAY20244500019002.912030Poor
13Year_End_BlastGoogle01DEC202431DEC202418000080006.127530Excellent


7.DATA MANIPULATION TECHNIQUES

7.1 PROC APPEND

proc append base=marketing_campaigns

            data=campaign_rated force;

run;

proc print data=marketing_campaigns;

run;

OUTPUT:

ObsCampaign_NamePlatformStart_DateEnd_DateReachClicksConversion_RateROICampaign_Duration
1Spring_SaleGoogle01JAN202431JAN202412000054004.518030
2Festive_DealsFacebook15JAN202415FEB20249500042003.915531
3Brand_BoostInstagram01FEB202428FEB20248000039004.820027
4Email_PromoEmail10FEB202410MAR20246000048006.224029
5Lead_GenLinkedIn05JAN202420FEB20245000021003.113546
6Summer_SplashGoogle01MAR202431MAR202414000061004.719030
7App_LaunchInstagram10MAR202410APR202411000053005.221031
8Retarget_AdsFacebook15FEB202415MAR20247000036004.116529
9Flash_SaleGoogle01APR202415APR202416000072005.523014
10Influencer_PushInstagram05APR202405MAY20249000041004.618530
11NewsletterEmail01MAY202431MAY20246500049006.826030
12Hiring_CampaignLinkedIn10APR202410MAY20244500019002.912030
13Year_End_BlastGoogle01DEC202431DEC202418000080006.127530
14Spring_SaleGoogle01JAN202431JAN202412000054004.518030
15Festive_DealsFacebook15JAN202415FEB20249500042003.915531
16Brand_BoostInstagram01FEB202428FEB20248000039004.820027
17Email_PromoEmail10FEB202410MAR20246000048006.224029
18Lead_GenLinkedIn05JAN202420FEB20245000021003.113546
19Summer_SplashGoogle01MAR202431MAR202414000061004.719030
20App_LaunchInstagram10MAR202410APR202411000053005.221031
21Retarget_AdsFacebook15FEB202415MAR20247000036004.116529
22Flash_SaleGoogle01APR202415APR202416000072005.523014
23Influencer_PushInstagram05APR202405MAY20249000041004.618530
24NewsletterEmail01MAY202431MAY20246500049006.826030
25Hiring_CampaignLinkedIn10APR202410MAY20244500019002.912030
26Year_End_BlastGoogle01DEC202431DEC202418000080006.127530


7.2 DATA STEP SET STATEMENT

data campaign_combined;

    set marketing_campaigns campaign_rated;

run;

proc print data=campaign_combined;

run;

OUTPUT:

ObsCampaign_NamePlatformStart_DateEnd_DateReachClicksConversion_RateROICampaign_DurationCampaign_Rating
1Spring_SaleGoogle01JAN202431JAN202412000054004.518030 
2Festive_DealsFacebook15JAN202415FEB20249500042003.915531 
3Brand_BoostInstagram01FEB202428FEB20248000039004.820027 
4Email_PromoEmail10FEB202410MAR20246000048006.224029 
5Lead_GenLinkedIn05JAN202420FEB20245000021003.113546 
6Summer_SplashGoogle01MAR202431MAR202414000061004.719030 
7App_LaunchInstagram10MAR202410APR202411000053005.221031 
8Retarget_AdsFacebook15FEB202415MAR20247000036004.116529 
9Flash_SaleGoogle01APR202415APR202416000072005.523014 
10Influencer_PushInstagram05APR202405MAY20249000041004.618530 
11NewsletterEmail01MAY202431MAY20246500049006.826030 
12Hiring_CampaignLinkedIn10APR202410MAY20244500019002.912030 
13Year_End_BlastGoogle01DEC202431DEC202418000080006.127530 
14Spring_SaleGoogle01JAN202431JAN202412000054004.518030 
15Festive_DealsFacebook15JAN202415FEB20249500042003.915531 
16Brand_BoostInstagram01FEB202428FEB20248000039004.820027 
17Email_PromoEmail10FEB202410MAR20246000048006.224029 
18Lead_GenLinkedIn05JAN202420FEB20245000021003.113546 
19Summer_SplashGoogle01MAR202431MAR202414000061004.719030 
20App_LaunchInstagram10MAR202410APR202411000053005.221031 
21Retarget_AdsFacebook15FEB202415MAR20247000036004.116529 
22Flash_SaleGoogle01APR202415APR202416000072005.523014 
23Influencer_PushInstagram05APR202405MAY20249000041004.618530 
24NewsletterEmail01MAY202431MAY20246500049006.826030 
25Hiring_CampaignLinkedIn10APR202410MAY20244500019002.912030 
26Year_End_BlastGoogle01DEC202431DEC202418000080006.127530 
27Spring_SaleGoogle01JAN202431JAN202412000054004.518030Good
28Festive_DealsFacebook15JAN202415FEB20249500042003.915531Average
29Brand_BoostInstagram01FEB202428FEB20248000039004.820027Good
30Email_PromoEmail10FEB202410MAR20246000048006.224029Excellent
31Lead_GenLinkedIn05JAN202420FEB20245000021003.113546Poor
32Summer_SplashGoogle01MAR202431MAR202414000061004.719030Good
33App_LaunchInstagram10MAR202410APR202411000053005.221031Good
34Retarget_AdsFacebook15FEB202415MAR20247000036004.116529Average
35Flash_SaleGoogle01APR202415APR202416000072005.523014Excellent
36Influencer_PushInstagram05APR202405MAY20249000041004.618530Good
37NewsletterEmail01MAY202431MAY20246500049006.826030Excellent
38Hiring_CampaignLinkedIn10APR202410MAY20244500019002.912030Poor
39Year_End_BlastGoogle01DEC202431DEC202418000080006.127530Excellent


7.3 PROC SORT + MERGE

proc sort data=marketing_campaigns;

    by Campaign_Name;

run;

proc print data=marketing_campaigns;

run;

OUTPUT:

ObsCampaign_NamePlatformStart_DateEnd_DateReachClicksConversion_RateROICampaign_Duration
1App_LaunchInstagram10MAR202410APR202411000053005.221031
2App_LaunchInstagram10MAR202410APR202411000053005.221031
3Brand_BoostInstagram01FEB202428FEB20248000039004.820027
4Brand_BoostInstagram01FEB202428FEB20248000039004.820027
5Email_PromoEmail10FEB202410MAR20246000048006.224029
6Email_PromoEmail10FEB202410MAR20246000048006.224029
7Festive_DealsFacebook15JAN202415FEB20249500042003.915531
8Festive_DealsFacebook15JAN202415FEB20249500042003.915531
9Flash_SaleGoogle01APR202415APR202416000072005.523014
10Flash_SaleGoogle01APR202415APR202416000072005.523014
11Hiring_CampaignLinkedIn10APR202410MAY20244500019002.912030
12Hiring_CampaignLinkedIn10APR202410MAY20244500019002.912030
13Influencer_PushInstagram05APR202405MAY20249000041004.618530
14Influencer_PushInstagram05APR202405MAY20249000041004.618530
15Lead_GenLinkedIn05JAN202420FEB20245000021003.113546
16Lead_GenLinkedIn05JAN202420FEB20245000021003.113546
17NewsletterEmail01MAY202431MAY20246500049006.826030
18NewsletterEmail01MAY202431MAY20246500049006.826030
19Retarget_AdsFacebook15FEB202415MAR20247000036004.116529
20Retarget_AdsFacebook15FEB202415MAR20247000036004.116529
21Spring_SaleGoogle01JAN202431JAN202412000054004.518030
22Spring_SaleGoogle01JAN202431JAN202412000054004.518030
23Summer_SplashGoogle01MAR202431MAR202414000061004.719030
24Summer_SplashGoogle01MAR202431MAR202414000061004.719030
25Year_End_BlastGoogle01DEC202431DEC202418000080006.127530
26Year_End_BlastGoogle01DEC202431DEC202418000080006.127530


proc sort data=campaign_rated;

    by Campaign_Name;

run;

proc print data=campaign_rated;

run;

OUTPUT:

ObsCampaign_NamePlatformStart_DateEnd_DateReachClicksConversion_RateROICampaign_DurationCampaign_Rating
1App_LaunchInstagram10MAR202410APR202411000053005.221031Good
2Brand_BoostInstagram01FEB202428FEB20248000039004.820027Good
3Email_PromoEmail10FEB202410MAR20246000048006.224029Excellent
4Festive_DealsFacebook15JAN202415FEB20249500042003.915531Average
5Flash_SaleGoogle01APR202415APR202416000072005.523014Excellent
6Hiring_CampaignLinkedIn10APR202410MAY20244500019002.912030Poor
7Influencer_PushInstagram05APR202405MAY20249000041004.618530Good
8Lead_GenLinkedIn05JAN202420FEB20245000021003.113546Poor
9NewsletterEmail01MAY202431MAY20246500049006.826030Excellent
10Retarget_AdsFacebook15FEB202415MAR20247000036004.116529Average
11Spring_SaleGoogle01JAN202431JAN202412000054004.518030Good
12Summer_SplashGoogle01MAR202431MAR202414000061004.719030Good
13Year_End_BlastGoogle01DEC202431DEC202418000080006.127530Excellent


data campaign_merged;

    merge marketing_campaigns(in=a)

          campaign_rated(in=b);

    by Campaign_Name;

    if a and b;

run;

proc print data=campaign_merged;

run;

OUTPUT:

ObsCampaign_NamePlatformStart_DateEnd_DateReachClicksConversion_RateROICampaign_DurationCampaign_Rating
1App_LaunchInstagram10MAR202410APR202411000053005.221031Good
2App_LaunchInstagram10MAR202410APR202411000053005.221031Good
3Brand_BoostInstagram01FEB202428FEB20248000039004.820027Good
4Brand_BoostInstagram01FEB202428FEB20248000039004.820027Good
5Email_PromoEmail10FEB202410MAR20246000048006.224029Excellent
6Email_PromoEmail10FEB202410MAR20246000048006.224029Excellent
7Festive_DealsFacebook15JAN202415FEB20249500042003.915531Average
8Festive_DealsFacebook15JAN202415FEB20249500042003.915531Average
9Flash_SaleGoogle01APR202415APR202416000072005.523014Excellent
10Flash_SaleGoogle01APR202415APR202416000072005.523014Excellent
11Hiring_CampaignLinkedIn10APR202410MAY20244500019002.912030Poor
12Hiring_CampaignLinkedIn10APR202410MAY20244500019002.912030Poor
13Influencer_PushInstagram05APR202405MAY20249000041004.618530Good
14Influencer_PushInstagram05APR202405MAY20249000041004.618530Good
15Lead_GenLinkedIn05JAN202420FEB20245000021003.113546Poor
16Lead_GenLinkedIn05JAN202420FEB20245000021003.113546Poor
17NewsletterEmail01MAY202431MAY20246500049006.826030Excellent
18NewsletterEmail01MAY202431MAY20246500049006.826030Excellent
19Retarget_AdsFacebook15FEB202415MAR20247000036004.116529Average
20Retarget_AdsFacebook15FEB202415MAR20247000036004.116529Average
21Spring_SaleGoogle01JAN202431JAN202412000054004.518030Good
22Spring_SaleGoogle01JAN202431JAN202412000054004.518030Good
23Summer_SplashGoogle01MAR202431MAR202414000061004.719030Good
24Summer_SplashGoogle01MAR202431MAR202414000061004.719030Good
25Year_End_BlastGoogle01DEC202431DEC202418000080006.127530Excellent
26Year_End_BlastGoogle01DEC202431DEC202418000080006.127530Excellent


7.4 PROC TRANSPOSE

proc transpose data=marketing_campaigns

               out=campaign_transposed

               prefix=Metric_;

    by Platform NotSorted;

    var Reach Clicks ROI;

run;

proc print data=campaign_transposed;

run;

OUTPUT:

ObsPlatform_NAME_Metric_1Metric_2Metric_3Metric_4Metric_5Metric_6
1InstagramReach1100001100008000080000..
2InstagramClicks5300530039003900..
3InstagramROI210210200200..
4EmailReach6000060000....
5EmailClicks48004800....
6EmailROI240240....
7FacebookReach9500095000....
8FacebookClicks42004200....
9FacebookROI155155....
10GoogleReach160000160000....
11GoogleClicks72007200....
12GoogleROI230230....
13LinkedInReach4500045000....
14LinkedInClicks19001900....
15LinkedInROI120120....
16InstagramReach9000090000....
17InstagramClicks41004100....
18InstagramROI185185....
19LinkedInReach5000050000....
20LinkedInClicks21002100....
21LinkedInROI135135....
22EmailReach6500065000....
23EmailClicks49004900....
24EmailROI260260....
25FacebookReach7000070000....
26FacebookClicks36003600....
27FacebookROI165165....
28GoogleReach120000120000140000140000180000180000
29GoogleClicks540054006100610080008000
30GoogleROI180180190190275275


10. PROC COPY (LIBRARY-LEVEL OPERATION)

libname source work;

libname target work;


proc copy in=source out=target;

    select marketing_campaigns;

run;

**Try The Above Code And Comment It

11. DATE FUNCTIONS DEMONSTRATION

data campaign_dates;

    set marketing_campaigns;

    Next_Month_Start = intnx('month', Start_Date, 1, 'begin');

    Campaign_Weeks   = intck('week', Start_Date, End_Date);

    Custom_Date      = mdy(12, 31, 2024);

    format Next_Month_Start Custom_Date date9.;

run;

proc print data=campaign_dates;

run;

OUTPUT:

ObsCampaign_NamePlatformStart_DateEnd_DateReachClicksConversion_RateROICampaign_DurationNext_Month_StartCampaign_WeeksCustom_Date
1App_LaunchInstagram10MAR202410APR202411000053005.22103101APR2024431DEC2024
2App_LaunchInstagram10MAR202410APR202411000053005.22103101APR2024431DEC2024
3Brand_BoostInstagram01FEB202428FEB20248000039004.82002701MAR2024431DEC2024
4Brand_BoostInstagram01FEB202428FEB20248000039004.82002701MAR2024431DEC2024
5Email_PromoEmail10FEB202410MAR20246000048006.22402901MAR2024531DEC2024
6Email_PromoEmail10FEB202410MAR20246000048006.22402901MAR2024531DEC2024
7Festive_DealsFacebook15JAN202415FEB20249500042003.91553101FEB2024431DEC2024
8Festive_DealsFacebook15JAN202415FEB20249500042003.91553101FEB2024431DEC2024
9Flash_SaleGoogle01APR202415APR202416000072005.52301401MAY2024231DEC2024
10Flash_SaleGoogle01APR202415APR202416000072005.52301401MAY2024231DEC2024
11Hiring_CampaignLinkedIn10APR202410MAY20244500019002.91203001MAY2024431DEC2024
12Hiring_CampaignLinkedIn10APR202410MAY20244500019002.91203001MAY2024431DEC2024
13Influencer_PushInstagram05APR202405MAY20249000041004.61853001MAY2024531DEC2024
14Influencer_PushInstagram05APR202405MAY20249000041004.61853001MAY2024531DEC2024
15Lead_GenLinkedIn05JAN202420FEB20245000021003.11354601FEB2024731DEC2024
16Lead_GenLinkedIn05JAN202420FEB20245000021003.11354601FEB2024731DEC2024
17NewsletterEmail01MAY202431MAY20246500049006.82603001JUN2024431DEC2024
18NewsletterEmail01MAY202431MAY20246500049006.82603001JUN2024431DEC2024
19Retarget_AdsFacebook15FEB202415MAR20247000036004.11652901MAR2024431DEC2024
20Retarget_AdsFacebook15FEB202415MAR20247000036004.11652901MAR2024431DEC2024
21Spring_SaleGoogle01JAN202431JAN202412000054004.51803001FEB2024431DEC2024
22Spring_SaleGoogle01JAN202431JAN202412000054004.51803001FEB2024431DEC2024
23Summer_SplashGoogle01MAR202431MAR202414000061004.71903001APR2024531DEC2024
24Summer_SplashGoogle01MAR202431MAR202414000061004.71903001APR2024531DEC2024
25Year_End_BlastGoogle01DEC202431DEC202418000080006.12753001JAN2025431DEC2024
26Year_End_BlastGoogle01DEC202431DEC202418000080006.12753001JAN2025431DEC2024



To Visit My Previous Family Relations In India Dataset:Click Here
To Visit My Previous Shopping Malls in Hyderabad Dataset:Click Here
To Visit My Previous Temples Of india Dataset:Click Here
To Visit My Previous Analysis Of Money Dataset:Click Here  



Follow Us On : 


 


--->FOLLOW OUR BLOG FOR MORE INFORMATION.

--->PLEASE DO COMMENTS AND SHARE OUR BLOG.

No comments:

Post a Comment