Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hajs się musi zgadzać, czyli o sprzedaży na Amazon AW$

Hajs się musi zgadzać, czyli o sprzedaży na Amazon AW$

Presentation from AWS User Group (2015.09.24) in Warsaw by Łukasz Cepowski from Xstream.

AWS User Group Poland

September 24, 2015
Tweet

More Decks by AWS User Group Poland

Other Decks in Technology

Transcript

  1. Hajs się musi zgadzać, czyli o sprzedaży na Amazon AW$

    Lukasz Cepowski DevOps Consultant Solution Architect @ Xstream
  2. Boost sales with Amazon AWS [email protected] What are KPIs? Sample

    SALES KPIs: • revenue growth • customer base growth • product performance • product engagement • purchases • popularity • more... Sample TECH KPIs: • page visits • unique visitors • direct / referal traffic • engagement time • transactions • searches • more...
  3. Boost sales with Amazon AWS [email protected] Plain old HTTP access

    log 1.2.3.4 - - [23/Sep/2015:23:36:59 +0200] "GET /some/page.html&foo=hoo HTTP/1.1" 200 66 http://porn.com "Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0 Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 1320) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537" • 1.2.3.4 – where you are • GET /some/page.html&foo=hoo – what you are looking at • http:/ /porn.com – where you are comming from • „Mozilla/5.0...” – what device you are using
  4. Boost sales with Amazon AWS [email protected] Playing Ping Pong with

    JavaScript (function () { var x = []; x.push(['v', 1]); x.push(['t', (new Date()).getTime()]); x.push(['u', Math.random().toString(36).substring(7)]); x.push(['sr', screen.width + 'x' + screen.height]); x.push(['cd', screen.colorDepth]); x.push(['o', screen.mozOrientation]); x.push(['vp', window.innerWidth + 'x' + window.innerHeight]); x.push(['cs', document.characterSet]); x.push(['l', navigator.language]); x.push(['h', window.location.href]); var q = x.map(function (e) { return e[0] + '=' + encodeURIComponent(e[1]); }).join('&'); e = document.createElement('script'); e.async = 1; e.src = 'pong.js?' + q; f = document.getElementsByTagName('script')[0]; f.parentNode.insertBefore(e, f); })(); 1.2.3.4 - - [23/Sep/2015:23:52:41 +0200] "GET /ping.js?1443045141479 HTTP/1.0" 200 486 http://cepowski.com/ "-„ 1.2.3.4 - - [23/Sep/2015:23:52:42 +0200] "GET /pong.js?v=1&t=1443045141790&u=akjb1grdx6r&sr=1360x768&cd=32&vp=1x1 &cs=UTF-8&l=pt-BR&h=http%3A%2F%2Fcepowski.com%2F HTTP/1.0" 200 48 "http://cepowski.com/"
  5. Boost sales with Amazon AWS [email protected] Collecting data for Business

    Intelligence Amazon EC2 Amazon Elasticache Amazon S3 Amazon Redshift Graphing Software
  6. Boost sales with Amazon AWS [email protected] Let me Cloudsearch that

    for you 4. Return popular items first 1. Count references to popular item from other (access log, http referer) 3. Query Amazon Cloudsearch q.options={fields:[’referrers^3',’orders^2‚’likes^1.5’]} Show customers what is „hot” now to increase purchase likehood by customizing result relevance with KPIs (popularity, purchases, referrals, etc).
  7. Boost sales with Amazon AWS [email protected] Geospatial search with Amazon

    Cloudsearch 4. Return only relevant and nearby items • Items within customer area • Sort results by geographical distance 1. Get customer IP address from access log 2. Get aproximate location (GeoIP / MaxMind) 3. Query Amazon Cloudsearch q=restaurant&expr.distance=haversin(35.621966,-120.686706,location.latitude,location.longitude)&sort=distance asc Boost search performance by returning items locally available to customer.
  8. Boost sales with Amazon AWS [email protected] What is taste? Name

    Weizenbock American IPA Witbier Coffe Stout Janusz 2 1 4 5 Zbyszek 4 5 1 0 Czesław 1 2 5 5 Mirek 5 5 1 1
  9. Boost sales with Amazon AWS [email protected] Recommendations • Item based

    (taste, kNN) • User based (taste, kNN) • Simmilarity (text, TF/IDF) Amazon CloudSearch Amazon Elastic MapReduce
  10. Boost sales with Amazon AWS [email protected] Results • Recommended items

    for users
 „other users like you bought this and that” • Recommended items for items
 „simmilar items based on other users taste” • Users with simmilar taste
 „who likes simmilar products” • Simmilar items (based on description)
 „likely simmilar products”
  11. Boost sales with Amazon AWS [email protected] Challenges • Scalability (i.e.

    1M users against 100k items) • Sparse matrices • Weighting • Computation time • Amount of data
  12. Boost sales with Amazon AWS [email protected] Use Spot Instances to

    run calculations Runing 5x c4.large for ~two days Spot Pricing History
  13. Boost sales with Amazon AWS [email protected] Tips & tricks •

    Infrastructure as Code • Orchestration • Compressed data on S3 • Download results only (!)
  14. Boost sales with Amazon AWS [email protected] Future • More data

    • More tracking • Internet of things • Data driven marketing