eXplainable AI : How craft ai brings coaching recommendations in a fitness application


Yrieix Leprince
May 07, 2019 Use CaseCoachingHealthcare

eXplainable AI : How craft ai brings coaching recommendations in a fitness application

Hello John!

John is willing to free his potential.

John is a 32 years old man, living a fulfilling life. John, like everyone else, wants to go beyond his daily routine to reach his potential. To improve his health John decides to start using a coaching application.

One word about the coaching app

The coaching app adapts to John's improvements.

Coaching is about freeing the potential of the coachee. The tricky part is to suggest exercises with the right level of difficulty to be overcome.

From day to day the app follows John's progression.

John wants to ride further and further

John loves his bicycle.

Since he received his first bike at 3, John felt in love with this sport. He always wanted to get further and further to discover new country side and to explore new horizons.

He starts recording his bike training sessions on his app.

John's performances are highly influenced by his context

John is influenced by his context.

Beside the fact that John is slightly improving the distance he can travel on his bike at each training session, he is also highly influenced by external factors.

In John's case, factors are:

  • the day of the week: he likes to ride to go to work during the week, and to make some journeys during the weekend.
  • the weather: when it's sunny John usually cycles much more than when it's rainy.
  • his friend Paul: when Paul joins John's to cycle, they ride further.

From data to eXplainable intelligence


John has a tracking system that records the intensity of the training. It saves the amount of energy he has spent for each hour of the day. We enriched this data with the weather records and Paul's agenda.

XAI - eXplainable Artificial Intelligence:

craft ai continuously learns from the data and produces predictive models. It learns from John's behaviors. It understands how context elements influence John's training sessions and also at which intensity.

Below is a version of John's behavior model after several weeks of training: feel free to zoom in to explore the tree.

Notes: The model above is a tree built based on John's behaviors. Each leaf (ie. each yellow cell) contains a predicted amount of energy likely to be spent by John. The path that leads to a leaf is called a branch and it contains the context that explain the predicted value. For example the leftmost leaf of the tree is chosen when Paul is not available, when it is between 10 and 11 in the morning, when the weather is cloudy and when the day of the week is a Monday, a Tuesday or a Wednesday. In this specific context craft ai has learnt that John is very likely (confidence > 70%) to spend 2.129 amount of energy (dimensionless scale ).

Having an eXplainable Artificial Intelligence (XAI) is very interesting in many use cases. Compared to classical AI, a XAI is able to provide the reasons that leads to a prediction. For craft ai, the explainability is contained within the tree structure. craft ai also computes a confidence metric for every decision, enabling a filtering on decisions if the leaf confidence does not reach the desired confidence level.

How the eXplainable Artificial Intelligence is used

How craft ai is embedded in the fitness app.

craft ai model is directly embedded into the coaching app. It can be used in several ways:

  • to suggest exercises with some context explainations.

    Example: Next Saturday morning Paul is free and the weather should be sunny. Considering this context, craft ai go through the tree above with a top down approach: Paul is free, then the training should be between 10 and 12 AM, then the weather forecast is sunny, then the training is between 10 and 11 PM and the day of the week will be a Saturday. So craft ai suggests with a high confidence (> 80%) a training intensity of 6.033.

  • to provide some personalized coaching feedbacks on John's progression.

    Example: By exploring all the leaves (ie. yellow cells) of the tree, craft ai regroups best performances (eg. 5.962, 6.033 and 6.998). Then by analysing reasons that lead to these performances craft ai can send notifications like Wooohoo it's sunny outside! 🌞 You usually improve your performances of +40% with this weather between 10 and 12 AM.

  • to order content within the app.

    Example: now let's suppose that John is also training in swimming. craft ai would automatically create a second eXplainable predictive model based only on swimming records. The app suggests training sessions in both swimming and cycling domains. Then depending on the context (eg. bad weather forecast) craft ai could suggest to swim in priority, because John swimming performances are less weather sensitive than cycling.


John is coached by always receiving the exercise that suits his level

By following John's progresses and giving up-to-date exercises, the application is coaching John to reach his potential.

Indeed, craft ai is able to provide model at the user scale (John's recommendations are differents from any other user), while continuously learning from the data (John's yesterday training is more important than the last month's one). Last but not least, craft ai algorithm is designed as a white box tool as its recommendations are always provided with the rules that led to the decision (John's today's goal is 30km because he is riding on Sunday with Paul and the weather is sunny).

craft ai provides a recommendation system and behavior analysis tools to the fitness app, enabling a better user experience.

If you want to learn more about craft ai solutions contact us !

Note: Article made with by craft ai, based on a real use case.