Unstable ph value

My guess is that there is noise on top of the required signal. When you measure with a multimeter there is some averaging done by the meter, which gives you a steady reading. When you take a reading from the Arduino it is more of an instantaneous measurement so it will vary depending on the noise.

What happens if you take multiple readings, and calculate the average?