Sift Engineering Blog

Testing and Deploying Sift’s JavaScript SDK

April 25, 2018 1:27 pm Published by

The rapidly evolving device and browser landscape allows us to collect increasingly rich data via our snippet. Because we host the snippet and our customers fetch it from us dynamically, expanding its functionality requires a strict eye on compatibility for all of our customers' end users. Our primary concerns are safety and iteration speed, and we’ve invested heavily in robust testing and deployment infrastructure to allow us to confidently roll changes out without spending weeks in manual testing.

Deep Learning for Fraud Detection

March 22, 2018 10:18 am Published by

In this blog post we detail how Sift has begun leveraging deep learning (in the form of RNNs) to improve our ability to detect fraud.

Preloading your Javascript Split Files

February 28, 2018 8:34 am Published by

By now, you’re probably familiar with the benefits of splitting up your app’s javascript into several smaller files through code […]

2017 Sift Engineering in Review

December 31, 2017 4:00 pm Published by

2017 has been a pivotal year for Sift Science and the engineering team.  We’ve delivered on amazing product launches, technological […]

conf.startup.ml

January 13, 2017 2:16 pm Published by

We’re very proud to sponsor Startup ML’s conference on Putting Deep Learning into Production, being held Jan 21, 2017. While we […]

The Engineering Team

September 27, 2016 5:25 pm Published by

We started Sift Science over 5 years ago with the mission to improve outcomes with data and create a safe, […]

Browser DGAF (that you use React)

March 16, 2016 5:58 pm Published by

Adventures in React Performance DebuggingRecently I read Benchling’s 2-part series in debugging performance issues in React, and it really echoed the issues and solutions that I’ve been working through on the Sift Science Console. So I was inspired to chime in with some of my own React performance debugging experiences in what may become a short series itself.

Grace Hopper Takeaways: Pipeline, Retention, and Diversity

October 30, 2015 5:12 pm Published by

A few weeks ago, I attended my first Grace Hopper Celebration as a technical speaker. There, I presented twice, sharing some findings from my research work on human-robot interaction. I walked away from the conference having learned two new words: pipeline and retention. Don’t get me wrong – I know and understand these words individually, but I’ve never heard these two words used more frequently anywhere else in my life. Every keynote and plenary speaker talked about either the pipeline problem, the retention problem, or both. They picked sides over which is the bigger problem, or waffled between the two. Every brunch, linner, and dinner conversation revolved around these two keywords.

Large Scale Decision Forests: Lessons Learned

August 25, 2015 8:51 pm Published by

At Sift Science, we use a variety of popular machine learning models to detect fraud for our customers. However, until recently we relied exclusively on a combination of linear models and sophisticated feature engineering. As we were reaching the limits of this setup, we began experimenting with our first non-linear model: random decision forests. Several months and over 100 experiments later, we were thrilled to announce the addition of random decision forests to our ensemble of models used to fight fraud. Along the way we learned quite a few things about designing a random decision forest classifier for the fraud detection use case. Here we detail several of these learnings, including how we handled sparse and missing features, useful model visualization techniques, heuristics we used to improve class separation, specialized feature engineering, and how we combined our random decision forest with our existing models. All told, these learnings resulted in an 18% reduction in error for our customers.

Turn Up the Bayes, Part 2

August 12, 2015 5:10 pm Published by

We really love tech talks.At Sift Science, sharing knowledge and facilitating great discussion are two of our favorite things (just behind fraud-fighting, board games, ML, and really beautiful data visualization). In that vein, we've been delighted to host a summer tech talk series entitled Turn Up The Bayes, where we invite awesome engineers to chat about the interesting things that they're working on. To set the mood, we provide delicious pizza and refreshing beverages, and set aside plenty of time for discussion, questions, and more pizza.

The Sass Mixins/Placeholders I Can’t Live Without for Responsive Web Design

July 24, 2015 4:50 pm Published by

Here at Sift Science, we just completed another big step in our ongoing marketing site redesign, overhauling the homepage and replacing old landing pages with [prettier, responsive, and more performant ones][1]. While the big performance improvements aren't quite ready to showcase yet (check in soon for more on that), I realized that there are a few custom Sass mixins and placeholders that I rely on heavily for responsive development—I'm not actually sure what I'd do without them—and I thought I'd share them here along with some CodePens so that other people might also take advantage of them!

Decision Forests: Taking Our Machine Learning to the Next Level

July 9, 2015 5:13 pm Published by

We're adding random decision forests to our machine learning solution, so get ready for an 18% improvement in Sift Score accuracy!This week, we launched an entirely new machine learning model called random decision forests, which will work alongside our existing models. Why? For an additional layer of prediction power, of course. With Sift Science’s decision forests in place, we expect that, on average, our customers will see a significant increase in fraud detection accuracy. This added model makes our online and large-scale learning capabilities even more robust! 

Turn Up The Bayes, Part 1

July 1, 2015 11:46 pm Published by

This week, we hosted the first session of our new summer speaking series (Turn Up The Bayes). I gave a talk on how we leverage a distributed database, HBase, to power an infrastructure that enables performant, distributed online learning. The following is a brief summary...but first, a quick introduction.Fraudsters always search for new ways to exploit opportunities at the expense of companies that provide legitimate goods and services. At Sift Science, we use real-time supervised machine learning to sabotage fraudster plots. As it turns out, the “real-time” portion of our product brings significant infrastructure challenges.

How We Rebuilt Our App, Part 2: From Rails + Marionette to React

June 9, 2015 6:32 pm Published by

In the first post of this series, we gave an overview of Sift Science’s architectural migration to React and Dropwizard. We followed up with some best practices for scaling React in a production setting and some tips on using React with D3. Today’s post will chronicle the front-end migration process of moving from Rails + Backbone + Marionette + Handlebars to a static Backbone + React console, and the challenges we encountered.

Running ML Infrastructure on HBase

May 29, 2015 6:52 pm Published by

On May 7th, I presented at HBaseCon, demonstrating how Sift Science leverages HBase and its ecosystem in powering our machine learning infrastructure. In case you missed the talk, I’ll lay out the main points here.There are three main types of events that we receive from customers on our platform: page views (also known as page activities), purchases (also known as transactions), and “labels”.

d-Threeact: How the Sift Science Console Team Made d3 and React the Best of Friends

May 19, 2015 10:25 pm Published by

A little less than a year ago, the Sift Science Console Team decided to migrate its Backbone and Marionette Views to ReactJS see also our post on specific React tips we learned along the way.  Among the many facets of a piece-by-piece migration like this was figuring out how best to manage (err...'reactify') our d3 charts. There were already a couple good reads/ listens on this topic—with very different views on the responsibilities of each library—which we found quite helpful in establishing our own approach.

Best practices for building large React applications

May 7, 2015 5:41 pm Published by

Sift Science has been using React in production for almost a year now. In that time, we grew our application from a Backbone + React frankenstein hybrid app into one fairly large hierarchy of React components. In this post, we’ll describe some techniques and best practices that have helped us scale our UI code base with minimal friction. We’ll also walk through some common component design patterns.Hopefully this post will save you time and sanity and provide you with some new tools for maintaining a React code base that builds on itself (instead of breaking down) as the complexity of the UI grows.

How we rebuilt our app on React and Dropwizard, Part 1

April 28, 2015 8:06 pm Published by

Two years ago, we publicly launched our first fraud product with the goal of making it easy for anybody to leverage the same machine learning technology that protects the largest internet retailers. That product had a very simple interface: we provided one API for sending data about user behavior and another to query the fraud score of a user. But as our customer base grew, we needed better internal tools to debug and surface customer issues.