This site is not optimized for Internet Explorer 9 and lower. Please choose another browser or upgrade your existing browser in order get the best experience of this website.

Fitness and Nutrition Recommendation Engine

ONgDB for Fitness and Nutrition Recommendation Engines

Fitness and Nutrition Recommendation Engine with ONgDB on GraphGridWe’ve recently been exploring the new ways we as consumers would like to be interacted with by brands as we go through our daily lives. Fitness and nutrition are key parts to our lives and being able to do those well are crucial to remaining of balanced mind and body. Active lifestyle brands have captivated us in the recent years and we think it’s time that the engagement became more personal. They have enough information about us and we’d be willing to answer some simple questions about our fitness and nutrition goals if they asked. This simple interaction would enable them to provide us with a personalized fitness and nutrition recommendation engine.

We have deep expertise in building recommendation engines and in a recent experiment we thought it would be interesting to build not just a fitness recommendation engine or a nutrition recommendation engine, but a personalized fitness and nutrition recommendation with a human engagement element. We picked the BeachBody website and used all publicly available data to see if with some creative rework and introduction of personalization concepts we could create a fitness and nutrition recommendation engine that would recommend me fitness programs and nutritional supplements to help me achieve my active lifestyle goals.


We used ONgDB, which is the world’s leading fully open source graph database, because ONgDB provides connected data advantages in bringing together different types of fitness, nutrition and community data we wanted to use to enable real-time recommendations.

You may read the details in our article titled, Shaping Up a Fitness Program Recommendation Engine.

Contact us to learn more about building a personalized recommendation engine for more personalized interactions with your customers using GraphGrid.

Learn How to Build a Personalized Recommendation Engine for Fitness Programs & Nutritional Supplements

The new year has come and gone, along with the first quarter, and likely all our resolutions to workout and get in shape.

If any of you are like me, you may be feeling that about this time, but I’m here to propose that there may be hope. Just maybe, with the right personalization of a lifestyle with recommendations for fitness programs and nutritional supplements that match my fitness and eating goals based on my current fitness level, I could find a strategy to get me back on track.

Building a Recommendation Engine around BeachBody Offerings

I was recently motivated to re-imagine the BeachBody fitness programs and nutritional supplements as a graph with the goal being to recommend fitness programs, nutritional supplements and other users that would be personalized to my user persona.

For those that don’t know, BeachBody is responsible for P90X, INSANITY, T25 and a plethora of other fitness programs that they’ve been distributing via DVD for years. I utilized all publicly available data from their existing website and created several user personas to demonstrate the personalized recommendations and connected data benefits of transforming their existing data into the Open Native Graph Database (ONgDB).

Initially, I knew I needed to understand what types of data exist today on their website and determine the relationships between those data types. As I started looking through the site, I found the concepts of

  • Fitness Programs
  • Nutritional Supplements
  • Gear
  • Community

For the initial pass, I chose to ignore Gear and focus on Fitness Programs, Nutritional Supplements and Community.

Fortunately I’ve been in the gym and eating healthy as a lifestyle most of my teenage and adult life (although less so since being married and having a small child — love them both — totally worth it!), so I’m familiar enough with the concepts of working out and eating healthy. This made the next creative step of introducing non-stated, yet implicitly present, concepts into the dataset quite trivial.

The main ideas that I could see fitting nicely between these stated concepts that would allow me to make the recommendations I as a consumer of their products and participant in their community would be interested in receiving were:

  • Workout Goals
  • Eating Goals
  • Muscle Groups
  • Body Areas
  • Workout Types
  • Workout Levels
  • Supplement Types

Fitness Program and Nutrition Recommendation Engine

There are two other key elements when considering a fitness program, and that is any Physical Limitations or Eating Restrictions that I as a consumer may have. This isn’t really discussed anywhere, but is very implicitly present for making really good recommendations for any consumer that has a physical limitation such as asthma, which could make cardio workouts a non-starter.

Unifying Concepts into a Real-Time Recommendation Engine

The next step was to use the generic category structure applied to the fitness programs and nutritional supplements as the key connecting point to unify the concepts, both stated and implicit.

The concepts that I would create were very consumer-centric, meaning the data points I was interested in filling in were ones that would align with what I as a consumer would be interested in getting from my interaction with BeachBody.

I as a consumer have workout and eating goals with varying weights of importance, which will go on the relationships connecting to the nodes that represent these concepts.
Workout Goals:

  • Weight Loss
  • Fat Burning
  • Get Fit

Eating Goals:

  • Get Healthy
  • Performance
  • Weight Loss
  • Muscle Enhancement
  • Wellness

I as a consumer have specific muscle groups and body areas with varying degrees of desire for improvement. This will be done by applying weights to the relationships connecting to the nodes that represent these concepts.
Muscle Groups:

  • Abs
  • Arms
  • Back
  • Chest
  • Legs
  • Shoulders

Body Areas:

  • Core
  • Full
  • Lower
  • Upper

I as a consumer have preference towards different workout and supplement types so the relationships connecting to the nodes that represent these concepts will also utilize weighted edges.
Workout Types:

  • Endurance
  • Strength
  • Balance
  • Flexibility
  • Full Body
  • Dance
  • Cardio
  • Express

Supplement Types:

  • Meal Replacement
  • Weight Loss
  • Wellness
  • Performance

I as a consumer know which workout level I would consider myself to be so this relationship doesn’t required a weighted edge.
Workout Levels:

  • Beginner
  • Intermediate
  • Advanced

Exploring Fitness and Nutritional Recommendations in a GraphGist

Now that we’ve got the implicit concepts filled in, we just need to connect them to the fitness programs, nutritional supplements and the user personas that will represent groups or demographics of consumers.

Then following that we’ll answer some interesting questions such as:
What fitness programs are best to help me accomplish my workout goals?
Which nutritional supplements will help me achieve my eating and workout goals?
Are there any other users in the community that I can workout with and which workout would be good for us to do together?

Want to see more of these questions answered with examples and Geequel queries? Schedule a demo to dive deeper into my Fitness and Nutritional Recommendations to see how I set up product cross-selling and recommend a shared fitness program to a pair of different users.