Recipe creation – DOE method

Many people have asked, “Hey, how do you guys come up with your soap recipes?”

No matter how easy, how tempting it is to just grab recipes off the internet; we have decided right in the beginning that we will never copy other people’s hard work.

Instead, we have always challenged ourselves to build the recipe from scratch.

So how do we do it?

There are a number of ways that we can formulate recipes from scratch.

  1. Trial and error – involves lots of time and raw materials (both of which, we prefer to spend on either theoretical research or actually making production soaps)
  2. Design of Experiments (DOE) – modeling based simulations (Allows us to model and simulated various recipe formulations without wasting materials)

And our favorite go to method is DOE.

So, what exactly is Design of Experiment?

In short, it is simply a modeling tool, which, when users define certain factors, it automatically generates various scenarios, and then data collection can commence, and a final analysis is then applied to understand the relationship of each factor with respect to end result.

How it works is really simple. It all starts with a vision.

With this vision in mind, we then ask a question that, if answered, will lead us down the path as to how we can achieve our vision.

Then we identify what could potentially affect answers to our question. These are known as factors.

Then we look at what we could measure if we vary the factors so that it will lead us back to the vision we have. These are known as responses.

Ours was pretty simple:

  • Vision: We want to create a bar that is: Super moisturizing, lathers well, and physically hard. In that order.
  • Questions: With the bunch of different oils/fats that we have in our inventory, what, and how, are they contributing to our desired vision. And also, what is the optimum ratio between each oils/fat that allows us to achieve our vision above?
  • Factors: Different oils/fats we have in our inventory, and the typical ratio they are used in soap recipes.
  • Responses: Hardness index, conditioning index, cleansing index, bubbly index and creaminess index.

With those in mind, here’s how we do a DOE.

We have a go to software – JMP, which is a beast when powering through modeling like these. If you have JMP installed, you may also be able to simulate your own data set using your own inventory.

  • Link to trial version of JMP (30 days free, and it will be sufficient to run a full blown analysis)
  • Link to how to use JMP.



These are the oils in our current inventory.

  • Min and max% is derived from research via multiple books and online knowledge.
  • Here’s one document from Nature Garden Candles that we thought summarized everything pretty well20140313-1

This is how the factors are being represented in JMP. As each oil/fat represents a % of a recipe, the Role is set to “Mixture” and the max. and min. can be anything between 0 to 1 (0% to 100%).



Responses are the hard part. It was relatively easy to define factors, but how could we effectively and consistently measure an output?

We thought long and hard. Human testing can be inconsistent and contribute way too many variability due to factors like different skin type, personal preference etc.

So, to ensure consistent measurement, we turned to a nifty little soap app called Soap Calc. Based on the oils/fats, it will be able to compute each response index based on the amount of each type of fatty acids present in each oil/fat. And results will be consistent.

To return the optimum ratio per recipe, we have to define what we want to see, and that’s where our vision comes in.

Vision: We want to create a bar that is: Super moisturizing, lathers well, and physically hard. In that order. Therefore:

  1. Hardness [Maximize]
  2. Cleansing [No special requirements, minimum is to meet target]
  3. Conditioning [Maximize]
  4. Creaminess [Meet target]
  5. Bubbly [Maximize]

Of course, the final result does not fully represent a human’s feel of the resulting soap, but it gives us a pretty good idea on formulating a couple of good test recipes.

This shows how the responses are being entered in JMP.



And now the fun part begins.

Once we entered our factors and responses, with the goal of what we want to achieve, JMP automatically spits out a Design Matrix.

This table represents multiple scenarios that JMP wants you to run and to measure the responses.

Because I ran a 12 way factor mix, 78 scenarios are necessary for the program to decouple any linear relationships between each oil/fat.



Based on this matrix, I keyed in the various % of oils/fats as defined by the matrix into the Soap Calc and manually punched in resulting Hardness, cleansing, conditioning, creaminess, bubbly results. And the magical moment is when we hit “analyze”.

This is the final table displayed by JMP.

How to read

  • Y axis – Various responses and its corresponding value with respect to ratio of each factor.
  • X axis – Various factors and its corresponding percentage in a soap recipe.

What we are looking out for is the slope of each line. The slope of each line tells us how much each oils contribute to each response. The steeper the slope, the more impact the ratio of the oil plays for each response.


Based on this chart, there are a couple of relationships that draws our attention immediately:

  1. Mango butter seems to have very little impact to any of our responses. You can tell by the extremely flat slope for all responses. So we have since relegated our 8 pounds of mango butter to other things. Or we may use this as a superfattng agent for hot process soaps. Or use it in bath truffles etc.
  2. Generally the trend across all data set is that – if a oil has a positive slope for conditioning, it will have a negative slope for cleansing, hardness and bubbliness.
  3. Avocado and olive oil, while extremely conditioning has the high adverse impact to hardness and cleansing and lathering properties as compared to any other oils here. Olive more so that avocado. Because our vision is to primarily create a bar of moisturizing soap, avocado and olive oils will definitely need to be in our recipe. To account for the lack of hardness, we are now on the lookout for oils/fats that has a high positive slope for hardness/bubbliness.
  4. Coconut oil has good lathering/hardness properties, but extreme amount adversely affects the moisturizing properties of the soap. But it accounts for hardness more than other oils/fats. So coconut oil is a must in our recipes, the question will be how much.
  5. Also, because our primary analysis is that to bump our moisturizing factors, almost all oils seem to have an adverse impact towards bubbly (lather). The only oil that bumps up lather (bubbly) which having a relatively flat slope for conditioning is castor oil. So our final recipe was tweaked to include a fair bit more of castor oil than normal recommended amounts.

The analysis goes on and on… but you guys get the general idea.

Notice the last row “Desirability”? That is the direct result of us telling JMP based on what we want to maximize.

Ours was to maximize conditioning, hardness, and bubbly. The higher the desirability, more desirable the outcome is with respect to our vision. So playing around with the ratios, and observing how our desirability index changes with each ratio, we can effectively narrow down our recipes to a few combinations.


Now that we have a couple of recipes which theoretically supports our vision, the very next, and final step is to actually create test bars, and test it on actual humans. Ultimately, no matter how wonderful and perfect a recipe seems to be on paper, a human has to be the final judge.

To that, we also had a relatively scientific way of minimizing variability. And that is to test one recipe on each hand simultaneously, and then do a direct comparison.

Example: We have four test bars. Bar A, B, C and D.

  • I will use Bar A on my left hand, and then Bar B on my right hand. Do not use lotion after test is complete. Compare one hour later and decide which is better.
  • Say Bar B is better. The next day, I will use Bar B on my left, and Bar C on my right, compare an hour later and determine the better bar.
  • Say Bar B is still better, the next day, I will use Bar B on my left hand, and then Bar D on my right.
  • Now, if I feel Bar D is better than Bar B, then because Bar B is better than Bar A and C, it stands to reason that Bar D is also better than Bar A and C.
  • By process of direct comparison and elimination, we will be able to select the best recipe that passed the test of human selection.
  • Repeat this experiment with multiple people, and then get the final answer.

Note: We always wait at least a day between each experiment so as not to strip our natural oils by repeatedly soaping our hands.

Using the above methodology, we have tested at least 12 recipes, and we have narrowed down to two particular recipes:

  1. Formulated for dry skin – moisturizing factor is king, so we forsake lather and harness in favor of conditioning. It is super moisturizing, but it doesn’t lather as well. It is also slightly soft. But it’s great for dry skin. I can personally vouch for this.
  2. Formulated for oily skin – This soap has more lather, but the conditioning factor is still maintained at > 53 (On the high side of the range). To negate the slightly drying factor of this recipe, all of these are made with milk and so far, it has shown great success with oilier skin.

And in preparation for humid summer, we have formulated a third recipe that we are extremely pleased with. That recipe is being used in production batch right now, just in time for summer.

And there you have it, how The Soap Engineers formulate, develop and test our soap recipes.

I guess we really are nerds after all 🙂







Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s