import numpy as np def calculate_moving_average(scores, window_size): # Convert the scores list to a NumPy array for better performance scores_array = np.array(scores) # Create an array of rolling windows using the np.convolve function moving_averages = np.around( np.convolve(scores_array, np.ones(window_size) / window_size, mode="valid"), 2 ) return list(moving_averages) def calculate_tendency_slope(scores): # Convert the scores list to a NumPy array for better performance scores_array = np.array(scores) # Calculate the first derivative (slope) of the scores derivative = np.around(np.gradient(scores_array), 2) return list(derivative)