Flo is a smart period tracker that accurately predicts women’s menstrual cycles, ovulation and fertile days.
Around 30% of women around the globe face the challenge of irregular periods, but the majority of mobile period trackers cannot make accurate predictions for these women.
When Flo decided to partner with InData Labs for neural network implementation, there were more than 450 GB of user information stored in their database. Every day, women manually log around 1.4 M new data points including cycle history, ovulation and pregnancy tests results, age, height, weight, lifestyle, statistics about sleep, activity, and nutrition. In addition, more data comes from wearable devices such as Fitbit & Apple Watch.
A formula created for an “average woman” cannot compete with neural networks when we deal with the volume, velocity, and variety of data.
Flo’s neural network has 442 input units that receive a variety of features engineered using the information women have supplied to the app. The combination of features is unique for every woman and each feature has a different impact on predictions.
The hard job of feature prioritization and cycle length prediction is done by the neural network. It continuously learns by comparing its predictions to true results (manually logged by users) and fine-tunes interconnections between its input and output units over time.
The output layer is represented by a single unit that transmits the predicted number of days in the cycle.
InData Labs team found the source of new features in the uniqueness of the application users. Women manually log their mood, physical inner activity, symptoms like a headache, fatigue or acne, which sometimes form a stable pattern that repeats on certain days of a cycle.
These unique repeatable patterns are so individual that no human can create enough rules to capture them all, but they may be so evident and stable for a particular woman that by analyzing them the neural network can make a better prediction. For that reason, the data science team working on the project developed a machine learning algorithm that can capture the unique menstrual cycle patterns for every woman.
Technically, this is realized through a two-step process:
Thus, an output from one algorithm becomes an additional feature for the neural network.
The beauty of Flo’s neural network is that it knows overall statistics and common rules that work for the 5+ million women using the app, but it still treats every woman as a unique person with her unique body characteristics and lifestyle.
The current version of Flo’s neural network by InData Labs can improve irregular cycle predictions by up to 54.2% depending on the quality of input data, with prediction error reduced from 5.6 to 2.6 days.
Flo became the most downloaded app worldwide in its category within months after neural network implementation into its prediction algorithm.
As a growing company, we found InData Labs’ expertise in data science invaluable. In almost two years of our cooperation, they’ve helped us define our data analytics strategy, build a scalable data pipeline, and improve menstrual cycle predictions with a sophisticated neural network.
– Andrew Kovzel, Head of Data Science, Flo