Communicating Results - Step 8 Question

Hello world,

No faulty code to show today. I’m a bit confused on step 8 of the Communicating Results course though, and I’m surprised no one seems to have said anything about this step yet - I might just be missing something. In the mission, a new Results column is generated at the beginning, and then seemingly not used again when calculating the impact of changing app prices. Shouldn’t this column be used to calculate which apps we are actually interested in counting? Otherwise the whole section about majority voting seems useless…

Here is a link to the mission:

And the solution code provided:

criteria = ["price_criterion", "genre_criterion", "category_criterion"]
affordable_apps["Result"] = affordable_apps[criteria].mode(axis='columns')

def new_price(row):
    if row["affordability"] == "cheap":
        return round(max(row["Price"], cheap_mean), 2)
    else:
        return round(max(row["Price"], reasonable_mean), 2)
    
affordable_apps["New Price"] = affordable_apps.apply(new_price, axis="columns")

affordable_apps["Installs"] = affordable_apps["Installs"].str.replace("[+,]", "").astype(int)

affordable_apps["Impact"] = (affordable_apps["New Price"]-affordable_apps["Price"])*affordable_apps["Installs"]

total_impact = affordable_apps["Impact"].sum()
print(total_impact)

Hey! I´d love to upvote the thread, 'cause I had the same question.
I tried to multiply the affordable_apps["Impact"] by the affordable_apps["Result"] but it didn´t affect the value of the total_impact, so it seems that eligible apps defined by the majority voting section are the same apps that have the price below the mean price of their price category.
And, indeed, if we check how many apps have got 1 in both 'price_criterion' and 'Result', we´ll see that all apps eligible by 'price_criterion' are included in the final list of eligible apps:

[In]: affordable_apps[['price_criterion', 'Result']].all(axis=1).sum()
[Out]: 401

Knowing that, the genre_criterion and the category_criterion analysis seem to be redundant. Unless we use the results of this analysis to determine the 'New Price' in case the means used in the analysis are higher than cheap_mean and reasonable_mean respectively.

So, it would be interesting to know what others think on this question.