Events
Information about events
Events sending
Client's application sends statements (events) to the engine in JSON format through HTTP connection (REST API). HTTP connection sends statements in packages. Data encryption is done using the SSL protocol.
Multiple sources
Data can come from multiple sources (users, game servers). Events are distinguished with a client_id variable. The application is customizable for specific customers through defining dedicated metadata (variables, aggregates, models).
Events processing order
Events processing order may not be maintained. It is determined on the basis of event time saved in JSON.
Transforming events to variables
Transform rules are defined in metadata as rules in JSONPath. Variables will be defined by analytics or generated automatically by analysis of given sample of events and verified by analytics.
Formats of JSONs containing events
Generic formats
For generic formats of JSONs, the Event Engine provides the most efficient processing.
Example of JSON:
Examples of variable expressions
returns 10
returns "value1"
Examples of queries containing additional conditions
In generic format of JSONs, queries containing additional conditions are also optimized. These conditions can check equality by "==" sign and can be connected by "&&" sign.
returns [10]
returns ["value1"]
Other formats, compatible with JSONPath
Example of JSON
Example of variable expression
returns [45]
Responses
A statement with score is a direct response to the bid request. The statement consists of scores for each impression:
impid - id of the impression
scores - a list of models and scores; empty, if none of models were scored or none of deployed models are active. Otherwise the list contains elements, where id of the model is a key and suggested bidding price is a value.
The price is calculated according to the formula:
min(10 * value, score * value * weight)
score - scoring result
value - value of a variable from models (CPC) table
weight - weight from models table (default 1000, because prices are bidded at the CPM rate)
Saving events
Every event is saved to a repository of events. If necessary, a backup of the repository can be made. Saving events do not block futher processing. The repository which stores events is made of txt files.
Last updated