---
title: ExpectationFactory (v0.46)
description: API reference for qiskit.opflow.expectations.ExpectationFactory in qiskit v0.46
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/0.46/qiskit.opflow.expectations.ExpectationFactory
---

# ExpectationFactory

*class* `qiskit.opflow.expectations.ExpectationFactory`

[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/opflow/expectations/expectation_factory.py)

Bases: [`object`](https://docs.python.org/3/library/functions.html#object)

Deprecated: factory class for convenient automatic selection of an Expectation based on the Operator to be converted and backend used to sample the expectation value.

## Methods

### build

*static* `build(operator, backend=None, include_custom=True)`

A factory method for convenient automatic selection of an Expectation based on the Operator to be converted and backend used to sample the expectation value.

> **Deprecated since version 0.24.0**
>
> The method `qiskit.opflow.expectations.expectation_factory.ExpectationFactory.build()` is deprecated as of qiskit-terra 0.24.0. It will be removed in the Qiskit 1.0 release. For code migration guidelines, visit [https://qisk.it/opflow\_migration](https://qisk.it/opflow_migration).

**Parameters**

- **operator** ([*OperatorBase*](/docs/api/qiskit/0.46/qiskit.opflow.OperatorBase "qiskit.opflow.operator_base.OperatorBase")) – The Operator whose expectation value will be taken.
- **backend** ([*Backend*](/docs/api/qiskit/0.46/qiskit.providers.Backend "qiskit.providers.backend.Backend")  *|*[*QuantumInstance*](/docs/api/qiskit/0.46/qiskit.utils.QuantumInstance "qiskit.utils.quantum_instance.QuantumInstance") *| None*) – The backend which will be used to sample the expectation value.
- **include\_custom** ([*bool*](https://docs.python.org/3/library/functions.html#bool)) – Whether the factory will include the (Aer) specific custom expectations if their behavior against the backend might not be as expected. For instance when using Aer qasm\_simulator with paulis the Aer snapshot can be used but the outcome lacks shot noise and hence does not intuitively behave overall as people might expect when choosing a qasm\_simulator. It is however fast as long as the more state vector like behavior is acceptable.

**Returns**

The expectation algorithm which best fits the Operator and backend.

**Raises**

[**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError) – If operator is not of a composition for which we know the best Expectation method.

**Return type**

[*ExpectationBase*](/docs/api/qiskit/0.46/qiskit.opflow.expectations.ExpectationBase "qiskit.opflow.expectations.expectation_base.ExpectationBase")
