This project helps users decide which American state is the best to live in based on the following criteria:
- Income
- Employment Rate
- Cost of Living
- Crime Rate
- Annual Average Temperature
- Number of Snowfall Days
You can customize these criteria to your needs. Instructions are provided in the configuration settings.
To get started with the project, follow these steps:
- Clone the repository:
git clone https://github.com/Naveen-Raj-M/find_your_state.git
If you don't have Git installed in your computer, find and click the green Code button near the top right. Select the Download ZIP option. You can unzip the file to access the contents locally in your computer
-
Navigate to the project directory:
cd find_your_state -
Build the virtual environment:
source build_venv.sh
To execute the find_your_state.py script, use the following command:
python3 -m engine.find_your_state --config-path ../ --config-name config.yamlConfiguration
As I already mentioned, you can configure the criteria as per your need. To start with, open `config.yaml` file.defaults:
- _self_
- override hydra/hydra_logging: disabled
- override hydra/job_logging: disabled
hydra:
output_subdir: null
run:
dir: .
# weather configuration
weather:
temperature: 50- This section configures the weather criteria. The
temperaturekey sets the preferred average annual temperature.
# snow configuration
snowfall:
upper_bound: 30
lower_bound: 5- This section configures the snowfall criteria. The
upper_boundandlower_boundkeys set the acceptable range for the number of snowfall days.
# income configuration
income:
minimum: 80000- This section configures the income criteria. The
minimumkey sets the minimum acceptable annual income in USD.
# risk_affinity configuration
r:
weather: 1
snowfall: 0.5
employment: 2
crime_rate: 2
cost_of_living: 1
income: 3- This section configures the risk affinity for each criterion. Set
r< 1 for risk-aversive utilityr= 1 for risk-neutral utilityr> 1 for risk-seeking utility
# weights configuration
weights:
weather: 10
snowfall: 10
employment: 20
crime_rate: 20
cost_of_living: 15
income: 25- This section configures the weights for each criterion. The values represent the relative importance of each criterion in the final decision-making process.
Results
The final result will look like this

Final Ranking of States
Beyond the final ranking, you can also visualize the historic data of average annual temperature for each state, and how each State performed in each criteria
PDF of historic data of Annual Average Temperature of Indiana
Probability of no of snowfall days being between the given range
Probability of average household income greater than the given value
Performance of various states in employment rate
Performance of various states in crime rate
Performance of various states in cost of living index
- Weather and Snowfall: National Centers for Environmental Information (www.ncei.noaa.gov)
- Employment Rate: U.S. Bureau Of Labor Statistics (www.bls.gov)
- Cost of Living: Missouri Economic Research and Information Center (https://meric.mo.gov/)
- Income: United States Census Bureau (https://data.census.gov/)
- Crime Rate: FBI Crime Data Explorer (https://cde.ucr.cjis.gov/)





