This algorithm is meant to use fundamental metrics including the gross margin, total revenue, and revenue growth to calculate the customer growth rate of a company as a separate metric, and then use this metric to pick long and short candidates. The backtest doesn't work but there should be enough code available to show how the algorithm is supposed to work. Think the theory makes sense but I don't know Python well enough to get this to work.