Instability issues often occur when water-based muds are applied to shale formations. Failure to predict the pore pressure accurately has been widely accepted as one of the major reasons causing shale instability. Water activity is a key factor to control the pore fluid moving in and out of the formation due to osmotic effects. Ideal and single-solute models have been developed in the past to predict the pore pressure by considering chemical osmotic effects. However, due to their complex nature, pore fluids/drilling fluids rarely behave as ideal solutions. A new model has been developed to predict pore pressure in shale formations that takes into account the non-ideality and multiple solutes of both drilling fluid and pore fluid. Transient pore pressure profiles and water activity are obtained from the coupled equations developed in this study. A Shale-Fluid Interaction Testing Cell (SFITC) has been developed in this study to test the interaction between the drilling fluid and the pore fluid. Parameters involved in the model, such as hydraulic conductivity, membrane efficiency and ion diffusion rate can be obtained through experimental data curve fitting. Model predictions have been compared with lab data and good agreement has been achieved. Water activity is found to be crucial for pore pressure control in shale formations. Simulation results explain the fact that salinity of drilling fluids has to be controlled in order to achieve shale stability. Results of this study can benefit drilling fluid design. Shale instability can be reduced by "balancing" the water activities of shale and drilling fluid. This can be achieved through changing the type of solutes and their concentrations based on information of the initial water activity of the shale. Wellbore stability models can obtain more accurate results by including the proposed pore pressure propagation model, which considers drilling fluid-induced chemical osmotic in-situ stress.