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

  • 5,984 views
Uploaded on

 

More in: Technology , Design
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • cool
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
5,984
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
84
Comments
1
Likes
9

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. userbehaviorsystem http://www.matmotu.com work @ youa WED team http://t.sina.com/rank
  • 2. userbehaviorsystem marmot you http://www.matmotu.com work @ youa WED team http://t.sina.com/rank
  • 3. marmot
  • 4. 100
  • 5. flash V.S phpclickheat canvas
  • 6. DOM cpu dom flash domphp clickheat dom canvas html5 DOM
  • 7. referer+url client js marmot server marmotID Sid+Mid url match sessionID client log seq=0 server log seq=nprocessor API
  • 8. mousemove mousedown target mouseup click event type dblclick focus timestamp scroll keydown custom data
  • 9. •••• API•
  • 10. O=(0,0)1024*768 1280*800 O=(document.documentElement.scrollWidth/2|0,0) align = middle relative coordinate
  • 11. DOM pathMDPMarmot DOM Path
  • 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. • marmot.log.js click• hover MDP •• selector MDP ••• HDFS/•
  • 14. targetevent typetimestampcustom data
  • 15. move start mouse mouse delta move - move = hover mouse mouse down + up = clickmouse mouse mouse deltadown + move + up = select
  • 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. 1024px 1px*1px768px Math.floor(document.documentElement.scrollWidth/n) 9px*9px
  • 18. ...
  • 19. ...
  • 20. AB test
  • 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. 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. PV
  • 24. Q: ,
  • 25. •••• 80
  • 26. marmot v2 design UDC
  • 27. ABtesthadoop framework(HDFS) beta publish marmot WPO
  • 28. thanks