Job offers

Join the Agama team !

Final Thesis & Internship
Are you a student or a fresh graduate? Start your career with us!


As we all know, years spent studying important skills in school don’t always answer the question “what do you want to do in life?” or “what career do I want to have?”.

In addition to getting real-world experience in our offices, you will also get to know our culture and what it’s like to work in an international setting. This will help you decide if a job at Agama is right for you.

Below are some areas of interest. More information about each thesis project and application is found in the left tabs.

  • Complex simulation of TV networks
  • Identifying cause-effect relationships in time-series data
  • Detect audio/video synchronization issues

Working at Agama

We appreciate working in an organization characterized by diversity, team spirit, drive, and commitment. Our corporate culture is flexible and mission-focused, and we always strive to grow and innovate to be able to offer a solution that creates unrivaled value for our customers.

We look forward to hearing from you! Together, we can make the video streaming experience more enjoyable!


Complex simulation of TV networks

Agama’s product suite aims to make TV delivery transparent, from the creation (the head-end) of TV services, all the way to consumption in the end-user’s devices. Therefore, we have products that analyze TV services and the delivery of services from end to end.

At a high level, our products are:

• Head-end analyzers: deep inspection of TV channels and assets for compliance and correctness
• Network analyzers: broad analysis with a focus on network metrics such as jitter and packet loss
• CDM (Client Device Monitoring): usage & quality of consumed channels/assets in the devices (STB’s, phones, tablets, smart TV’s)

Description of the problem

The CDM system collects metrics from end-user devices, such as eg1, eg2, eg3. This ‘per-device data’ is collected and aggregated in different logical ways to create ‘group data’. For example, aggregation can be done based on geographical location, DSLAM, device type, access technology, etc.

The problem at hand is to develop a data simulator for demo & development purposes, that accurately simulates data from devices in the client device monitoring system and errors that can occur in the system. The different data aggregations can be composed of overlapping groups of end-user devices.

The challenge is to understand and replicate the group behavior of different groups, provided that a base behavior of a single end-user has been established. As the evaluation of the simulator, we can use in-house data from real systems to compare how statistically similar or different the simulated and real traffic of these groups are.

Profiling end-user devices (per-device data)

Looking at a whole tv-network, there are a few user profiles that generally dominate. For example, a user that watches TV a few hours each evening, or another that rents a video-on-demand once a month. The simulator is expected to recreate such behavior for different classes of end-users.

Statistical patterns in the data (group data)

Generating group data can be done by combining data from per-device data. Although this step is straightforward, we expect the group data to capture some important properties. When looking at many devices, some statistical patterns emerge. The simulator must be able to generate group data based on the composition of devices within that group. An example
configuration could be a group composed of 40% type 1 client, 20% type 2, 20% type 3.

Furthermore, the group data generated from multiple per-device data must also replicate expected group behavior. This step depends very much on how per-device models are configured.

Below are some of the expected group behaviors (such behaviors can change based on how the group is defined):

• Device activity in a group follows a pattern with peak usage around 8 pm
• Many people change channels when commercials start (channel change pattern)
• 20% of the TV channels are used 80% of the time

Simulating errors in head-end or network delivery

The simulator should be able to simulate some typical errors in a network. The challenge here is to compute which devices the errors affect. Which groups do the errors affect? How will the errors affect the collected data?

Example 1: Error in a multicast switch in the IPTV part of the TV network (3% packet drop).

This error should affect only sessions consumed over multicast/IP and only for devices that according to the configuration are in the affected network segment. All groups with devices in this network segment should be affected in a reasonable way, i.e. this is an error that affects all IPTV sessions equally. Quality metrics will be affected according to a model. Counters: (packet loss, video decoding errors, frames with errors, …) affected as they should be – both for device and for group data.

Example 2: Android devices with version 5.11 suddenly start to experience much more video stalls than other mobile devices.

This is an example of a more generic error that affect devices with certain metadata set. In this case, mobile devices with the platform “android 5.11”. Again, the same challenges arise. The error should affect the correct set of devices. Groups should be affected based on the number of active devices of this kind in the group. counters/metrics should be affected according to a model (stalls, frames dropped, …)


For additional information about this master’s thesis, please email or apply directly using our website’s Application form, indicating the thesis’s title and area number.


Identifying cause-effect relationships in time-series data

Agama collects vast amounts of time-series data that details the performance of a video delivery network.

For a user of Agama’s solutions (typically a technician at an operations center) some of the interesting things that the user would like to see / questions to answer are:

• How many errors in total have occurred in the system now, in the last 15 min, in the last hour, etc.
• Which services are responsible for the error count, now and over time?
• Are errors more likely to occur on a certain device than on others?

While such questions are possible to identify by looking closer at the data, automatically identifying the root causes of such errors can be extremely valuable and save time in performing remediation actions.


At Agama, we have built a simulator that can simulate errors in delivery networks and reproduce the expected client-side effects for a large subset of these errors. The problem to solve in this thesis is to build models that will point to one or more of the most likely causes of the problems.

For example, consider that a 5% packet loss rate in a multicast switch in the IPTV part of the TV network. When we introduce such an error in our simulator, all the IPTV clients connected to the faulty delivery node will experience playback issues and generate appropriate numbers for freezes, qoeErrors, etc. We can now make a causal model of how a 5% packet loss will appear by looking at the simulated output data. By correlating this information with the data observed at IPTV switches, we can identify a potentially faulty switch.

The goal of this thesis is to exhaustively execute such network- and device-related errors, collect the expected client-side behavior and model them in such a way that is the most likely cause (this can also be probabilistic) for the error.
Models based on decision trees/forests would be the initial approach, as they can represent the causal nature of errors based on the different observed parameters.


For additional information about this master’s thesis, please email or apply directly using our website’s Application form, indicating the thesis’s title.





Detect audio/video synchronization issues

We have all experienced cases where the synchronization between the audio and video streams is misaligned. Such errors might occur due to issues with the encoder or other network-, or device-related processing delays. Identifying such issues is quite important as such factors can significantly affect the viewer’s Quality of Experience (QoE).

One potential avenue to identify such issues is to use standard sequences used in a specific channel to identify synchronization issues. A standard sequence may be an advertisement that will be run several times in a day, the intro or outro clips used for TV shows, and other channel-specific information that the broadcaster might be promoting.


Provided that such standard sequences are identified, this thesis involves identifying when a standard sequence is being broadcasted within a stream. Having identified that such sequences are currently being shown, the task is to compare it to the original and identify if the audio or video is out of sync with one another.

The solution space is quite open and could potentially compare the raw audio and video streams. However, more robust solutions that reconstruct the streams and compare and identify the degree/ time of separation between the streams would be ideal.


For additional information about this master’s thesis, please email or apply directly using our website’s Application form, indicating the thesis’s title.






Job application

If you are interested in this position, apply now by clicking this button.

Subscribe to Newsletter

Get insights, latest infos and news directly to your inbox, for free.