Skip to content

Instantly share code, notes, and snippets.

[
{
"scorePercentile": 1,
"deepClickersCount": 10108,
"recentBuyersCount": 63994,
"deepBuyersCount": 11806,
"recentClickersCount": 56391
},
{
"scorePercentile": 2,
[
{
"scorePercentile": 1,
"deepClickersCount": 4446,
"recentBuyersCount": 8312,
"deepBuyersCount": 22057,
"recentClickersCount": 29653
},
{
"scorePercentile": 2,
@zallek
zallek / instructions.md
Last active October 12, 2018 14:59
Tinyclues frontend test

Tinyclues frontend test

Our datascientists are working on improving Tinyclues' customer targeting machine learning algorithm. They need you to help them analyse the behavior of different versions of the model.

Your goal is to plot several KPIs by score quantile, which gives us a first insight on a model. By clicking on a list, the user can switch from a model to another.

screen shot 2018-07-27 at 10 21 33

The chart explained

{
"swagger" : "2.0",
"info" : {
"description" : "To try out the API, get your token using the /login endpoint and use it in the Authorize panel.",
"version" : "dev",
"title" : "Tinyclues Backops API"
},
"host" : "localhost:9000",
"basePath" : "/",
"tags" : [ {
url
http_code
depth
date_crawled
[...segments] (one column by segment)
title
h1
h2
h3
description

Keybase proof

I hereby claim:

  • I am zallek on github.
  • I am zallek (https://keybase.io/zallek) on keybase.
  • I have a public key ASAc-Ae_U5E0SvcQ3FHsS7qNCn6nokbaQ8FHM0Z6C57NPAo

To claim this, I am signing this object:

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.BotifySDK=t():e.BotifySDK=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}(function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(typeof e[t]){case"function":break;case"object":e[t]=function(t){var r=t.slice(1),n=e[t[0]];return function(e,t,o){n.apply(this,[e,t,o].concat(r))}}(e[t]);break;default:e[t]=e[e[t]]}return e}([function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=r(46),i=n(o),a=r(48),s=(0,a.applyMiddleware)(a.apiErrorMiddleware,a.getUrlDetailEncodeMiddleware,(0,a.queryMiddleware)(),a.dedupleMiddleware)(i.default);s.authToken=function(e){s.configuration.aut
{
"info": {
"version": "1.0.0",
"description": "Botify Saas API",
"title": "Botify API",
"x-codegen-settings": {
"useMethodPrefix": false,
"useModelPostfix": false,
"useControllerPostfix": false,
"useEnumPostfix": false,
/**
* Created by Kartik Andalam on 9/8/15.
* Copyright (c) 2015 APIMatic. All rights reserved.
*
*/
var HttpContext = require("./HttpContext");
var HttpResponse = require("../Response/HttpResponse");
var request = require("superagent");
var APIHelper = require('../../APIHelper');
var configuration = require('./configuration'),
AnalysisController = require('./Controllers/AnalysisController'),
JobController = require('./Controllers/JobController'),
ProjectController = require('./Controllers/ProjectController'),
SegmentController = require('./Controllers/SegmentController');
SegmentsRulesValidate = require('./Models/SegmentsRulesValidate'),
UrlsAggsQuery = require('./Models/UrlsAggsQuery'),
DryRun = require('./Models/DryRun'),
UrlsQuery = require('./Models/UrlsQuery'),
Rules = require('./Models/Rules'),