Analyzing the effectiveness of solution for matching project


We used the NetworkX to successfully build the model and obtain the final matching. Therefore, the only thing left it to analyze the effectiveness of our solution. As we mentioned in the last post, NetworkX is used to minimize the outcome. In our case, we used it to minimize the “negative” outcome. The final result we obtained, the total satisfaction degree between all advisors and advisees, is 9958.5; and the total time to run the solution is approximately 14.5 seconds.

Screen Shot 2018-08-14 at 3.27.42 PM

In addition, we used the Pandas to create two data frames separately for advisors and students. Pandas data frame is a way to organize the data and put it in Excel. In order for advisors to easily see their advisees, their data is organized in this way: index, or the rows, uses advisors’ names; data is the final matching. Since the largest demands for advisor is 12, we create 12 columns as “s1”, “s2” … “s12”. The final excel form looks like:

Screen Shot 2018-08-14 at 4.19.52 PM

Similarly, for students, the index, or rows, uses students’ names; data is the final matching. Since student will only have one advisor, so the final excel form will only one column:

Screen Shot 2018-08-14 at 4.24.23 PM

After putting the final matching in a nice form, we began to analyze our matching. The pij value ranges from -400 to 14, these two values represent two extreme cases: “-400” represents the case where advisor and student have no common majors, and the student is a transfer student, neurodiverse, student-athlete and first generation simultaneously; and advisor responded “1” for all 4 concerns. “14” is the case where all 5 majors chosen by student are the same with that of advisors. In addition, student is a transfer student, neurodiverse, student-athlete and first generation simultaneously; and advisor responded “3” for all 4 concerns. Therefore, we want to get the statistics, such as average, median, and mode, for our final matching to see the effectiveness.

The range of the final matching’s pij is from 0 (the lowest value) to 10.5 (the highest value). The average of pij is approximately 6.166; the median of pij is 6.5; the mode of pij is 5. We created both the normal distribution diagram and histogram to show the general trend:

Screen Shot 2018-08-15 at 10.44.11 PMScreen Shot 2018-08-16 at 12.59.07 AM

we could easily observe that the distribution of pij is almost the normal distribution. In addition, most pij values cluster around 5,6,7, and 8 which matched with mode (172 students have pij=5), median (149 students have pij=6.5) and average. From the histogram we can see, there are 186+211+95+188+194+151+124+123 = 1272 students, which is 79% of all students, are in the interval 4.59 to 8.67.  4.59(nearest pij value is 4.75) represents several situations, for example, it could be 2.5×1+2×1+0.25×1. And the worst situation has to match with the third major (1.5) and all 4 concerns (1+1+1+0.25). 8.67 (nearest pij value is 8.5) also represents several cases, and best case could be there are 3 common major between advisor and students, including home department. From the statistics, 258 students’ pij values are below 4.59; 85 students’ pij values are above 8.67. The pie chart is attached below:

Screen Shot 2018-08-16 at 1.05.15 AM

Furthermore, we create another pie chart corresponds to the number of students above or below the mode (5): it shows that 80% of students’ pij values are above the mode.

Screen Shot 2018-08-16 at 11.13.45 AM

Another pie chart would be the number of top ranking major. For the algorithm result, 80% students got advisors that interested in the students’ 1st wanted major. Only 7 students got an advisor that has no common major. That is unfortunate for these 7 students; however, there’s always a trade-off between the satisfaction level of whole group v.s individual.


Finally, we examined the number of matched majors between students and advisors. Usually we consider the matching with at least one common major would be effective. For our result, almost 100% students got advisors with at least one common major. And 72% of students got advisors with 2 or more majors.

Screen Shot 2018-09-08 at 2.46.54 PM

Furthermore, in order to compare and contrast with the effectiveness of random assignment, we also generate the similar histogram and pie charts for the result of random assignment.

Screen Shot 2018-09-06 at 9.36.16 PM

You could see the extreme values of random assignment: lowest value is -200 and highest value is 9.5. Both median and average are -95. Therefore is a huge difference between our algorithm result and random assignment.

Screen Shot 2018-09-09 at 10.06.47 PM

Screen Shot 2018-09-23 at 2.38.39 AM



It is clear that 80% of students got 0 major with advisors with random assignment result.

In general, the matching is both valid and efficient. We are glad that final matching generated by this research is useful. We sincerely hope the future application of it will lead to the improvement of the assigning task between advisees and advisors, which will empower both student and faculty by providing useful information to help them make better informed decisions.

This summer provides such a great opportunity for us to hone the critical thinking ability. Every mistake and progress we made are important, and thus enabling us to learn more about ourselves, both advantages and weakness. We want to thank Charles Center again for providing us this valuable chance and thank you for reading our posts! Have a great summer.