Abstract Choice Theory and Menu-Based Analysis#

Abstract choice theory evaluates preference consistency from discrete choice observations in the absence of price vectors. In this framework, the analyst observes a sequence of menu-choice pairs, where each menu \(B_t\) is a finite set of alternatives and the selection \(c(B_t)\) is a single element from that menu.

This axiomatic framework is applicable to diverse empirical settings, including:

  • Survey Instruments: Longitudinal evaluation of individual stated preferences.

  • Recommendation Systems: Analysis of agent interactions within constrained digital interfaces.

  • Social Choice: Examination of voting patterns across varied ballot options.

  • Experimental Design: Discrete choice experiments and A/B testing protocols.

Formal Notation#

The analysis of menu-based choices utilizes the following mathematical conventions:

\(B_t \subseteq X\)

The menu (feasible set) available at observation \(t\).

\(c(B_t) \in B_t\)

The item selected by the agent from menu \(B_t\).

\(x \, R \, y\)

The weak revealed preference relation (where \(x\) is chosen and \(y\) was available).

\(R^*\)

The transitive closure of the revealed preference relation \(R\).

\(T\)

Total number of choice observations.

The Revealed Preference Relation#

For menu-based observations, the revealed preference relation \(R\) is formally defined as:

\[x \, R \, y \iff \exists \, t : c(B_t) = x \text{ and } y \in B_t\]

This signifies that \(x\) is revealed preferred to \(y\) if \(x\) was selected from a feasible set containing \(y\).

Weak Axiom of Revealed Preference (WARP)#

Reference Implementation: validate_menu_warp(log)

The Weak Axiom of Revealed Preference (WARP) in the context of discrete choice precludes direct pairwise contradictions in behavioral selections.

The WARP Condition:

\[\text{WARP is satisfied} \iff \nexists \, x, y : (x \, R \, y) \land (y \, R \, x)\]

If an agent selects \(x\) when \(y\) is available, WARP dictates that they cannot select \(y\) in a subsequent menu where \(x\) is also available.

Strong Axiom of Revealed Preference (SARP)#

Reference Implementation: validate_menu_sarp(log)

The Strong Axiom of Revealed Preference (SARP) extends consistency to transitivity, prohibiting preference cycles of any length within the discrete choice framework.

The SARP Condition (Acyclicity):

\[\text{SARP is satisfied} \iff R^* \text{ is acyclic}\]

Equivalently, SARP is satisfied if there exists no sequence \(x_1, \ldots, x_m\) such that \(x_1 \, R \, x_2 \, R \, \cdots \, R \, x_m \, R \, x_1\).

Congruence and Full Rationalizability#

Reference Implementation: validate_menu_consistency(log)

The Congruence axiom, also known as Richter’s condition, provides the necessary and sufficient criteria for the existence of a stable preference ordering.

Richter’s Theorem (1966)

A discrete choice function \(c\) is rationalizable by a complete and transitive preference ordering if and only if it satisfies the condition of Congruence.

Congruence requires both SARP (acyclicity) and the property that the selected item \(c(B_t)\) is maximal under the indirect preference relation \(R^*\) within the feasible set \(B_t\).

Houtman-Maks Efficiency for Discrete Choice#

Reference Implementation: compute_menu_efficiency(log)

When behavioral data violate SARP, the Houtman-Maks Index quantifies the degree of approximate rationality by identifying the maximal subset of observations that satisfy axiomatic consistency.

Formal Definition:

\[\text{HM} = 1 - \min \left\{ \frac{|S|}{T} : \text{The subset } \{1, \ldots, T\} \setminus S \text{ satisfies SARP} \right\}\]

Interpretation:

An HM index of 1.0 indicates perfect transitivity, while lower values signify significant behavioral noise or model misspecification within the choice environment.

Ordinal Preference Recovery#

Reference Implementation: fit_menu_preferences(log)

If the agent’s behavior satisfies SARP, the underlying ordinal preference ranking can be recovered via a topological sort of the item graph.

Methodology:

  1. Graph Construction: Directed edges \(x \to y\) are established for all observed relations \(x \, R \, y\).

  2. Transitive Extension: The transitive closure \(R^*\) is computed to identify all indirect preferences.

  3. Topological Ordering: A linear ordering of alternatives is generated such that if \(x \, R^* \, y\), then \(x\) is ranked before \(y\).

If multiple preference orderings are compatible with the observed data, PrefGraph returns one such consistent ranking.

References: Richter (1966), Chambers & Echenique (2016).

Item Graph Network Features#

Requires: Engine(metrics=[..., "network"])

The item graph \(G = (X, R)\) has one node per alternative and a directed edge \(x \to y\) whenever item \(x\) was selected from a menu containing \(y\). In contrast to the budget observation graph (where nodes represent observations), nodes here represent items and edges encode direct pairwise preferences. These features characterize the distribution of revealed preferences across alternatives, independently of whether those preferences satisfy SARP or WARP.

Graph Density (r_density)

\[\rho = \frac{|\{(x,y) : x \, R \, y, \, x \neq y\}|}{|X|(|X|-1)}\]

The proportion of item pairs for which a direct revealed preference has been observed. Higher density indicates broader comparison coverage across the item space. Lower density indicates that many item pairs have not been directly compared in the observed menus.

Preference Entropy (pref_entropy)

Shannon entropy of the out-degree distribution, where \(d^+(x)\) denotes the number of items over which \(x\) has been selected:

\[H = -\sum_{x \in X} \frac{d^+(x)}{D} \log_2 \frac{d^+(x)}{D}, \quad D = \sum_{x} d^+(x)\]

Quantifies the dispersion of revealed preferences across items. High entropy indicates that selections are distributed across many alternatives. Low entropy indicates that a small number of items account for most selections. This measure is distinct from SARP consistency: an agent may exhibit high entropy while maintaining a fully acyclic preference ordering.

Value

Interpretation

High (near \(\log_2 |X|\))

Selections distributed uniformly across items. Consistent with variety-seeking behavior.

Low (near 0)

Selections concentrated on a small subset of items. Consistent with stable item-level preferences.

Choice Diversity (choice_diversity)

\[\text{diversity} = \frac{|\{c(B_t) : t = 1, \ldots, T\}|}{T}\]

The ratio of distinct items selected to total observations. Values range from \(1/T\) (a single item selected in every observation) to 1.0 (a distinct item selected in each observation). This measure captures the breadth of the agent’s selection behavior, independent of menu composition or axiomatic consistency.