Improving the Speed and Accuracy of the Item Page with Light Service

The item page is one of the most critical pages in the eBay buyer experience. It's where a buyer make their purchase decisions. It's also one of the pages in eBay that gets the most user traffic. The speed of this page and showing accurate information to the user is of great importance. Item fast light service was developed to get critical item information as quickly as possible from the primary source tables. This service is currently used in a number of applications to achieve functionalities that needs 100% accuracy with lightning speed and performance of less than 10ms for an item.

Item fast light service also supports functionality scalable to pull information for multiple items with the high consistency and performance. Based on the necessary information needed to support a required functionality, item light service is using a highly tuned SQL to retrieve only the needed information.

Dynamic item page updates with bidding details

Buyers tend to bid more during the last few minutes before an item listing ends. This makes the current price/next bid price of the item to go up quickly, and also makes the buyer's status on the item, such as high bidder/outbidder, change based on other user bids.

To handle this functionality across multiple pages (item/product) and platforms (web/native), the item light service polls auction details every few seconds, based on the time left before the listing ends. The item light service obtains up-to-date item and buyer status information directly from the ITEM DB and, therefore, it is highly consistent.

This enables buyers to see the updated information on the page quickly without refreshing the entire page, giving a better user experience.

auction item updates3

Item page speed improvements

One of the top engineering efforts in eBay is to improve the site speed of critical page flows to provide a better user experience. The item page is one of the critical pages in the buyer experience. We explored multiple ways of improving site speed for the item page using this light service.

Item image prefetch from search results page

The majority of the traffic to item pages comes from the search results page. One strategy is to find ways to improve the item page’s speed during or after the search page load, without degrading search performance.

Using item light service, selected top item images to be shown on item pages (after a user clicks) are prefetched and cached in the browser cache after the search page is loaded.

171819

This helped us to show item images instantly when the item page is loaded, which helped to improve conversion and speed by 200ms above the fold, as shown in the following graph.

image prefetch speed2

Main item image rendered on the item page

The item image prefetch in the search page only covered a set of top hit items. The same item light service is used in the item page to get the image faster, before the main domain service returns to render the whole page. This quickly fetched image from the light service is downloaded before the item page is fully rendered, saving 100ms above the fold time on the item page.

item image loaded faster in item page2

Rendering above the fold for mWeb item pages

The item page for the mobile web (mWeb) platform uses the item light service to quickly render the above-the-fold information like images and item title. This gives the ability to render the item page much faster progressively, without waiting for the entire domain service completion to render the entire item page. Since the item light service gets the item information directly from the primary data source, the data is consistent and reliable.

20

Using the item light service to render above-the-fold information on the item page gave incredible speed gains of ~1.5 seconds, as shown in the following graph.

mWeb item speed2

Next steps

There are a lot of similar functionalities that needs quick and accurate information to give a better user experience. A few more capabilities will be added to the item light service to get the user status of the item, such as high bidder, outbidder, or buyer, which will be used to show relevant merchandising modules on item pages.