To detect aberrant human behaviors from large volume of passive data collected by smartphones in real time, we propose an online anomaly detection method using Hotelling’s T-squared test. The test statistic is a weighted average, with more weight on the between-individual component when there are little data available for the individual and more weight on the within-individual component when the data are adequate. The algorithm takes only O(1) run time in each update and the required memory usage is fixed after a pre-specified number of updates. The performance of the proposed method, in terms of accuracy, sensitivity and specificity, is consistently better than or equal to the offline method that it builds upon depending on the sample size of the individual data.