*Last Updated: April, 2023*

# What is CPC algorithm?

The CPC algorithm serves as a comprehensive data science solution for running CPC campaigns, which are click-driven campaigns on RTB. Essentially, this algorithm generates bid values that can be applied in RTB to achieve the CPC campaign's objectives on a larger scale.

# What are the main components of the CPC algorithm / How CPC campaigns are optimized?

There are 2 components in the CPC algorithm: **Prediction Model** and **Auto blacklisting Tool**.

**Prediction Model and how it works**

Prediction Model is a logistic regression model trained to predict probability of click given a set of variables associated with every bid request. Prediction Model uses publisher side, advertiser side and user side features in the model.

Bidder computes the bid value as follows:

Bidvalue(privatevalue) = Probability_from-model(click given feature values) * targetCPC

If the predicted probabilities are close to accurate, this will ensure that we always achieve target CPC.

**Auto Blacklisting Tool**

Auto Blacklisting is another model that looks at performance of app placements and calculates the probability of whether an app will perform well for your campaign or not. If the Auto BL model predicts that the app is not a good fit for your campaign, it will automatically blacklist the app for the specific campaign. Once an app is blacklisted, it will remain blacklisted for some days but it can be given a chance again after a few days to test and see if the performance of the app has improved or not. For instance, in the below screenshot, for campaign ID 144353, the model has blacklisted 5 publisher apps.

The Auto BL tool defines a prior distribution for loss (or profit) of every (app, campaign) combination. At regular intervals it computes the probability that loss > 0 (the probability that the app is a loss making app).

**Blacklisting rule**

Blacklist if probability (loss>0) > 0.9. This ensures that an app gets blacklisted only if there is sufficient data to conclude that it is a loss making app. Once there is sufficient data, the tool avoids any further losses by immediately blacklisting the app if found to be loss making.

**Note:** You can also see which apps got Auto BL or were removed from the Auto BL by the algorithm in the **Changelogs.**