Great question. I build something similar without a moisture sensor, the key to obtaining proper data is to know (and control) the exact amount of water you elect to distribute.
The self-learning (ghetto A.I) software that I wrote would try to predict the next (optimal) watering event. You can start to tell how much weight the water adds and how fast the plant consumes it after a couple of iterations. Plus the soil will usually outweigh a plant by a considerable margin.
Some interesting things to look into maybe? Temp, humidity, pressure, maybe put the plant in a transparent pot and flash a light through it (what?)
I don't know I've connected a solar cell to the web and have been gathering data cool to see/check while at work.