1. A method for efficiently annotating behavior and characteristics of a person or a plurality of persons in a first video stream and a second video stream in a physical space, comprising the following steps of: a) capturing the first video stream of the person or the plurality of persons by a first means for capturing images, b) processing the first video stream in order to track and detect predefined behavior and demographics of the person or the plurality of persons in a field of view of the first means for capturing images automatically using at least a means for control and processing that executes computer vision algorithms on the first video stream, c) providing demographic segmentation of the person or the plurality of persons to create a plurality of demographic groups, d) analyzing the behavior based on spatio-temporal primitives and a model for interaction levels of the person or the plurality of persons, wherein the behavior of each demographic group is analyzed to obtain segment-specific insights, e) generating time-stamped lists of events based on the automatically detected predefined behavior and demographics, using a time server, f) using the time-stamped lists of events and timestamps of events in the time-stamped lists of events to access at least a corresponding sub-stream for the events in the second video stream from a second means for capturing images, g) manually annotating each of the events with a plurality of labels for a synchronized annotation using a user interface, and h) utilizing the annotation for quantitative behavior analysis about interaction of the person or the plurality of persons with a plurality of commercial products in the physical space, wherein the first video stream is synchronized with the second video stream, and whereby the user interface allows users to mark time-based annotations describing complex behavioral issues, including expressions of the person or the plurality of persons.