Demystifying Compensation in FlowJo®

The Compensation Wizard in FlowJo is one of the most frequently used platforms, and by extension potentially the greatest source of confusion on a per-cytometrist basis. This brief guide is to help users new to compensation calculations and experienced flow-maestros alike breeze through this process in a painless and professional fashion.

First Steps:

  1. Load your single-stained controls into FlowJo, and make sure they are all added to FlowJo’s Compensation group.
  2. Select the Compensation group.
  3. Click one of the two Compensation icons to open the Compensation Wizard:

Compensation 1.png

Figure 1. Opening the Compensation Wizard.

The Fun Bits:

At this point, FlowJo will perform some pretty cool magic tricks: First, it will attempt to automatically assign control samples to their appropriate colors. Then, peak-finding algorithms will try to auto-gate negative and positive control populations within those samples.

Users should now be very careful to check the following three items:

1. Are the parameters in the Compensation Wizard correct?

If there are parameters included that you do not wish to compensate, click on the Sample cell to the right of the unwanted color, and choose “Remove this Parameter.”

If there are parameters which were not automatically added to the wizard, click on the parameter column header, and find the option “Choose Parameters.” Within the resulting dialog box, select your parameters of interest. If your parameter is not on this list, this is a sure sign that the parameter of interest is not contained in each single-stain control sample within your workspace’s Compensation group, which is required in order to perform compensation calculations on a given parameter.

2. Are the samples assigned to the correct corresponding colors?

If samples are mismatched, or no sample was selected for a given parameter, click the parameter cell to the right of the parameter column and select the appropriate sample.

3. Are the autogates correctly defining negative and positive control populations?

If the auto-gated control populations need adjustment, you can simply click on the preview graph windows at the bottom of the Compensation Wizard to bring up a univariate histogram defining these populations. Now, adjust the range gate(s) there to your desired location. If these autogates totally miss the mark, and you’d like to define them from scratch, you can do so in FlowJo’s workspace, then click the control population columns to the right of the parameters, and select your manually-defined populations to assign them to that color.

Pro-Tip: If you are using an unstained control as your universal negative, you can drag and drop the universal negative population from the unstained sample in your FlowJo workspace to the Negative column header in the compensation wizard—this automatically assigns that population as the negative control for all colors!

Final Steps:

In the top right-hand corner of the Compensation Wizard there is a message in blue. Does this message say “Finalized”? If so, you can apply the matrix to your data by dragging the “[M]” icon from the top left-hand corner of the wizard to individual samples or to groups within FlowJo’s workspace. You can also inspect the spillover matrix percentages calculated from your single-stained controls by clicking “View Matrix” at the top of the Compensation Wizard.

If, instead, the message reads “Calculation Error,” This means FlowJo was unable to calculate the matrix from your given controls. If you look to the left of the Parameter column in the wizard, you will see a colored dot. Mousing over this icon brings up a tooltip that provides feedback on possible issues with controls currently assigned to a parameter.


If you see a gray grid to the left of data files within FlowJo’s workspace, this indicates that a compensation matrix was imported via spillover keywords in that FCS file. This matrix was calculated by your acquisition software. In this case, your data has already been compensated by that acquisition-defined matrix, and you may not require single-stained controls to set up a matrix in FlowJo at all.

As mentioned previously, if your compensation control samples are missing any parameters from your experiment, this can be potentially devastating, because FlowJo will not be able to calculate a compensation matrix for parameters not held in common across all control samples. Likewise, if your compensation control parameters do not match the parameter names in your experimental samples EXACTLY (character for character) the calculated matrix will not apply correctly to your data files. FlowJo illustrates this mismatch in the workspace by filling the compensation grid icon to the left of samples with a red color. In either case, you may need to re-visit your acquisition software to make sure the parameters exported within your compensation controls are correct and complete.

Compensation 2.png

Figure 2. Matrix applied to sample with mismatched parameters.

Applying compensation to samples does not remove the uncompensated parameters from your sample, though it will hide them by default from parameter lists. You can show uncompensated parameters in FlowJo’s Graph window by holding down the Alt or Option key on your keyboard while clicking the parameter drop-down lists within the Graph window. Populations previously illustrated with uncompensated parameters will still be displayed in uncompensated space when you first re-open them, even after applying compensation to the sample.

Additional Resources:

  • FlowJo’s manual on compensation.
  • Detailed overview of the compensation theory underpinning our calculations.
  • If these techniques do not get you to your desired compensation, or if you have further questions or concerns you can always email FlowJo’s technical support team:
Aug 02, 2017   |   Flow Cytometry