刘平川:【用户行为分析】Marmot实践
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 6,383 views

 

Statistics

Views

Total Views
6,383
Views on SlideShare
2,200
Embed Views
4,183

Actions

Likes
9
Downloads
84
Comments
1

7 Embeds 4,183

http://www.d2forum.org 4158
http://www.itfeed.cn 10
http://cache.baidu.com 10
http://reader.youdao.com 2
http://www.d2forum.org} {663014624|||pingback 1
http://www.d2forum.org} {1514583721|||pingback 1
http://www.chengxuyuans.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • cool
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

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