diff --git a/p13/rubric.md b/p13/rubric.md
new file mode 100644
index 0000000000000000000000000000000000000000..a8f5384e286dd96593d9a844db9b1f11eb316fd6
--- /dev/null
+++ b/p13/rubric.md
@@ -0,0 +1,152 @@
+# Project 13 (P13) grading rubric 
+
+## Code reviews
+
+- A TA / grader will be reviewing your code after the deadline.
+- They will make deductions based on the Rubric provided below.
+- To ensure that you don’t lose any points in code review, you must review the rubric and make sure that you have followed the instructions provided in the project correctly.
+
+## Rubric
+
+### General guidelines:
+
+- Did not close the connection to `conn` at the end of notebook (-5)
+- `import` statements are not mentioned in the required cell at the top of the notebook or used additional import statements beyond those that are stated in the directions (-3)
+- Displaying excessive irrelevant information (-3)
+- Required outputs not visible/did not save the notebook file prior to running the cell containing "export" (-3)
+- Defined required functions/data structures more than once or repeating exact same code in multiple places instead of wrapping inside a function (-3) 
+- Calling unnecessary functions/slow functions multiple times within a loop (-3)
+- Hardcoded indices (-3)
+- Used meaningless/built-in function names for variables (-3)
+- Manually downloaded specific files (-3)
+- Used absolute paths such as C://ms//cs220//p12 or hardcoded // or \\ in any of the paths (-3)
+
+### Question specific guidelines:
+
+- Q1 deductions 
+	- Answer is hardcoded (-5)
+	- `download` function is not used to download `QSranking.json` (-3)
+	- `conn` data structure is not implemented/logic is incorrect (-3)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- Incorrect logic is used to answer (-2)
+
+- Q2 deductions 
+	- Answer is hardcoded (-5)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- Incorrect logic is used to answer (-2)
+
+- Q3 deductions 
+	- Answer is hardcoded (-5)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- Incorrect logic is used to answer (-2)
+
+- Q4 deductions 
+	- Answer is hardcoded (-5)
+	- Did not use SQL query to answer (-3)
+	- `bar_plot` function is not used (-3)
+	- Incorrect logic is used to answer (-2)
+	- Plot is incorrect/not visible/not properly labeled (-2)
+	- Incorrect input arguments are passed to the required functions (-1)
+
+- Q5 deductions 
+	- Answer is hardcoded (-5)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- Incorrect logic is used to answer (-2)
+
+- Q6 deductions 
+	- Answer is hardcoded (-5)
+	- `top_10_total_score` DataFrame from Q5 is not used/`bar_plot` function is not used (-3)
+	- Incorrect logic is used to answer (-2)
+	- Plot is incorrect/not visible/not properly labeled (-2)
+	- Incorrect input arguments are passed to the required functions (-1)
+
+- Q7 deductions 
+	- Answer is hardcoded (-5)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- Incorrect logic is used to answer (-2)
+
+- Q8 deductions 
+	- Answer is hardcoded (-5)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- `scatter_plot` function is not used (-3)
+	- Incorrect logic is used to answer (-2)
+	- Plot is incorrect/not visible/not properly labeled (-2)
+	- Incorrect input arguments are passed to the required functions (-1)
+
+- Q9 deductions  
+	- Answer is hardcoded (-5)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- `scatter_plot` function is not used (-3)
+	- Incorrect logic is used to answer (-2)
+	- Plot is incorrect/not visible/not properly labeled (-2)
+	- Incorrect input arguments are passed to the required functions (-1)
+
+- Q10 deductions 
+	- Answer is hardcoded (-5)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- `scatter_plot` function is not used (-3)
+	- Incorrect logic is used to answer (-2)
+	- Plot is incorrect/not visible/not properly labeled (-2)
+	- Incorrect input arguments are passed to the required functions (-1)
+
+- Q11 deductions  
+	- Answer is hardcoded (-5)
+	- Did not use SQL query to answer (-3)
+	- `pandas` operations other than `.corr`, `.loc` and `.iloc` are used (-3)
+	- Incorrect logic is used to answer (-2)
+
+- Q12 deductions 
+	- Answer is hardcoded (-5)
+	- Did not use SQL query to answer (-3)
+	- `pandas` operations other than `.corr`, `.loc` and `.iloc` are used (-3)
+	- Incorrect logic is used to answer (-2)
+
+- Q13 deductions 
+	- Answer is hardcoded (-5)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- Incorrect logic is used to answer (-2)
+
+- Q14 deductions 
+	- Answer is hardcoded (-5)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- Incorrect logic is used to answer (-2)
+
+- Q15 deductions 
+	- Answer is hardcoded (-5)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- Incorrect logic is used to answer (-2)
+
+- Q16 deductions 
+	- Answer is hardcoded (-5)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- `horizontal_bar_plot` function is not used (-3)
+	- Incorrect logic is used to answer (-2)
+	- Plot is incorrect/not visible/not properly labeled/countries in the horizontal bar plot are not ordered in increasing order of the difference between `avg_citations` and `avg_inter_faculty` (-2)
+	- Incorrect input arguments are passed to the required functions (-1)
+
+- Q17 deductions 
+	- Answer is hardcoded (-5)
+	- Used `pandas` or DataFrame slicing instead of using SQL query to answer (-3)
+	- `regression_line_plot` function is not used (-3)
+	- Incorrect logic is used to answer (-2)
+	- Plot is incorrect/not visible/not properly labeled (-2)
+	- Incorrect input arguments are passed to the required functions (-1)
+
+- Q18 deductions 
+	- Answer is hardcoded (-5)
+	- `regression_line_plot` function is not used (-3)
+	- Incorrect logic is used to answer (-2)
+	- Plot is incorrect/not visible/not properly labeled (-2)
+	- Incorrect input arguments are passed to the required functions (-1)
+
+- Q19 deductions 
+	- Answer is hardcoded (-5)
+	- Incorrect logic is used to answer (-2)
+
+- Q20 deductions 
+	- Answer is hardcoded (-5)
+	- `num_institutions` DataFrame from Q4 is not used/`pie_plot` function is not used (-3)
+	- Incorrect logic is used to answer (-2)
+	- Plot is incorrect/not visible/not properly labeled/not titled/legend is visible (-2)
+	- Incorrect input arguments are passed to the required functions (-1)
+