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:
| Obs | Campaign_Name | Platform | Start_Date | End_Date | Reach | Clicks | Conversion_Rate | ROI | Campaign_Duration |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | |
| 2 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | |
| 3 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | |
| 4 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | |
| 5 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | |
| 6 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | |
| 7 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | |
| 8 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | |
| 9 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | |
| 10 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | |
| 11 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | |
| 12 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | |
| 13 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 |
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:
| Obs | Campaign_Name | Platform | Start_Date | End_Date | Reach | Clicks | Conversion_Rate | ROI | Campaign_Duration | CTR |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 | 4.44 | |
| 2 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | 7.54 | |
| 3 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | 8.00 | |
| 4 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | 4.50 | |
| 5 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | 4.82 | |
| 6 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | 4.88 | |
| 7 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | 4.36 | |
| 8 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | 4.56 | |
| 9 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | 4.50 | |
| 10 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | 5.14 | |
| 11 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | 4.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
| Variable | Mean | Minimum | Maximum |
|---|---|---|---|
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 Read | 13 |
|---|---|
| Number of Observations Used | 13 |
| Analysis of Variance | |||||
|---|---|---|---|---|---|
| Source | DF | Sum of Squares | Mean Square | F Value | Pr > F |
| Model | 2 | 23484 | 11742 | 43.35 | <.0001 |
| Error | 10 | 2708.67198 | 270.86720 | ||
| Corrected Total | 12 | 26192 | |||
| Root MSE | 16.45804 | R-Square | 0.8966 |
|---|---|---|---|
| Dependent Mean | 195.76923 | Adj R-Sq | 0.8759 |
| Coeff Var | 8.40686 |
| Parameter Estimates | |||||
|---|---|---|---|---|---|
| Variable | DF | Parameter Estimate | Standard Error | t Value | Pr > |t| |
| Intercept | 1 | 85.34803 | 13.74266 | 6.21 | 0.0001 |
| Reach | 1 | -0.00140 | 0.00027579 | -5.09 | 0.0005 |
| Clicks | 1 | 0.05220 | 0.00669 | 7.81 | <.0001 |
The REG Procedure
Model: MODEL1
Dependent Variable: 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:
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:
| Obs | Campaign_Name | Platform | Start_Date | End_Date | Reach | Clicks | Conversion_Rate | ROI | Campaign_Duration | Campaign_Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | Good | |
| 2 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | Average | |
| 3 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | Good | |
| 4 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | Excellent | |
| 5 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | Poor | |
| 6 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | Good | |
| 7 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | Good | |
| 8 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | Average | |
| 9 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | Excellent | |
| 10 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | Good | |
| 11 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | Excellent | |
| 12 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | Poor | |
| 13 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 | Excellent |
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:
| Obs | Campaign_Name | Platform | Start_Date | End_Date | Reach | Clicks | Conversion_Rate | ROI | Campaign_Duration |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | |
| 2 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | |
| 3 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | |
| 4 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | |
| 5 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | |
| 6 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | |
| 7 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | |
| 8 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | |
| 9 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | |
| 10 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | |
| 11 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | |
| 12 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | |
| 13 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 | |
| 14 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | |
| 15 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | |
| 16 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | |
| 17 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | |
| 18 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | |
| 19 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | |
| 20 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | |
| 21 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | |
| 22 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | |
| 23 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | |
| 24 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | |
| 25 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | |
| 26 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 |
7.2 DATA STEP SET STATEMENT
data campaign_combined;
set marketing_campaigns campaign_rated;
run;
proc print data=campaign_combined;
run;
OUTPUT:
| Obs | Campaign_Name | Platform | Start_Date | End_Date | Reach | Clicks | Conversion_Rate | ROI | Campaign_Duration | Campaign_Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | ||
| 2 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | ||
| 3 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | ||
| 4 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | ||
| 5 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | ||
| 6 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | ||
| 7 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | ||
| 8 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | ||
| 9 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | ||
| 10 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | ||
| 11 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | ||
| 12 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | ||
| 13 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 | ||
| 14 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | ||
| 15 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | ||
| 16 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | ||
| 17 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | ||
| 18 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | ||
| 19 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | ||
| 20 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | ||
| 21 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | ||
| 22 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | ||
| 23 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | ||
| 24 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | ||
| 25 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | ||
| 26 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 | ||
| 27 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | Good | |
| 28 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | Average | |
| 29 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | Good | |
| 30 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | Excellent | |
| 31 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | Poor | |
| 32 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | Good | |
| 33 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | Good | |
| 34 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | Average | |
| 35 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | Excellent | |
| 36 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | Good | |
| 37 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | Excellent | |
| 38 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | Poor | |
| 39 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 | Excellent |
7.3 PROC SORT + MERGE
proc sort data=marketing_campaigns;
by Campaign_Name;
run;
proc print data=marketing_campaigns;
run;
OUTPUT:
| Obs | Campaign_Name | Platform | Start_Date | End_Date | Reach | Clicks | Conversion_Rate | ROI | Campaign_Duration |
|---|---|---|---|---|---|---|---|---|---|
| 1 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | |
| 2 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | |
| 3 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | |
| 4 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | |
| 5 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | |
| 6 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | |
| 7 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | |
| 8 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | |
| 9 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | |
| 10 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | |
| 11 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | |
| 12 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | |
| 13 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | |
| 14 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | |
| 15 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | |
| 16 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | |
| 17 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | |
| 18 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | |
| 19 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | |
| 20 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | |
| 21 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | |
| 22 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | |
| 23 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | |
| 24 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | |
| 25 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 | |
| 26 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 |
proc sort data=campaign_rated;
by Campaign_Name;
run;
proc print data=campaign_rated;
run;
OUTPUT:
| Obs | Campaign_Name | Platform | Start_Date | End_Date | Reach | Clicks | Conversion_Rate | ROI | Campaign_Duration | Campaign_Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | Good | |
| 2 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | Good | |
| 3 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | Excellent | |
| 4 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | Average | |
| 5 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | Excellent | |
| 6 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | Poor | |
| 7 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | Good | |
| 8 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | Poor | |
| 9 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | Excellent | |
| 10 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | Average | |
| 11 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | Good | |
| 12 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | Good | |
| 13 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 | Excellent |
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:
| Obs | Campaign_Name | Platform | Start_Date | End_Date | Reach | Clicks | Conversion_Rate | ROI | Campaign_Duration | Campaign_Rating |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | Good | |
| 2 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | Good | |
| 3 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | Good | |
| 4 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | Good | |
| 5 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | Excellent | |
| 6 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | Excellent | |
| 7 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | Average | |
| 8 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | Average | |
| 9 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | Excellent | |
| 10 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | Excellent | |
| 11 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | Poor | |
| 12 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | Poor | |
| 13 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | Good | |
| 14 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | Good | |
| 15 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | Poor | |
| 16 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | Poor | |
| 17 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | Excellent | |
| 18 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | Excellent | |
| 19 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | Average | |
| 20 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | Average | |
| 21 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | Good | |
| 22 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | Good | |
| 23 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | Good | |
| 24 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | Good | |
| 25 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 | Excellent | |
| 26 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 | Excellent |
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:
| Obs | Platform | _NAME_ | Metric_1 | Metric_2 | Metric_3 | Metric_4 | Metric_5 | Metric_6 |
|---|---|---|---|---|---|---|---|---|
| 1 | Reach | 110000 | 110000 | 80000 | 80000 | . | . | |
| 2 | Clicks | 5300 | 5300 | 3900 | 3900 | . | . | |
| 3 | ROI | 210 | 210 | 200 | 200 | . | . | |
| 4 | Reach | 60000 | 60000 | . | . | . | . | |
| 5 | Clicks | 4800 | 4800 | . | . | . | . | |
| 6 | ROI | 240 | 240 | . | . | . | . | |
| 7 | Reach | 95000 | 95000 | . | . | . | . | |
| 8 | Clicks | 4200 | 4200 | . | . | . | . | |
| 9 | ROI | 155 | 155 | . | . | . | . | |
| 10 | Reach | 160000 | 160000 | . | . | . | . | |
| 11 | Clicks | 7200 | 7200 | . | . | . | . | |
| 12 | ROI | 230 | 230 | . | . | . | . | |
| 13 | Reach | 45000 | 45000 | . | . | . | . | |
| 14 | Clicks | 1900 | 1900 | . | . | . | . | |
| 15 | ROI | 120 | 120 | . | . | . | . | |
| 16 | Reach | 90000 | 90000 | . | . | . | . | |
| 17 | Clicks | 4100 | 4100 | . | . | . | . | |
| 18 | ROI | 185 | 185 | . | . | . | . | |
| 19 | Reach | 50000 | 50000 | . | . | . | . | |
| 20 | Clicks | 2100 | 2100 | . | . | . | . | |
| 21 | ROI | 135 | 135 | . | . | . | . | |
| 22 | Reach | 65000 | 65000 | . | . | . | . | |
| 23 | Clicks | 4900 | 4900 | . | . | . | . | |
| 24 | ROI | 260 | 260 | . | . | . | . | |
| 25 | Reach | 70000 | 70000 | . | . | . | . | |
| 26 | Clicks | 3600 | 3600 | . | . | . | . | |
| 27 | ROI | 165 | 165 | . | . | . | . | |
| 28 | Reach | 120000 | 120000 | 140000 | 140000 | 180000 | 180000 | |
| 29 | Clicks | 5400 | 5400 | 6100 | 6100 | 8000 | 8000 | |
| 30 | ROI | 180 | 180 | 190 | 190 | 275 | 275 |
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:
| Obs | Campaign_Name | Platform | Start_Date | End_Date | Reach | Clicks | Conversion_Rate | ROI | Campaign_Duration | Next_Month_Start | Campaign_Weeks | Custom_Date |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | 01APR2024 | 4 | 31DEC2024 | |
| 2 | App_Launch | 10MAR2024 | 10APR2024 | 110000 | 5300 | 5.2 | 210 | 31 | 01APR2024 | 4 | 31DEC2024 | |
| 3 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | 01MAR2024 | 4 | 31DEC2024 | |
| 4 | Brand_Boost | 01FEB2024 | 28FEB2024 | 80000 | 3900 | 4.8 | 200 | 27 | 01MAR2024 | 4 | 31DEC2024 | |
| 5 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | 01MAR2024 | 5 | 31DEC2024 | |
| 6 | Email_Promo | 10FEB2024 | 10MAR2024 | 60000 | 4800 | 6.2 | 240 | 29 | 01MAR2024 | 5 | 31DEC2024 | |
| 7 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | 01FEB2024 | 4 | 31DEC2024 | |
| 8 | Festive_Deals | 15JAN2024 | 15FEB2024 | 95000 | 4200 | 3.9 | 155 | 31 | 01FEB2024 | 4 | 31DEC2024 | |
| 9 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | 01MAY2024 | 2 | 31DEC2024 | |
| 10 | Flash_Sale | 01APR2024 | 15APR2024 | 160000 | 7200 | 5.5 | 230 | 14 | 01MAY2024 | 2 | 31DEC2024 | |
| 11 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | 01MAY2024 | 4 | 31DEC2024 | |
| 12 | Hiring_Campaign | 10APR2024 | 10MAY2024 | 45000 | 1900 | 2.9 | 120 | 30 | 01MAY2024 | 4 | 31DEC2024 | |
| 13 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | 01MAY2024 | 5 | 31DEC2024 | |
| 14 | Influencer_Push | 05APR2024 | 05MAY2024 | 90000 | 4100 | 4.6 | 185 | 30 | 01MAY2024 | 5 | 31DEC2024 | |
| 15 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | 01FEB2024 | 7 | 31DEC2024 | |
| 16 | Lead_Gen | 05JAN2024 | 20FEB2024 | 50000 | 2100 | 3.1 | 135 | 46 | 01FEB2024 | 7 | 31DEC2024 | |
| 17 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | 01JUN2024 | 4 | 31DEC2024 | |
| 18 | Newsletter | 01MAY2024 | 31MAY2024 | 65000 | 4900 | 6.8 | 260 | 30 | 01JUN2024 | 4 | 31DEC2024 | |
| 19 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | 01MAR2024 | 4 | 31DEC2024 | |
| 20 | Retarget_Ads | 15FEB2024 | 15MAR2024 | 70000 | 3600 | 4.1 | 165 | 29 | 01MAR2024 | 4 | 31DEC2024 | |
| 21 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | 01FEB2024 | 4 | 31DEC2024 | |
| 22 | Spring_Sale | 01JAN2024 | 31JAN2024 | 120000 | 5400 | 4.5 | 180 | 30 | 01FEB2024 | 4 | 31DEC2024 | |
| 23 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | 01APR2024 | 5 | 31DEC2024 | |
| 24 | Summer_Splash | 01MAR2024 | 31MAR2024 | 140000 | 6100 | 4.7 | 190 | 30 | 01APR2024 | 5 | 31DEC2024 | |
| 25 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 | 01JAN2025 | 4 | 31DEC2024 | |
| 26 | Year_End_Blast | 01DEC2024 | 31DEC2024 | 180000 | 8000 | 6.1 | 275 | 30 | 01JAN2025 | 4 | 31DEC2024 |
No comments:
Post a Comment