1. A computer-implemented method comprising: collecting a plurality of sample user behaviors and a plurality of sample user attributes from a service that offers videos for viewing, wherein a sample user behavior is based on a sample user using the service and a sample user attribute is received from the sample user; training a model to be able to produce the plurality of sample user attributes from the plurality of sample user behaviors; after training, inputting the plurality of sample user behaviors into the trained model to produce predicted sample user attributes; comparing the plurality of sample user attributes and the plurality of sample user behaviors to the predicted sample user attributes to determine associated probabilities for the predicted sample user attributes; determining a real user behavior for a second user based on the second user using the service; predicting, using the model, that the second user has a predicted user attribute of an associated probability based on the user having the real user behavior, wherein the predicted user attribute of the associated probability is not known for the second user; and utilizing that the second user has the predicted user attribute of the associated probability to improve the second user's experience using the service.