The objective of this assignment is to assist Public Storage (PS) in making informed decisions regarding the expansion or contraction of their rental storage facilities. By analyzing various aspects of the PS business, its stores, locations, ratings, macroeconomic factors, and square footage (sqft) covered, we aim to provide insights that will aid in making strategic decisions.
The assignment consists of the following key components:
-
eda.ipynb: This Jupyter Notebook delves into different aspects of PS's business, exploring its stores, their locations, ratings, and the relationship with macroeconomic variables such as square footage covered. It serves as the exploratory data analysis stage of the project.
-
parametric_forecast_rentable_sqft.ipynb: In this Notebook, parametric forecasting methods are applied to predict rental storage expansion based on historical data and various parameters.
-
nonparametric_forecast_rentable_sqft.ipynb: This Notebook focuses on non-parametric forecasting techniques, offering an alternative approach to predicting rental storage expansion without making strong assumptions about the data.
- Both parametric_forecast_rentable_sqft.ipynb and nonparametric_forecast_rentable_sqft.ipynb can be run for different states. You just need to change one variable called state. I've tested it with CA, TX, AZ, FL; you can also put United States as state to see recommendations at country level
- Price of the business is assumed to be same at all times
- The occupancy of all the stores is assumed to be same at 90% at all times.
- No discounts.
- The properties shared by PS are all the properties belonging to PS
- Historical addition of rental square footage was also done based on demand forecasting and hence assumed a reliable feature
- CompletionDate assumed to be the day of start of the give site.
The project includes a src
directory with essential support code:
-
forecastingToolkit.py: Contains functions used during the forecasting process, helping to streamline the analysis and modeling.
-
macroEconomicsToolkit.py: This module facilitates the retrieval of macroeconomic data through API calls. It provides information on factors such as the Consumer Price Index (CPI), Unemployment rate, and the Public Storage America, Inc. (PSA) stock price.
-
site_clustering.py: Although incomplete due to time constraints, this script is intended to house all the code necessary for clustering PS sites. Clustering would help identify patterns and insights related to the site locations.
-
stockPriceToolkit.py: This toolkit is designed to retrieve stock price information for any stock, providing valuable financial data for analysis.
-
Input_data: This folder contains several data files. For the assignment, we primarily use the following files to drive the analysis:
property_data.csv
: Property data that serves as a key data source for the project.population_1950_to_2037_projections/united-states-population-2023-11-07.csv
: Population of the US from 1950 to 2023us_unemployment_rate_1960-2023.csv
: us_unemployment_rate from 1960 to 2023long-term-rates-1965_to_2023.csv
: LT interest rates pulled in as they also affect mortgage rateshh_stats_by_zipcode.csv
: household states such as hh size, income etc by zipcode
-
Output_data: Intended to store output data generated from the models, this folder currently hosts the
final_property_locations_with_features.csv
file. This dataset was prepared for site clustering, though the clustering analysis is pending completion.
- Exploring more models (maybe 1 or 2 more)
- Stacking the models to make collective predictions for a state
- Clustering sites in a state and then running the same forecasts for each state X cluster
All the necessary Python libraries required for the assignment are listed in the requirements.txt
file. You can use this file to ensure you have the correct versions of the libraries installed in your Python environment.
By following the outlined project flow and utilizing the provided support code and data, I can aim to assist Public Storage in making data-driven decisions regarding their rental storage facilities.