Stitch Fix Multithreaded
multithreaded.stitchfix.com · Company blog · on HN since 2015
Stitch Fix's data science and engineering team writes about ETL, recommendation algorithms, Kafka, Bayesian forecasting, and warehouse optimization.
What HN saysCommenters call it an excellent, great tech blog, and group it with other strong company engineering blogs from Scala shops.
87HN people shared it
23linked it in comments
114stories submitted
3.2Kstory points
2 years agolast shared
2015people per year2026
Most-shared posts
- 1Engineers Shouldn’t Write ETL10 people · 549 points · first shared 2016 · 174 comments on HN
- 2Hamilton: A Microframework for Dataframe Generation5 people · 76 points · first shared 2021 · 21 comments on HN
- 3Blog5 people · first shared 2015
- 4Our Hybrid lda2vec Algorithm4 people · 113 points · first shared 2016 · 4 comments on HN
- 5A Word Is Worth a Thousand Vectors4 people · 88 points · first shared 2015 · 13 comments on HN
- 6Putting the Power of Kafka into the Hands of Data Scientists4 people · 10 points · first shared 2018 · discussion on HN
- 7Sorry ARIMA, but I’m Going Bayesian3 people · 180 points · first shared 2016 · 34 comments on HN
- 8Deep Q-Learning for optimizing warehouse operations3 people · 7 points · first shared 2016 · discussion on HN
- 9Good Books for All Things Data3 people · 6 points · first shared 2016 · discussion on HN
- 10Anatomy of a Rails Service Object3 people · 4 points · first shared 2015 · discussion on HN
- 11There Is No Happy Path in Programming3 people · 3 points · first shared 2016 · discussion on HN
- 12Word vectors are awesome but you don’t need a neural network to find them2 people · 278 points · first shared 2017 · 66 comments on HN
- 13Pyxley: Python Powered Dashboards2 people · 243 points · first shared 2015 · 46 comments on HN
- 14Want to make good business decisions? Learn causality2 people · 188 points · first shared 2019 · 25 comments on HN
- 15What the SATs Taught Us about Finding the Perfect Fit2 people · 124 points · first shared 2017 · 20 comments on HN
What HN people wrote when they linked it
rubyfan · 2021-01-12
Same, the difference I had in my implementation was an added an 8 week moving average. This worked for most of the year and I think even holidays. What was considered normal for the week of Thanksgiving would not be considered normal for a summer week. This was relatively easy using SQL CTEs and windowing functions.
I also separately used a package in R called bsts (Bayesian Structural Time Series) for a different way of projecting seasonality on a trend to find an acceptable normal range. If the actual fell out of range then it was an anomaly. Great write up on the technique by Kim Larsen here: https://multithreaded.stitchfix.com/blog/2016/04/21/forget-arima/
severine · 2019-12-04
Thanks for the reference, I hadn't heard of Stitch Fix. They seem to have a great tech blog: https://multithreaded.stitchfix.com/blog/2019/09/10/stochastic-optimiz…
jatsign · 2017-12-14
Stitchfix has done a good job learning my size, but I wish I actually could "shop" at stichfix. When you get a box, there's a foldout paper that shows you examples of what you could wear these new clothes with...but I don't own any of those thing.
I wish they had some sort of follow up experience that would let me "complete" the outfit.
They talk a bit about why they don't have any sort of online shopping here:
http://multithreaded.stitchfix.com/blog/2015/07/07/personalizing-beyon…
huevosabio · 2017-04-21
I really like Stitch Fix blog :http://multithreaded.stitchfix.com
RBerenguel · 2017-04-21
The developer blog at StitchFix is excellent: http://multithreaded.stitchfix.com/blog/
Most Scala consultancies/companies have their own internal blogs and most are excellent, for instance, underscore: http://underscore.io/blog/
practicingdev · 2016-09-03
I'm the author of this article.
If you find it interesting, here are some links to a couple other articles I've really enjoyed on the topic:
# Queues don't fix overload
http://ferd.ca/queues-don-t-fix-overload.html
# There is no happy path in programming
http://multithreaded.stitchfix.com/blog/2016/01/29/no-happy-path-in-pr…
Also, if you're looking for a whole book on systems thinking, albeit in a more general context, it's worth checking out "Thinking in Systems: A Primer" by Donella H. Meadows.
Once you start thinking about this stuff it's impossible to not see it everywhere. But for programmers, ops people, etc. that's a good thing... because our jobs depend on it.
warrenmar · 2016-01-18
Previous work by Chris on word2vec
http://multithreaded.stitchfix.com/blog/2015/03/11/word-is-worth-a-tho…
nl · 2016-05-23
It's true that we (as in everyone working on these problems - not just IBM) don't have this working.
Two points, though:
1) This is probably the most active area of research in machine learning/AI at the moment. The same type of progress that was made in image understanding 2 years ago using deep learning techniques is now being seen in NLP. See for example[1].
2) It isn't at all clear that "making connections" of the type he talks about is needed to generate the types on insights that he claims. For example, the work StitchFix is doing combining analogy reasoning on words along with other non-textual data[2] indicates to me that the current state-of-the-art absolutely could "understand" that Bob Dylan wrote about themes that were associated with anti-war sentiment.
[1] "Teaching Machines to Read and Comprehend" http://arxiv.org/abs/1506.03340
[2] http://multithreaded.stitchfix.com/blog/2015/03/11/word-is-worth-a-tho… https://github.com/stitchfix/context2vec,
aabajian · 2016-01-31
I think the article overestimates how much we understand about neural networks, and the novel ways we might use them.
Take word2vec for example. It's a two-layer (i.e. not deep) neural network that uses a relatively simple training algorithm. Yet, after 30 minutes it can learn impressive relationships between English words. The method is only 3 years old and businesses continue to find novel ways to apply word2vec. Check out this article:
http://multithreaded.stitchfix.com/blog/2015/03/11/word-is-worth-a-tho…
They are using word2vec to find clothing items that resemble other products by adding or subtracting descriptors such as "stripes", "blue", or even "pregnant."
For my company, we are attempting to normalize medical terminology using word2vec. Here are a couple examples:
1. "myocardial" + "infarction" = "MI"
2. "ring" + "finger" = "fourth" + "metacarpal"
We never would have thought to normalize the names of different body parts, but with word2vec, it does it for us. There's a great deal yet to learn about how this model alone works, let alone deeper networks.
chrisjc · 2021-11-09
I think the point is that it doesn't do anything (data processing). Instead it's a way to create a set of directives about how to do something, and at the same time understand the inter-dependencies of those directives.
The blog post gets into the problems created by doing "something simple".
https://multithreaded.stitchfix.com/blog/2021/10/14/functions-dags-ham…
wodow · 2021-11-09
The purpose of this is discussed in their blog post, which is non-prominently linked in the README: https://multithreaded.stitchfix.com/blog/2021/10/14/functions-dags-ham…
krawczstef · 2021-11-09
Yeah we can make the links to the talk and blog post a bit more prominent -- but as to why? This should help answer that:
https://multithreaded.stitchfix.com/blog/2021/10/14/functions-dags-ham…
tschwimmer · 2021-04-05
I find Stitch Fix's blog to be consistently detailed and high quality [0]
[0] https://multithreaded.stitchfix.com/blog/
dtjohnnyb · 2021-04-02
They're on a roll for April fool's, this other one is the geekiest one I've seen in a while! https://multithreaded.stitchfix.com/blog/2021/04/01/fault-in-our-model…
moreati · 2021-03-25
> the famous 'Engineers Shouldn’t Write ETL' blog post
for anyone else wondering, this appears to be Engineers Shouldn’t Write ETL: A Guide to Building a High Functioning Data Science Department, by Jeff Magnusson in 2016 https://multithreaded.stitchfix.com/blog/2016/03/16/engineers-shouldnt…
galori · 2020-03-02
Stitch Fix | San Francisco, CA | REMOTE or ONSITE
Seeking Rails or React or iOS or Data Science or Genuine Empathy.
You'll find the finest people you've ever worked with.
https://www.stitchfix.com/careers/jobs
https://multithreaded.stitchfix.com/engineering/
https://multithreaded.stitchfix.com/algorithms/
abvdasker · 2020-02-18
Yeah, the Rails community noticed this a while ago. Put the business logic doing transformations on models and interacting with external dependencies in service classes, which accomplishes three things:
1) Avoids bloating model objects.
2) Avoids creating complicated controllers.
3) Makes it much easier to move to a microservices architecture when the time comes, because business logic has already been grouped into isolated components.
https://multithreaded.stitchfix.com/blog/2015/06/02/anatomy-of-service…
https://www.toptal.com/ruby-on-rails/rails-service-objects-tutorial
carreau · 2018-05-02
Internal state is often a problem, look at project like stichfix nodebook, and dataflow kernels, they make things a bit easier by re-executing cells.
On of the issue is you always have internal state as soon as you interact with a data source or sink. If you read/write from a API, then rest is stateful. Your file system is stateful... etc.
It's an interesting but hard problem, we'll be happy to have more help with.
https://github.com/dataflownb/dfkernel
https://multithreaded.stitchfix.com/blog/2017/07/26/nodebook/
thenaturalist · 2018-02-05
Yes, if you take a detour via Python. As Markus pointed out, you would still need to know data types and filter values in advance to configure the pivot - I would assume this is normally the case.
Using Python, you can build conditional rules for building a SQL query based on parametrized inputs with Jinja2. Example here: https://multithreaded.stitchfix.com/blog/2017/07/06/one-weird-trick/
You can then execute said query with a given DB module.
donut · 2017-01-28
This essay talks about the difference between thinkers, doers and janitors.
http://multithreaded.stitchfix.com/blog/2016/03/16/engineers-shouldnt-…
In it the difference is erased and people are reorganized in a, I think, more productive way.
elliott34 · 2016-11-06
I think one of the only companies doing this right, and that has the resources to do this right, is facebook, as they seperate AI research and teams that are focused on putting these things into production (i.e. ML engineers vs Ml researchers). Trying to combine these two things into the same role is resulting in continued confusion and frustration. I like this Stitchfix article as an overview (http://multithreaded.stitchfix.com/blog/2016/03/16/engineers-shouldnt-…
juxtaposicion · 2015-08-06
The Stitch Fix Tech Blog is also nice: http://multithreaded.stitchfix.com/blog/
And has recently covered GAMs, mixed effects models, word2vec, and tools like Pyxley.
PaulHoule · 2020-10-25
When I think "successful social media marketing" I think of some kind of podcast or blog... say
https://www.flightradar24.com/blog/avtalk-podcast/
or
https://multithreaded.stitchfix.com/blog/
https://www.stitchfix.com/men/blog/
https://www.stitchfix.com/women/blog/
(e.g. it was reading about machine learning at Stitch Fix (SF) that I felt solidarity for them and became a subscriber)
That aviation podcast is like a freight train, but that is because they have been doing it so long.
If there is a royal road, it is to pay someone and ride on their momentum. For instance the SF company will hire pro bloggers, you work with an "influencer", etc.
This San Francisco entrepreneur staged a fake protest to launch Salesforce.com (SF)
https://www.businessinsider.com/marc-benioff-salesforcecom-chief-has-p…