Skip to content
This repository has been archived by the owner on Dec 3, 2020. It is now read-only.

The "Add This Product" button is wrongly actionable on Walmart shopping cart page when the cart has saved items #181

Closed
Softvision-RemusDranca opened this issue Oct 19, 2018 · 16 comments
Assignees
Labels
[ENG]: Extraction Issues related to product extraction, including Fathom [QA]:Major issue Label for QA to mark major issues logged [QA]:Verified fixed Label for QA to mark verified fixed issues

Comments

@Softvision-RemusDranca
Copy link

[Affected versions]:

  • Firefox 62.0.3 and above

[Affected Platforms]:

  • All Windows
  • All Mac
  • All Linux

[Prerequisites]:

[Steps to reproduce]:

  1. Open the browser with the profile from prerequisites.
  2. Open the shopping cart with the items from prerequisites.
  3. Click the "Tracked Products" toolbar button.
  4. Click "Add This Product" button and observe the behavior.

[Expected result]:

  • The "Add This Product" button is not actionable.

[Actual result]:

  • The "Add This Product" button is actionable.

[Notes]:

  • If the button is clicked the item is added to the "Tracked Products" list and it has a wrong price displayed.
  • This issue is not reproducible on Amazon, Best Buy, eBay and Home Depot.
  • Attached is a screen recording of the issue:
    cart
@Softvision-RemusDranca Softvision-RemusDranca added the [QA]:Major issue Label for QA to mark major issues logged label Oct 19, 2018
@muccimoz muccimoz added the [ENG]: Triage Work the team needs to review to determine if it will be included as part of the next milestone. label Oct 19, 2018
@Osmose
Copy link
Contributor

Osmose commented Oct 21, 2018

@erikrose Thoughts on how to handle this?

@erikrose
Copy link
Contributor

How are you testing to see whether Add This Product should be actionable? One idea is to improve that. The other, which I bet I'll like better once I know the answer to my question, is to make the price detection better. You're getting the right image, after all. I'll see what I can do.

@Osmose
Copy link
Contributor

Osmose commented Oct 22, 2018

How are you testing to see whether Add This Product should be actionable? One idea is to improve that.

It should be actionable when the user is viewing a product page on a shopping website that features one primary product to purchase. Shopping carts and other pages that feature multiple products in equal proximity to each other shouldn't make the button actionable (see #86).

My thought is that this is something we ask Fathom: "What is the primary product on this page?", to which an answer could be "There's multiple products on this page", or "This page doesn't seem to be a single product page". The latter is what I'd expect for a shopping cart with one item. It's clearly not a single product page.

I suspect this isn't something we can finagle out of Fathom in a week and some change, so for now I guess our best bet is something like filtering by URL to specific product pages on our supported domains.

The other, which I bet I'll like better once I know the answer to my question, is to make the price detection better. You're getting the right image, after all. I'll see what I can do.

If we had a better plan for detecting multiple products on a single page (#86 again) then this would probably be a good idea.

@biancadanforth
Copy link
Collaborator

biancadanforth commented Oct 23, 2018

Also related: #125 (edit: now #158 ). Not differentiating between a product page and other kinds of pages on a supported site also makes it hard to measure extraction coverage, so solving this would help on multiple fronts!

@muccimoz muccimoz added reserve-November milestone and removed [ENG]: Triage Work the team needs to review to determine if it will be included as part of the next milestone. labels Oct 23, 2018
@muccimoz muccimoz added this to the November MVP milestone Oct 23, 2018
@erikrose
Copy link
Contributor

My thought is that this is something we ask Fathom: "What is the primary product on this page?", to which an answer could be "There's multiple products on this page",

One way to do that is to ask for the product images and see if there's a clear leader score-wise. I don't have time to test that myself, but it would be a quick win if it worked.

@Osmose
Copy link
Contributor

Osmose commented Oct 28, 2018

@erikrose is rewriting our ruleset so that the scores we return are between 0 and 1; that work is a blocker to our current fix for this, which adds a new rule that drops the score for items whose ancestor nodes have cart in their classname.

I'll reassign this to myself once his work lands.

@erikrose
Copy link
Contributor

In the meantime, somebody could be collecting cart-page samples, which we'll need to pick a confidence threshold.

@erikrose
Copy link
Contributor

I revised the ruleset to get each rule between 0..1 and made some other things I guessed were improvements as well. Trained it and got it to 100% on everything: price, title, and image. But then I ran it on the testing corpus and found I had actually made things universally worse. So, I will induct the test set into the training one and go back to the old drawing board!

In the meantime, I'll try to find a way to share my work with you.

biancadanforth added a commit to biancadanforth/price-tracker that referenced this issue Nov 1, 2018
…robes

* Update 'method' extra key for 'complete_extraction' event to have values of 'fathom', 'css_selectors', 'open_graph' or 'none' to distinguish between the two fallback extraction methods to Fathom: CSS Selectors or Open Graph attributes.
  * Note: Since none of our five supported sites use Open Graph attributes currently for product information, we should not expect to see any successful extraction using that method for the MVP.
* Important caveats for making conclusions using these probes as-is:
  * The coverage values that these probes will suggest will not be very accurate initially until we ensure we are extracting on only **product pages** for a supported site, rather than any page on the site (see Issues mozilla#225 and mozilla#181).
  * Successful extraction does not mean that the information extracted for the product is correct. It only means that _a_ value was extracted for each product feature (i.e. title, image and price) on the page.
biancadanforth added a commit to biancadanforth/price-tracker that referenced this issue Nov 2, 2018
…robes

* Update 'method' extra key for 'complete_extraction' event to have values of 'fathom', 'css_selectors', 'open_graph' or 'none' to distinguish between the two fallback extraction methods to Fathom: CSS Selectors or Open Graph attributes.
  * Note: Since none of our five supported sites use Open Graph attributes currently for product information, we should not expect to see any successful extraction using that method for the MVP.
* Important caveats for making conclusions using these probes as-is:
  * The coverage values that these probes will suggest will not be very accurate initially until we ensure we are extracting on only **product pages** for a supported site, rather than any page on the site (see Issues mozilla#225 and mozilla#181).
  * Successful extraction does not mean that the information extracted for the product is correct. It only means that _a_ value was extracted for each product feature (i.e. title, image and price) on the page.
biancadanforth added a commit to biancadanforth/price-tracker that referenced this issue Nov 6, 2018
…robes

* Update 'method' extra key for 'complete_extraction' event to have values of 'fathom', 'css_selectors', 'open_graph' or 'none' to distinguish between the two fallback extraction methods to Fathom: CSS Selectors or Open Graph attributes.
  * Note: Since none of our five supported sites use Open Graph attributes currently for product information, we should not expect to see any successful extraction using that method for the MVP.
* Important caveats for making conclusions using these probes as-is:
  * The coverage values that these probes will suggest will not be very accurate initially until we ensure we are extracting on only **product pages** for a supported site, rather than any page on the site (see Issues mozilla#225 and mozilla#181).
  * Successful extraction does not mean that the information extracted for the product is correct. It only means that _a_ value was extracted for each product feature (i.e. title, image and price) on the page.
biancadanforth added a commit to biancadanforth/price-tracker that referenced this issue Nov 6, 2018
…robes

* Update 'method' extra key for 'complete_extraction' event to have values of 'fathom', 'css_selectors', 'open_graph' or 'none' to distinguish between the two fallback extraction methods to Fathom: CSS Selectors or Open Graph attributes.
  * Note: Since none of our five supported sites use Open Graph attributes currently for product information, we should not expect to see any successful extraction using that method for the MVP.
* Important caveats for making conclusions using these probes as-is:
  * The coverage values that these probes will suggest will not be very accurate initially until we ensure we are extracting on only **product pages** for a supported site, rather than any page on the site (see Issues mozilla#225 and mozilla#181).
  * Successful extraction does not mean that the information extracted for the product is correct. It only means that _a_ value was extracted for each product feature (i.e. title, image and price) on the page.
@muccimoz muccimoz removed this from the November MVP milestone Nov 6, 2018
@poubina
Copy link

poubina commented Nov 7, 2018

Please, be aware that this behavior is also seen when checking out and not only when in Walmart. See attachment when on Bestbuy.

same item twice

@Osmose Osmose added the [ENG]: Extraction Issues related to product extraction, including Fathom label Nov 12, 2018
@biancadanforth
Copy link
Collaborator

In talking with Erik, we agreed that it'd be great to include a suitable number of sample pages in our test set to ensure Fathom does not find a product on non-product pages for supported sites.

Below is a stub where I was able to reproduce the related, corresponding issue on a particular page. In some cases, the content for the initially reported page has changed, so I included pages displaying a similar symptom and froze them via FathomFox (see below).

Actionable issues where we are finding a "product" when there should be none:

You can find the frozen pages on the Commerce team drive: Commerce > Engineering > extraction_bugs.zip. The naming convention for each frozen page is: <issue number>-<site>-<page-type>.html.

@erikrose Would your SoftVision resource be able to help you generate some more example pages for these kinds of symptoms for training? I realize we likely need many more pages to be confident about adressing these issues.

For fun, here is a screenshot of me tracking some "products" extracted by many of these bugs:

screen shot 2018-11-13 at 2 08 59 pm

@erikrose
Copy link
Contributor

Sure he could. Do you have a sense what users' current biggest problem is? Is it failed extraction from product pages or these false positives from non-product pages? It seems to me the latter is more of an annoyance than an impediment to use.

@Osmose
Copy link
Contributor

Osmose commented Nov 19, 2018

Users hate the former more, but the latter is problematic mainly because of the odd data it introduces into the data store, which sometimes breaks the UI in unrecoverable ways.

@erikrose
Copy link
Contributor

erikrose commented Nov 19, 2018

Could we put some kind of plug in place so the bad data doesn't get in? (Are we just calling < on non-numbers, and that's exploding?) I doubt we'll ever tamp that down to 0%.

@Osmose
Copy link
Contributor

Osmose commented Nov 19, 2018

Could we put some kind of plug in place so the bad data doesn't get in? (Are we just calling < on non-numbers, and that's exploding?) I doubt we'll ever tamp that down to 0%.

We should do both, we just haven't gotten around to it.

@Osmose
Copy link
Contributor

Osmose commented Nov 20, 2018

This appears to have been fixed in #275 and should be fixed in v15.0.0 which has been released.

@Osmose Osmose closed this as completed Nov 20, 2018
@Softvision-RemusDranca
Copy link
Author

I have verified this issue using the latest Price Wise TP (15.0.0) version and the issue is no longer reproducible. Tested on Windows 10x64, Mac 10.13 and Arch Linux 4.16.6 x64.

@Softvision-RemusDranca Softvision-RemusDranca added the [QA]:Verified fixed Label for QA to mark verified fixed issues label Nov 21, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
[ENG]: Extraction Issues related to product extraction, including Fathom [QA]:Major issue Label for QA to mark major issues logged [QA]:Verified fixed Label for QA to mark verified fixed issues
Projects
None yet
Development

No branches or pull requests

6 participants