Thoughtfully writing a blog post

All blog posts

Three Years of Erch Engineering

This past December marked three years since I joined Stitch Fix Engineering. In that short time, I’ve witnessed the bulk of the growth that we’ve experienced as a company since our founding. For example, in December 2014 there were roughly 10 engineers and now we number nearly 100. It was a time when those of us at our SF headquarters used to be able to sit around a small conference room table for our all hands meetings. Similarly, we needed just a slightly larger table when our remote engineers (roughly 50% of our team) came to SF for a week during our once-quarterly Engineering summits.

What the SATs Taught Us about Finding the Perfect Fit

On the Stitch Fix Algorithms team, we’ve always been in awe of what professional stylists are able to do, especially when it comes to knowing a customer’s size on sight. It’s a magical experience to walk into a suit shop, have the professional shopping assistant look you over and without taking a measurement say, “you’re probably a 38, let’s try this one,” and pull out a perfect-fitting jacket. While this sort of experience has been impossible with traditional eCommerce, at Stitch Fix we’re making it a reality.

Welcome to Usability Movie Nights @ Stitch Fix

The lights are dimmed, bingo cards are dealt, and the scent of popcorn (well, melted butter..) spreads through the corridors... It’s time for usability movie night, and everyone’s invited!

Patterns of Service-oriented Architecture: Database Transactions

I’ve been lax in updating the “Patterns of Service-oriented Architecture” series, so here’s a new one on a time-honored and critical technique: Database Transactions. This is a powerful feature of most SQL databases that allows you to apply a series of changes to the database in an “all or nothing” type of approach.

What it's like to be a developer at Stitch Fix

Recently Increment published an issue about what it is like being a developer at a number of great companies like Fastly, Lyft, and DigitalOcean. We thought it would be fun to create a blog post answering the same questions about what it’s like at Stitch Fix.

Word Tensors

Counting and tensor decompositions are elegant and straightforward techniques. But these methods are grossly underepresented in business contexts. In this post we factorized an example made up of word skipgrams occurring within documents to arrive at word and document vectors simultaneously. This kind of analysis is effective, simple, and yields powerful concepts.

Stop Using word2vec

When I started playing with word2vec four years ago I needed (and luckily had) tons of supercomputer time. But because of advances in our understanding of word2vec, computing word vectors now takes fifteen minutes on a single run-of-the-mill computer with standard numerical libraries1. Word vectors are awesome but you don't need a neural network -- and definitely don't need deep learning -- to find them. So if you're using word vectors and aren't gunning for state of the art or a paper publication then stop using word2vec.

NBA Season Kickoff

Today is the start of the 2017-2018 NBA Season. Basketball statistics have become a rich and intriguing domain of study, bringing new insights and advantages to the teams that embrace such empiricism. Of course, the framing and analytic techniques used to study basketball are generalizations - they also give intuition to problems in business or other domains (and vice versa). So, for all the basketball statistics enthusiasts out there, as well as those that are looking for inspirations for their own analytic challenges, we thought we’d share a compendium of our past basketball-related posts.

Internal Software: Internal Software and Data Science

At Stitch Fix we certainly have enough data that it qualifies as Big, but since we collect the data ourselves we focus on making it as Rich as possible.

Time Dependent Classification

In this post we’ll take a look at how we can model classification prediction with non-constant, time-varying coefficients. There are many ways to deal with time dependence, including Bayesian dynamic models (aka "state space" models), and random effects models. Each type of model captures the time dependence from a different angle; we will keep things simple and look at a time-varying logistic regression that is defined within a regularization framework. We found it quite intuitive, easy to implement, and observed good performances using this model.