Opentaps Analytics Ranking Product Categories

From Opentaps Wiki
Revision as of 00:45, 20 December 2014 by Sichen (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

With your sale data, opentaps Analytics can help you rank a list of products and present the best sellers to your customers first.

But what is a best seller? This is not as simple as it may first sound. Should you show your customers the products which have sold the most units, or the products that have higher prices but may sell less frequently? What if a product is new or hasn't sold too many times, but its brand sells much better than the other brands you carry? Finally, should you show a product by itself or a category of products first?

opentaps Analytics takes into consideration several factors when ranking your product category's members, including:

  • Value of sales
  • Units sold
  • Sales of the brand
  • Newness of the products
  • Number of clicks for the product or sub-category's web page

So, it could help you balance showing high value/low volume versus low value/high volume products. In the event several products have similar sales (or no sales), it could help you prioritize based on better-selling brands. Finally, it'll push the newest products in your category higher. All these factors are controlled by parameters which you can use to adjust the relative weights or rankings of each one.

To rank your product category, call the API at URL

http://analytics.opentaps.com/analytics/control/productCategoriesRank?userlogin=your_user_name&password=your_password&webkey=your_webkey

with a JSON string in this format:

{
   "categories":[
      {
         "id":"CATEGORY1",
         "introductionDate":"2012-03-15T21:52:10",
         "products":[
            {
               "id":"PRODUCT1001",
               "introductionDate":"2012-03-15T21:56:09"
            }
         ]
      },
      {
         "id":"CATEGORY2",
         "introductionDate":"2012-02-23T01:47:10",
         "products":[
            {
               "id":"CATEGORY2001",
               "introductionDate":"2012-02-10T19:49:14"
            },
            {
               "id":"CATEGORY2002",
               "introductionDate":"2012-02-10T19:49:16"
            }
         ]
      }
   ],
   "products":[
      {
         "id":"PRODUCT3001",
         "introductionDate":"2007-08-09T21:19:28"
      },
      {
         "id":"PRODUCT3002",
         "introductionDate":"2007-08-09T21:19:28"
      }
   ],
   "dateFrom":"2013-01-01T00:00:00",
   "dateTo":"2013-12-31T00:00:00",
   "brandBoostFactor":"1.00",
   "newnessBoostFactor":"1.00",
   "quantityBoostFactor":"2.00"
}

Note that you are passing both a list of products and a list of categories, plus your parameters. opentaps Analytics will look through your categories and sum up the sales of the products within those categories.

The additional parameters are:

  • dateFrom and dateTo - date range of sales, in JSON format (i.e. 2014-12-01T00:00:00)
  • brand boost factor - weighting of relative sales of this product's or category's brand relative to the average sale of brands, during the time period. A weight of 1.0 means that the brand weighting is equal to the relative sales weighting.
  • newness factor - relative weight for newness. Newness starts at 1.0 for new products and linearly amortizes to 0.0 over 30 days. You can use this boost the factor.
  • quantity boost factor - relative factor for quantity (units) of sales versus value (dollar amount) of sales. 1.0 means quantity and value of sales are equally important.
  • click weight - relative weighting of number of clicks the product or sub-category has received versus the sales data. This should be a very small number, such as 0.01, since sales are the most important determining factor. However, it could be used as a "tie breaker" for products with very similar amounts of sales. You can also use a negative value here in case you want to penalize products that get a lot of clicks but no sales.

The response will be a JSON string with each of the products and categories which are members of your original category and the ranking score from opentaps Analytics:

{
   "categories":{
      "CATEGORY1":4.227991,
      "CATEGORY2":1.712083,
   },
   "products":{
      "PRODUCT3001":24.52276,
      "PRODUCT3002":24.52276
   }
}

The higher rankings are the ones that opentaps Analytics recommends more heavily. Use them in your ecommerce system to rank the category's products and sub-categories.

You should try different combinations of parameters to see if the recommendations make sense. For example, is it over-relying on brand for this particular category? Might a brand overall have high sales but in another category altogether? Should we give the new products more of a chance to prove themselves and increase the newness factor? Are we over-emphasizing high value, low volume products? These can all be tweaked with the parameters to get new sets of rankings.