ANLY 600 Course Project
This course project has two components, a report and an in-class presentation. Each component will be worth 50% of the project grade. The project grade will be worth 30% of your overall grade for this course. All group members are expected to contribute to the project. If you have a group member who is not participating or you believe the work is being distributed unfairly, please send me an email.
Report (50% of grade)
The report must answer all parts of the prompt below and should be submitted as a .zip file which contains:
• Well-commented and neatly presented R or Python code (or combination of R and Python). It should be clear from the code itself what calculations are being done and what logic is implemented.
• Word document (1-2 pages) providing the answers to each of the questions in the prompt, along with any necessary explanation.
• CSV file providing the answer to #3 in the prompt
The due date for the final report is the end of the semester.
Presentation (50% of grade)
The in-class presentations are expected to be 15-20 minutes with 5 minutes for questions. Your group will receive your exact presentation date later on. You should prepare 3-5 PowerPoint slides explaining:
• Approach you took to solve the problem
• Challenges in solving the problem
• What your group learned from this project
Prompts
• Marketing Optimization
Your company is looking at optimizing their social media marketing by investing in various advertising campaigns. There are 250 Instagram campaigns and 250 Facebook campaigns available. Each runs for one month and reaches 30,000 people. Revenue for each campaign is found as numberOfCustomersReached*conversionRate*customerPurchaseAmount. Profit for each campaign is found as Revenue – Cost.
• Decide how much money to spend on the different ad campaigns to maximize total profit while meeting a budget of $2,000. Assume you can invest a partial amount (however small you would like) in each campaign, but you can’t run each campaign more than once. Return the number of campaigns run, total cost, total profit, average percentage reach to existing customers, average percentage reach to new customers, and average percentage reach to female customers.
• Decide how much money to spend on the different ad campaigns to maximize total profit while meeting a budget of $2,000. Each campaign is all or nothing – you can either run the whole campaign for the full cost or not run it at all. Return the number of campaigns run, total cost, total profit, average percentage reach to existing customers, average percentage reach to new customers, and average percentage reach to female customers.
• You’re not sure how much your budget requirement is hurting your marketing efforts, so you would like to see how sensitive your results are to your budget. How profitable will you be if you have a higher or lower budget? You would like to evaluate every budget option in $500 intervals between $500 and $10,000 (i.e. $500,$1000,$1500, etc.). Assume you can invest a partial amount (however small you would like) in each campaign, but you can’t run each campaign more than once. To evaluate the different budget options, write a function which takes in budgetThreshold as an input and outputs the number of campaigns run, total cost, total profit, average percentage reach to existing customers, average percentage reach to new customers, and average percentage reach to female customers. Return these values in a csv file. The csv file should have 20 rows and the columns should be:
• budgetThreshold
• numberOfCampaigns
• totalCost
• totalProfit
• mean%reachToExistingCustomers
• mean%reachToNewCustomers
• mean%reachToFemaleCustomers
• Financial Optimization
You are looking at optimizing your portfolio by investing in various stocks on 3/27/2018 based on their daily performance over the course of March 2018. You are investing in a number of stocks for the next 20 trading days, assuming that they will have the same performance in the next 20 trading days that they did in March 2018. There are 448 stocks to choose from, all from the S&P500 index. Daily return mean and standard deviation are provided in the data as ret_mean and ret_std. Expected return dollars over the next 20 trading days is calculated as price*dailyAverageReturn*20. Expected risk dollars over the next 20 trading days is calculated as price*dailyReturnStandardDeviation*20.
• Decide how much money to invest in each of the stocks to maximize expected return dollars while meeting a budget of $20,000 to invest. You also would not like your expected risk dollars to be more than $5,000. Assume you can invest a partial amount (however small you would like) in each stock, but you need to diversify your portfolio so you can’t invest in each stock more than once. Return the number of stocks bought, total money spent, expected risk dollars, expected return dollars, and the number of stocks bought in each Sector (i.e. Energy, Healthcare, etc.)
• Decide how much money to invest in each of the stocks to maximize expected return dollars while meeting a budget of $20,000 to invest. You also would not like your expected risk dollars to be more than $5,000. Each stock is all or nothing – you can either invest in the whole stock for the full cost or not invest in it at all. You need to diversify your portfolio so you can’t invest in each stock more than once. Return the number of stocks bought, total money spent, expected risk dollars, expected return dollars, and the number of stocks bought in each Sector (i.e. Energy, Healthcare, etc.)
• You’re not sure how much your risk dollars requirement is hurting your investing efforts, so you would like to see how sensitive your results are to your risk dollar threshold. How high will your return be if you have a higher or lower risk tolerance? You would like to evaluate every risk dollars option in $500 intervals between $500 and $10,000 (i.e. $500,$1000,$1500, etc.). Again, you have a budget of $20,000 to invest. Assume you can invest a partial amount (however small you would like) in each stock, but you can’t invest in each stock more than once. To evaluate the different investment options, write a function which takes in riskDollarsThreshold as an input and outputs the number of stocks bought, total money spent, expected risk dollars, and expected return dollars. Return these values in a csv file. The csv file should have 20 rows and the columns should be:
• riskDollarsThreshold
• numberOfStocks
• totalMoneySpent
• expectedRiskDollars
• expectedReturnDollars