刘平川:【用户行为分析】Marmot实践

6,470 views

Published on

Published in: Technology, Design
1 Comment
9 Likes
Statistics
Notes
  • cool
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
6,470
On SlideShare
0
From Embeds
0
Number of Embeds
4,184
Actions
Shares
0
Downloads
97
Comments
1
Likes
9
Embeds 0
No embeds

No notes for slide

刘平川:【用户行为分析】Marmot实践

  1. 1. userbehaviorsystem http://www.matmotu.com work @ youa WED team http://t.sina.com/rank
  2. 2. userbehaviorsystem marmot you http://www.matmotu.com work @ youa WED team http://t.sina.com/rank
  3. 3. marmot
  4. 4. 100
  5. 5. flash V.S phpclickheat canvas
  6. 6. DOM cpu dom flash domphp clickheat dom canvas html5 DOM
  7. 7. referer+url client js marmot server marmotID Sid+Mid url match sessionID client log seq=0 server log seq=nprocessor API
  8. 8. mousemove mousedown target mouseup click event type dblclick focus timestamp scroll keydown custom data
  9. 9. •••• API•
  10. 10. O=(0,0)1024*768 1280*800 O=(document.documentElement.scrollWidth/2|0,0) align = middle relative coordinate
  11. 11. DOM pathMDPMarmot DOM Path
  12. 12. body div#container(HTMLElement) div(HTMLElement) div(HTMLElement) Marmot.getPath path=[div.container, ~1div] path.replace(/~(d+)([^~]+)/gi, ~$2:nth-of-type($1)) .replace(/~/gi, >) .replace(/./gi, #); selector=’div#container>div:nth-of-type(1)’
  13. 13. • marmot.log.js click• hover MDP •• selector MDP ••• HDFS/•
  14. 14. targetevent typetimestampcustom data
  15. 15. move start mouse mouse delta move - move = hover mouse mouse down + up = clickmouse mouse mouse deltadown + move + up = select
  16. 16. body x=300 div#container(HTMLElement) y=100 div(HTMLElement) div(HTMLElement)mdp selector = ‘div#container>div:nth-of-type(1)’relative coordinate x = event.x; //300relative coordinate y = event.y; //100var el = document.querySelector(mdp selector); //var xy = Dom.getXY(el);var corrective x = xy[0] + relative coordinate x;var corrective y = xy[1] + relative coordinate y;
  17. 17. 1024px 1px*1px768px Math.floor(document.documentElement.scrollWidth/n) 9px*9px
  18. 18. ...
  19. 19. ...
  20. 20. AB test
  21. 21. •A a->b->c->d->...•B c->b->d->a->...•C a->b->c->a->...•D a->c->b->a->... a->b->c->a
  22. 22. key path[, input.rd_fv_30, input.phone_number, button.btn-charge]similar path[, input.phone_number, button.btn-charge, input.PassInputPassword0][, input.rd_fv_30, input.phone_number, button.btn-charge, input.PassInputUsername0,input.PassInputPassword0][, input.phone_number, button.btn-charge, input.PassInputPassword0][, input.rd_ct_slow, input.phone_number, button.btn-charge, div.pdc-wrap~2div~1div~1div~1a, ][, input.phone_number][, input.phone_number, button.btn-charge, div.user_register_ctn~1h4,button.user_register_btn][, input.rd_fv_50, input.phone_number, input.phone_number, input.phone_number,button.btn-charge][, input.phone_number, button.btn-charge, input.PassInputPassword0,form.PassFormlogin~1fieldset~1p~1button, form.PassFormlogin~1fieldset~1p~1button]
  23. 23. PV
  24. 24. Q: ,
  25. 25. •••• 80
  26. 26. marmot v2 design UDC
  27. 27. ABtesthadoop framework(HDFS) beta publish marmot WPO
  28. 28. thanks

×