Dynamic overlap


Dynamic overlap lets you change overlap depending on:
  • How well the performers do on the task.
  • How well performers' responses match each other.

First the task is distributed with minimal overlap. As performers complete the task, their responses are assigned confidence. If it is less than specified in the confidence in aggregated response field, overlap will be increased until confidence reaches the set value, or overlap reaches the maximum.

Dynamic overlap uses 5 main parameters:
  1. Overlap is the minimum number of performers who should complete each task in the pool.

  2. Maximum overlap is the maximum number of performers who should complete each task in the pool.

  3. Confidence in aggregated response is the percentage of confidence required to stop showing the task to performers.

    When confidence reaches the required level, the system considers the response correct and stops collecting other performers' responses.

  4. Skill reflects how much you trust the performer's responses.

  5. Output fields for aggregation are output data fields that are used to calculate confidence in the response.

How does it work?


  • is a performer's accuracy.
  • is a smoothing constant.
  • is the most popular response.
  • is the probability that the estimate is correct.
  • — confidence in the aggregate response

A performer's accuracyis calculated as:


is a smoothing constant (starting from 0.5) if there are not enough responses to control tasks.

If there are several estimates, the most popular response is determined by adding togetherof the performers who selected each response option. The response with the largest total is considered more correct. Let's call this estimate.

Using Bayes' theorem, we calculate the posterior probability that the estimateis correct.

A uniform distribution of estimates is assumed a priori. For thethe a priori probability is calculated as


is the number of response options.

Next, we calculate the probability that the estimateis correct.

If the performer responded, then the probability of this is equal to the performer's accuracy. If they responded differently, then the probability of this is:


is the remaining probability.

is the number of remaining responses.

It ensures that the probability of an error is distributed evenly among the remaining estimates.

We take all performers' responses and, for example, optionand calculate the probability that performers will select this response, provided that the correct response is:

func z_prob(x int) : float {
    d = 1,0
    for w[i]: workers
         if answers[w[i]] == z[x]
            d *= q[i]
            d *= (1 - q[i]) / (Y - 1)
    return d

Next, using Bayes' theorem, we calculate the probability that the responseis correct:

r = 0
for z[i]: answer_options
    r += z_prob(i) * (1 / Y)

eps = z_prob(j) * (1 / Y) / r

Next, we look at. If the expected result is less than the value ofwe increase overlap until the result is equal to the confidence in the aggregated response or overlap reaches the maximum.


Before setting up dynamic overlap, you need to prepare the output data fields.

You can use the following fields:
  • Strings and numbers with allowed values.

    The allowed value must match the value parameter in the corresponding interface element.

  • Boolean.
  • Integers with minimum and maximum values. The maximum difference between them is 32.

    If there are too many possible responses in the output field, the dynamic overlap mechanism won't be able to aggregate the data.

You can't use the following fields:
  • Array.
  • File.
  • Coordinates.
  • JSON objects.
Setting up overlap
  1. Create a pool and fill in the parameters.
  2. Set the minimum overlap in the Overlap field.
  3. Turn on the Dynamic overlap option.
  4. Set Max overlap.
  5. Specify Confidence of aggregated answer. The higher the value, the more matching performers' responses are needed for the aggregated response. Set this value to at least 70.