2013-10-28 1 views
1

Я нашел этот код для Google Analytics, который позволяет анализировать только подмножество данных для вашей аналитики.Сэмплирование данных с помощью Mixpanel/выборка событий

_gaq.push(['_setSampleRate', '80']); 

Я хочу сделать то же самое с Mixpanel, но от того, что я понимаю SetSampleRate это функция, которая специфична для Google Analytics.

Как я могу сделать что-то подобное в Mixpanel?

Я просмотрел их KB & Статьи справки, но не нашли ничего, что об этом говорит.

ответ

2

Все, что вам нужно сделать, это создать случайное число от 0 до 100 и проверить, находится ли оно ниже целевой цели. Если он ниже, вы отслеживаете его, иначе вы этого не сделаете.

Способ работы _setSampleRate в Google Analytics заключается в том, что он сэмплирует пользователь не по нажатию. Поэтому, когда вы создаете случайный номер, вы также должны хранить его в файле cookie, чтобы вы могли проверять дальнейшие взаимодействия и отслеживать его или нет.

В приведенном ниже примере я создал вспомогательную функцию, которая проверяет, находится ли пользователь в образце и обрабатывает логику cookie для меня.

function inSample(target) { 
    var domain_name = 'mysite.com'; // CUSTOMIZE WITH YOUR DOMAIN 
    var sampleCookie = 'mixpanel_sample='; // COOKIE NAME 

    var current = document.cookie; 

    if (current.indexOf(sampleCookie) > -1) { 
    // Cookie already exists use it 
    var current = document.cookie.substring(
     document.cookie.indexOf(sampleCookie) + sampleCookie.length 
    ); 
    if (current.indexOf(';') > -1) 
     current = current.substring(0,current.indexOf(';')); 

    current = parseInt(current); 
    } else { 
    // Cookie not found calculate a random number 
    current = Math.floor(Math.random()*100) 

    } 
    // reset the cookie to expire in 2 years 
    var two_years = new Date(); 
    two_years.setTime(two_years.getTime() + 2*365*24*60*60*1000); 
    two_years = two_years.toGMTString(); 

    document.cookie = sampleCookie + current + 
     '; domain=' + domain_name + '; path=/' + 
     ' ; expires=' + two_years + ';' 

    return target >= current; 
} 

Теперь все, что вам нужно сделать, это использовать эту функцию, чтобы стрелять или не отслеживать код отслеживания mixPanel.

if (inSample(80)) { 
    // MIXPANEL TRACKING CODE GOES HERE 
} 

Что вы имеете в конце - это отчет в Mixpanel, который включает только 80% ваших пользователей.