Tamber Stats is in Beta. The Analytics tool is now available in your dashboard and additional features are currently being developed.
Tamber Stats enables measurements that are real time, high resolution, and tightly aligned with the objectives of a recommender system. Where backtesting on historical data can provide an indication of real-world performance, Tamber Stats provides access to the raw results.
All you need to do is attach contextual information to the events you already are tracking. This information includes 1) the context in which the event occurred, and 2) whether or not this event should be counted as a successful recommendation (i.e. was the item in the event presented to the user as a recommendation).
var tamber = require('tamber')('Mu6DUPXdDYe98cv5JIfX');
tamber.event.track({
user: "user_rlox8k927z7p",
item: "item_83jx4c57r2ru",
behavior: "purchase",
hit: true,
context: {
page: "homepage",
section: "featured_section"
}
});
package main
import (
tamber "github.com/tamber/tamber-go"
"github.com/tamber/tamber-go/event"
)
func main() {
tamber.DefaultProjectKey = "Mu6DUPXdDYe98cv5JIfX"
e, info, err := event.Track(&tamber.EventParams{
User: "user_rlox8k927z7p",
Item: "item_83jx4c57r2ru",
Behavior: "purchase",
Hit: tamber.Bool(true),
Context: map[string]interface{}{
"page": "homepage",
"section": "featured_section"
},
})
}
#import <Tamber/Tamber.h>
[Tamber setUser:@"user_rlox8k927z7p"];
TMBEventParams *params = [TMBEventParams eventWithItem:@"item_83jx4c57r2ru" behavior:@"purchase"];
[[Tamber client] trackEvent:params responseCompletion:^(TMBEventResponse *object, NSHTTPURLResponse *response, NSString *errorMessage) {
if(errorMessage){
// Handle error
}
}];
require 'tamber'
Tamber.project_key = 'Mu6DUPXdDYe98cv5JIfX'
Tamber::Event.track(
:user => 'user_rlox8k927z7p',
:item => 'item_83jx4c57r2ru',
:behavior => 'purchase',
:hit => true,
:context => {
"page": "homepage",
"section": "featured_section"
}
)
$ curl https://api.tamber.com/v1/event/track \
-u Mu6DUPXdDYe98cv5JIfX: \
-d user=user_rlox8k927z7p \
-d item=item_83jx4c57r2ru \
-d behavior=purchase \
-d hit=true \
-d context='{
"page": "homepage",
"section": "featured_section"
}'
Tamber tamber = new Tamber("Mu6DUPXdDYe98cv5JIfX", "");
HashMap<String, Object> eventParams = new HashMap<String, Object>();
eventParams.put("user", "user_rlox8k927z7p");
eventParams.put("item", "item_83jx4c57r2ru");
eventParams.put("behavior", "purchase");
eventParams.put("hit", true);
HashMap<String, Object> context = new HashMap<String, Object>();
context.put("page", "detail-view");
context.put("section", "recommended");
eventParams.put("context", context);
JSONObject resp = new JSONObject();
try {
JSONObject resp = tamber.event.track(eventParams);
} catch (TamberException e) {
System.out.println(String.format("%s=%s", e.getClass().getName(), e.getMessage()));
}
import tamber
tamber.project_key = 'Mu6DUPXdDYe98cv5JIfX'
tamber.Event.track(
user='user_rlox8k927z7p',
item='item_83jx4c57r2ru',
behavior='purchase',
hit=True,
context={
"page": "detail-view",
"section": "recommended"
}
)
// add this to your html header
<script type="text/javascript">
var s=document.createElement("script");s.type="text/javascript",s.src="https://js.tamber.com/1.1.0/tmb.min.js",s.async=!0,document.getElementsByTagName("head")[0].appendChild(s),s.onload=s.onreadystatechange=function(){
window.tamber = window.tamber("Mu6DUPXdDYe98cv5JIfX");
window.tamber.setTrackGuests(true);
};
</script>
// call tamber
window.tamber.event.track({
user: "user_rlox8k927z7p",
item: "item_83jx4c57r2ru",
behavior: "purchase",
context: {
"page": "homepage",
"section": "featured_section"
}
});
These values help tie the user experience to the abstract event data. Together, the hits and the contexts allow you to see how a user interaction in one part of your app cascades to interactions elsewhere. You can derive stats like:
We are still building these stats features, and for now they are available to customers by request, and as they are developed.
Email us at team@tamber.com to request access.