How Pure is this Cup of Joe? Coffee, Conspiracy, and Citizen Science

Have you ever thought about coffee purity? It’s more something you’d encounter with prescription or elicit drugs, but coffee is actually a rather valuable commodity. If a seller can make the actual grounds go a bit further by stretching the brew with alternative ingredients there becomes an incentive to cheat.

If this sounds like the stuff rumors are made of, that’s because it is! Here in Ho Chi Minh City there are age-old rumors a coffee syndicate that masterfully passes off adulterated product as pure, high-grade coffee. Rumors are one thing, but the local media started picking up on these suspicions and that caught my attention. I decided to look to simple chemistry to see if I could prove or disprove the story.

What we want to investigate is whether price and coffee purity are related. If they are, then after accounting for the effect of price, we will want to know whether proximity to the market where artificial coffee flavoring is sold has an effect on coffee purity.

How Does An Average Joe Test Coffee Purity?

In an earlier post, I described in detail an inexpensive test that may be able to detect whether street coffee was significantly adulterated. Over-the-counter povidone iodine disinfectant reacts with starch to turn dark blue. This mixture turns less blue when mixed with caffeine and other compounds present in coffee, eventually turning brown-gray.

The test itself is very simple. A standard test mixture was prepared containing 1 ml of 10% povidone iodine, 200 ml water, and 5.0 grams tapioca starch. The amount of coffee (diluted 30:1) required to remove the blue color from the test mixture is used as an indication of coffee purity. A trusted coffee solution took 2.0 ml to change the color of 10 ml of test mixture. Calling it a reference solution does it too much justice, but we’ll stick with that nomenclature for lack of a better term.

The Market of Death

I had promised a trip to Kim Bien market, known locally as “The Market of Death”. The name comes from the fact wholesale chemicals are available here, most notoriously unsafe food flavoring and processing agents allegedly used by a few unscrupulous vendors. I had been here 5 years ago, and back then it was indeed a frightening place: barrels of nitric acid stacked high next to barrels of 30% hydrogen peroxide, in the beating sun, with motorbike traffic pushing through the chaos.

Ominous clouds and reputation aside, this was actually a pretty good market.

I have to say, that place has really been cleaned up. I wouldn’t be surprised if there are still some corners like that, but overall the really dangerous chemicals were off the roadways and out of sight. The worst I saw was a single barrel of glacial acetic acid on the side of the road, and some unattended bags of colorful dyes:

After some wandering and talking to a few friendly and helpful merchants, I managed to purchase some coffee flavoring to test. It was about USD $7 for 500 ml, and came from a labeled container. I checked the company website, and they seem to be a fairly normal company.

There were a few other types available as well. Overall they looked more or less like normal artificial flavoring that would be legitimately used in a number of situations. Except maybe this Fish Oil Replacer that was a bit odd.

Expiry date in 2015 is also alarming, but to be fair this container might have just been for display,

After returning home, I mixed the artificial flavor (a viscous black oily liquid) with water until it tasted roughly like (terrible) coffee. Then I diluted it 30 times with tap water and ran a titration – it did react, but not readily. It took about 10 ml to fully titrate compared to 2 ml for the reference sample that contained actual coffee. So it seems reasonable to expect that if some vendors are watering down their coffee and adding this type of flavoring agent, it won’t react as readily with our test mixture and we ought to see a measurable difference.

Finally, one last test – I made weak coffee, added a drop or two of artificial flavor, and drank it (the things I do for science…). It wasn’t great, so I added a little sugar. With that addition it tasted reasonably close to street coffee! At best this is very subjective analogous evidence, but I thought it was worth noting.

As an interesting side note, trading in fake food or medicine can be a capital offense in Vietnam until 2018, according to local news.

Coffee Runs All Over Town

Drinking coffee at spots all over town is a tough job, but I was willing to do it for science! To collect data, I plotted a route taking me through 5 districts of Ho Chi Minh City (1, 4, 5, 7 and Binh Thanh), and purchased the same order of coffee at each vendor I came across (dark coffee, no sugar and no ice). I noted the price and location in a notebook, then poured each sample into a small arbitrarily numbered container for storage. In the end, 22 samples were taken in for testing!

I diluted each sample 30:1 and slowly dripped into the test mixture while stirring. When the color changed to grey-brown, I made note of the volume added then repeated the test a second time for each sample. This last part was mainly to characterize the precision of the test itself, but it also helps compensate for my questionable equipment and methodology.

For all measurements of mass, I used a recently calibrated digital scale with accuracy and precision of 0.01 grams, and for all volume measurements I used a slightly terrible quality 50 ml or 500 ml graduated plastic flask. A white porcelain rice bowl served as my titrating vessel as it provided good contrast.

Finally, I used LibreOffice to tabulate and graph the data, and perform t-tests. T-tests are simple statistical tests used to determine the probability that a null hypothesis (H0) is correct. If it is less than 5% probable that the null hypothesis is correct given our data, we will reject the null hypothesis and consider our alternate hypothesis (HA) to be correct.

What I Anticipated Seeing

We can consider the following hypotheses:

H0: Street vendor coffee is not a significantly different purity compared to a reference brewed from freshly ground beans.

HA: Street vendor coffee is a significantly different purity compared to a reference brewed from freshly ground beans.

H0: Street vendor coffee purity is uncorrelated with price

HA: Street vendor coffee purity is positively correlated with price

H0: Street vendor coffee purity is uncorrelated with distance to the source of the artificial coffee flavoring, after correcting for price effects.

HA: Street vendor coffee purity is correlated with distance to the source of the artificial coffee flavoring, after correcting for price effects.

I should take a moment to mention that this test is experimental and the results preliminary at best. There is a lot of room for improvement. Informally, the research question we’re actually asking is “Can we really test coffee purity at all with a bag of tapioca starch and some iodine disinfectant?”.

Results and Discussion

Composite image shows levels of blue titration
Titration testing

The first thing to test is the test itself. The precision of the general test was determined to be +/- 10.85%, with a standard error of 2.71%. In other words, if you measure a sample a few times, you would expect each measurement to be about 11% different from the average of all your measurements. That’s awful as far as titrations go, but probably not so bad that we can’t get any meaningful data.

Next, the amount of street coffee required to react with the test mixture was an average of 2.58 ml with a standard error of 0.25 ml. Without going too far into the statistical methods, a t-test allows us to be better than 95% certain that the null hypothesis does not describe the data. In other words, we conclude that the street vendor coffee does not contain as much coffee as our reference coffee solution. Another way to describe this is that we’re 95% certain that it takes between 2.07 ml and 3.09 ml of diluted street coffee to complete the titration.

One reason why this result is interesting is because the street vendor coffee was universally much darker than our reference coffee solution (even more markedly so after dilution). So there’s reason to suspect that something fishy is going on. It’s not looking good for our coffee vendors, until we consider the effect size more closely.

The street vendor coffee required an average of 25% more sample to titrate our test mixture compared to our arbitrary reference. That doesn’t mean their product does not contain coffee – in fact quite the opposite. From our quick test earlier we determined it takes around 10 ml of dilute artificial coffee flavoring to titrate our test mixture. As far as the test can tell, overall their coffee is the real thing – just weaker than our sample that was 20 grams of a specific brand of pre-ground coffee with 150 ml of boiling water.

More specifically, the street vendor coffee also tested as containing significantly more coffee than the artificial flavoring and water, and the measured difference was rather large in this case, not a matter of 25%

In fact, only a single sample tested anywhere close to the artificial flavoring, at 6.6 ml. It was sourced in District 1 (downtown), and along with a couple of other samples, that led me to suspect that downtown may have the worst coffee due to the pressure of slimmer margins and higher trading volumes. While the data did imply it, there simply wasn’t enough to conclusively say anything at this point.

I wouldn’t be at all surprised to find that street vendor coffee is mixed moderately with materials on hand such as those used in Vietnamese nước sâm. This herbal tea contains corn silk, dwarf sugarcane, and other herbs and has a vaguely coffee-like taste. It would be a (very thick!) analogue to chicory coffee, and may or may not have a drop of artificial flavor added afterwards. At this stage though, it’s pure conjecture.

Moving on to our next hypothesis, that coffee purity and price are related: a long story short, there was absolutely no significant result found. I didn’t include a trendline or equation as they are meaningless.

Keep in mind that this is only street vendor coffee. If you included high-end coffee shops, you’d probably find an effect. I know a few that make very strong coffee. It was particularly difficult to run this analysis as the price of street coffee is more or less always VND 10,000 (about USD 0.45). There were not many samples at any other price.

Moving on to the effect of proximity to the ‘market of death’, we again found no effect.

This is the best x-axis title I’ve used in weeks

Interestingly, the highest variance in coffee purity appears to be a moderate distance away from the chemical market. This is caused by District 1 (downtown), where some suspect coffee samples were found.

Elsewhere, every sample tested reasonably close to our coffee reference. Again, there wasn’t enough data to make any specific conclusion that District 1 vendors adulterate coffee relative to other districts. It would remain an interesting avenue for further investigation though.

Amusingly, the ‘market of death’ seems to be a pretty good place to stop and have street coffee. I couldn’t resist the sweet delicious irony, so I immediately went. The coffee was quite good, cost only VND 5,000 (USD 0.22), and to top it off the vendors were really nice people.

I was unable to find any evidence of the alleged ‘chemical soup’ street coffee reported in the news. It was claimed to obviously contain harmful chemicals, not contain caffeine, and was presented as being prevalent. It may in fact exist, but after running this experiment I find their claim that it represents 30% of street coffee very suspect. In my personal experience, all of the street coffee I’ve ever purchased seemed (subjectively) to contain normal amounts of caffeine, so this result doesn’t surprise me terribly.


I found that the test produced usable data despite its serious limitations. It was able to differentiate samples, and this was repeatable. A precision of 11% leaves a lot of room for improvement though, and as suggested by some of our readers, without testing a known sample of caffeine or chlorogenic acid I can’t really vouch for it’s accuracy! In hindsight, I may have been able to do a basic test using ascorbic acid (vitamin C) solutions of known concentration to get some idea of accuracy.

The test found that street vendor coffee was significantly less pure than an arbitrary reference sample, but not by nearly enough to suggest anyone was selling a product that didn’t contain coffee. It’s very possible that the street coffee might be mixed with other substances and a limited amount of artificial flavoring added, but it’s more or less coffee. As a result I will continue to drink this fine beverage, and will discount the more serious rumors surrounding it.

One mistake I made was using volumetric measurements for the titration. While it’s the intuitive thing to do, the fact is that I have a good gram scale and a terrible graduated flask. I could have taken much better measurements this way, with the error introduced by differing sample densities probably being less than the error introduced by the inaccurate measurement of sub-milliliter volumes.

Also as our reader [Leithoa] kindly brought up in the comments of the previous post, I’m doing the titration backwards relative to established analyses. It would probably be easier to mix our sample with starch, and drip an iodine solution of known concentration (not povidone-iodine) in until the solution turns blue. Since the blue color is rather intense, there’s even the possibility of using a color sensor or similar for less subjective measurement.

Finally, iodometry is typically used to detect the concentration of oxidizing agents, using a known concentration of sodium thiosulphate (a reducing agent). Our test is now doubly backwards in the sense that we’re trying to detect reducing agents. If there was a way to make this test a closer analogue to established iodometry, accuracy and precision are likely to improve significantly.

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *