Skip to content

Click in-app to access the full platform documentation for your version of DataRobot.

Optimizer App (Deprecated)

The Optimizer App identifies the maximum or minimum predicted value for a target by varying the values of a selection of flexible features in the model. The app is effective in cases where you want to optimize for a single row (e.g., price of renewal for a subscription).

For example, you may want to optimize the pricing of homes. Specifically, you want to determine how much you should invest in a particular home while still making a sizable profit from selling it. Certain features of the home will be flexible (how much you spend renovating a basement, adding a new garage, etc.) and others will be fixed (the year the house was built, what neighborhood it is in). Using a selection of both fixed and flexible features, you can use the Optimizer App to estimate which choices (derived from flexible features) lead to an optimal maximized value—maximum sale price.

Get started

If you have not yet deployed your Optimizer App, reference the application deployment walkthrough before proceeding. Note that if you are using a data source as the ingest method, you must select your target before deploying the app. If you choose to use a deployment for the ingest method, your target is already determined.

App settings

After deploying the Optimizer App, you can configure multiple parameters of it before making optimizations. Navigate to the Applications > Current Applications and open the Optimizer App.

From the app home page, select Go to Settings to begin configuring the app.

Optimization Target

The app offers a number of settings that enhance the output of predicted values for your target.

Field Description
Minimize/Maximize (1) Sets whether to minimize or maximize the predicted values for the target feature. Minimizing leads to the lowest outcome (e.g., custom churn), and maximizing the highest (e.g., sale price).
Optimization algorithm (2) If enabled, choose from the algorithms listed and determine the number of simulations to run. Choose from the Grid Search, Particle Swarm, and Hyperopt algorithms or allow DataRobot to select the best algorithm for your selection of features.Grid Search is an exhaustive, brute-force search of options on up to 3 flexible features. This may have long run time because it tries many possibilities, even if prior iterations don't suggest a strong outcome.Particle Swarm is a metaheuristic strategy that tests a large number of options with up to 30 flexible features. It can be effective for numerical flexible features but may not be as effective for flexible categorical features. Hyperopt efficiently explores significantly fewer options on up to 20 flexible features. It is effective for categorical and numeric features. With this algorithm, you can set up to 400 simulations. More iterations may yield better results, but can result in longer run times as it takes many iterations to converge.
Constrain sum of features (3) Constraints ensure that each record’s optimization iterations don’t output results that exceed a given value for the target feature. For example, if you are optimizing the price of a home, you may want to expand the gross living area by finishing part of the basement or adding a bedroom. You can use a sum constraint to limit the space each project is allowed to occupy in sq/ft.Choose “Maximum” (selected solutions must never exceed) or “Equality” (selected solutions must be equal) to the constrain value.
Custom optimization expression (4) Allows inclusion of more than one target feature in your optimization. Create an equation contained in curled bracers that uses one or more features, such as {converted} * {renewal_price}. A list of supported mathematical expressions can be found here.

Select features to constrain

When your value is set, select the features that you want to be part of the sum. The feature of your data source of deployment used to created the app are listed at the bottom of the page to choose from. Selected features can be fixed or flexible, but you must select at least two and they must be numeric. This option is not available if you use the Hyperopt algorithm.

Custom expressions for batch predictions

Additionally, for batch prediction optimization, use a field defined in the batch upload as part of the custom optimization expression the same way you use a feature from the dataset that the app is deployed from. For example, if you label a field in a spreadsheet "net_profit", and you have a "time_to_market" feature in the project's underlying dataset, the following would be a valid custom expression:

`{net_profit}/{time_to_market}`

Flexible Features & Constraints

This section on the Settings page allows you to select the features which represent the factors you have control over when searching for your optimized outcome. For optimizing the price of homes, some flexible features are the quality of the kitchen, the cost of the mortgage, and the size of the garage.

If there are more than 10 features in the dataset, use the pagination, the search bar or filters to find specific features.

When you have selected flexible features, you can apply constraints to them. This instructs the app to only include values falling in the range determined by numerical constraints or specific values for a categorical feature.

To apply constraints to a feature, expand the right-hand dropdown menu:

For categorical features, confirm or change selected values entries.

For numerical features, you can enter individual values for the minimum and maximum numeric ranges or drag the boundaries on the histogram.

Toggle "Integer values" on to include only integer values (exclude decimals).

Click Save to confirm your constraints for your feature and minimize the dropdown menu.

Choose which features to include in the simulation by checking the corresponding box.

When you have fully configured settings, click Save Settings. The Datapoints & Datasets page opens.

Datasets and datapoints

Use the Datapoints and Datasets page to input data to represent the fixed features for the optimization. These are features that are either constant or you do not have control over. When the app searches for optimization, these features will remain consistent; flexible features will vary to find the modifications that produce the most optimal results for the target feature. For example, some home pricing fixed features include the year the home was built, the foundation type, and the home's location.

Additionally, use this page to name your data point in the "custom_id" field. A data point contains the results of the app simulation (based on fixed and flexible feature configuration). You can compare multiple data points across simulations that use different fixed and flexible features. (You can also use multiple datapoints by for batch predictions.)

  1. Enter a datapoint name in the "custom_id" field.

  2. Input values for fixed features—those values that remain constant during simulation. Alternatively, select "Use Average Values" to automatically fill fields with the mean value. If you ran a simulation previously, the button reads "Use Last Values."

When all applicable data is entered, click Get Datapoint to begin the simulations and identify the target optimization.

Optimization simulation results

After simulations run, a graph populates detailing the results:

The Y-axis measures values of the target feature (1). The X-axis indicates the simulation iteration (2). Each point on the graph represents the predicted value for each simulation run.

Selecting a point on the graph (a datapoint) updates the Feature Values Comparison table below the graph. The table details the optimal and selected values for each flexible feature used to calculate individual run results.

The optimal values represent the values of the feature that most often produce the optimal result for your target (the minimal or maximal, based on your settings). The selected values are those you have selected for a given iteration, allowing you to compare the selected values for each iteration to the overall most optimal values determined by the app.

Filter simulation results

To constrain results, you can filter each flexible variable using the dropdown menu:

For categorical features, de-select the values you do not wish to include in the simulation results. For instance, you may not plan to invest in a basement with "excellent" quality, so you can exclude that value from that feature. For numeric features, you can filter by the range of values included.

After applying constraints, the graph updates. It lists your filter at the top of the graph and grays out all datapoints that are outside of the constraints:

Click Download to download the results of the simulations as a CSV.

If you want to run additional simulations using the same data with modified parameters, navigate to the Datapoints tab to start the process over.

Batch prediction simulations

It is also possible to generate optimized predictions for more than one datapoint by using batch predictions. The app will perform simulations using the same fixed and flexible features, but instead it will produce multiple datapoints for each iteration, based on the rows you provide in CSV or JSON format.

In the home pricing example, perhaps instead of a single-family home, you own multiple condos and want to predict potential sale prices of all properties based on potential improvements.

After configuring settings, select the Batch Predictions tab from the Datapoints & Datasets page.

Add the file containing your datapoints, being sure to meet the file requirements described in the link.

Note that the "custom_id" label used to create a single optimization run can be included as a column in the additional datasets used for batch predictions. The added datasets must contain the same features as the initial dataset.

As each dataset is added, the app runs simulations against it using the same set of fixed and flexible features. To view results, click on an individual datapoint under the Optimized Datapoints header.


Updated October 26, 2021
Back to top