<!-- canonical: efficientnewlanguage.org/ai/examples/935-the-option-nobody-chose-changed-what-they-chose | ai_layer_version: 0.1.0 | updated: 2026-09-20 -->

# Example 935 — The option nobody chose changed what they chose

`the_option_nobody_chose_changed_what_they_chose.eml` - A menu offers a small and a large; a medium is added that almost nobody buys; and sales of the large double. Every count is real and the medium really was chosen by almost no one. What an option nobody chooses does to the choice is computed below.

## EML

```eml
# Self-authored for the EML case corpus (no external origin). A menu offers a
# small and a large; a medium is added that almost nobody buys; and sales of
# the large double. Every count is real and the medium really was chosen by
# almost no one. What an option nobody chooses does to the choice is computed
# below.
#
# The experiment is careful. The two menus were shown to the same kind of
# customers; the counts are real; the medium's own sales are honestly near
# zero; and the intent is exactly 'did the medium matter'.
#
# The medium is priced almost like the large and is worse than it, so it makes
# the large look like the obvious deal - an option that wins no choices moves
# the choices, because people compare, they do not rate.

1000 => customers_per_menu
700 => small_chosen_two_options
300 => large_chosen_two_options
400 => small_chosen_three_options
0 => medium_chosen_three_options
600 => large_chosen_three_options
3 => price_small
7 => price_large

int(large_chosen_two_options * 10000 / customers_per_menu) => large_share_without_the_medium_per_myriad
int(large_chosen_three_options * 10000 / customers_per_menu) => large_share_with_the_medium_per_myriad
large_share_with_the_medium_per_myriad - large_share_without_the_medium_per_myriad => share_moved_by_an_option_nobody_chose_per_myriad
small_chosen_two_options * price_small + large_chosen_two_options * price_large => revenue_two_options
small_chosen_three_options * price_small + large_chosen_three_options * price_large => revenue_three_options
revenue_three_options - revenue_two_options => revenue_added_by_the_unchosen_option

"menu of two                     : small " + str(small_chosen_two_options) + ", large " + str(large_chosen_two_options) ^0
"menu of three                   : small " + str(small_chosen_three_options) + ", medium " + str(medium_chosen_three_options) + ", large " + str(large_chosen_three_options) ^0
"" ^0
"large share, two options        : " + str(large_share_without_the_medium_per_myriad) + " per ten thousand" ^0
"large share, three options      : " + str(large_share_with_the_medium_per_myriad) + " per ten thousand" ^0
"share moved by an option nobody chose : " + str(share_moved_by_an_option_nobody_chose_per_myriad) + " per ten thousand" ^0
"revenue, two options            : " + str(revenue_two_options) ^0
"revenue, three options          : " + str(revenue_three_options) + ", " + str(revenue_added_by_the_unchosen_option) + " more" ^0
"" ^0

# ---- what the experiment verified ----

"the menu test" ^0
"  customers : the same kind, two menus" ^0
"  counts : real" ^0
"  the medium's own sales : honestly " + str(medium_chosen_three_options) ^0
"  intent : did the medium matter" ^0
"  counts misattributed : 0" ^0
"  verdict : NOBODY BOUGHT THE MEDIUM" ^0
"" ^0
"  counting the medium's own sales honestly is the part" ^0
"  done right here, and it is why " + str(medium_chosen_three_options) + " really is how many" ^0
"  people chose it" ^0
"" ^0

# ---- what an unchosen option does ----

"comparison, not rating" ^0
"  the model in the plan : each option has a value, people" ^0
"    pick the highest, an unpicked option is irrelevant" ^0
"  what people do : compare the options in front of them" ^0
"  the medium : almost the large's price for less than the" ^0
"    large - a foil that makes the large the clear win" ^0
"  so the large : " + str(large_share_without_the_medium_per_myriad) + " to " + str(large_share_with_the_medium_per_myriad) + " per ten thousand, with the foil" ^0
"    itself chosen " + str(medium_chosen_three_options) + " times" ^0
"  kin to the spoiler in an election : an alternative that" ^0
"    cannot win changes who does" ^0
"" ^0

# ---- what the seller got ----

"the outcome" ^0
"  option added : one that sells " + str(medium_chosen_three_options) ^0
"  revenue change : " + str(revenue_added_by_the_unchosen_option) ^0
"  is any count wrong : no" ^0
"  is an unchosen option irrelevant : no; it is the ruler the" ^0
"    other options are measured with" ^0
"" ^0

# ---- null control ----

# The same customers offered the two-option menu and a three-option menu whose
# third option is not dominated (a genuinely different item), so no foil.
300 => nc_large_share_two_options_per_myriad
600 => nc_large_share_with_a_dominated_medium_per_myriad
310 => nc_large_share_with_an_undominated_third_option_per_myriad

"null control - add a third option that is not a foil" ^0
"  large share, two options : " + str(nc_large_share_two_options_per_myriad) + " per ten thousand" ^0
"  large share, dominated medium added : " + str(nc_large_share_with_a_dominated_medium_per_myriad) + " per ten thousand" ^0
"  large share, undominated third option added : " + str(nc_large_share_with_an_undominated_third_option_per_myriad) + " per ten thousand" ^0
"  no price and no customer changed; the third option stopped" ^0
"  being a yardstick for the large" ^0
"" ^0

# ---- the rule ----

"what an honest count of the medium's sales guarantees" ^0
"  almost nobody chose the medium : exactly, real counts" ^0
"  the medium did not matter : not addressed; people choose" ^0
"    by comparison, and the dominated medium moved the large" ^0
"    from " + str(large_share_without_the_medium_per_myriad) + " to " + str(large_share_with_the_medium_per_myriad) + " per ten thousand while winning " + str(medium_chosen_three_options) ^0
"" ^0

"a choice is made among the options present, not from a private ranking; an" ^0
"option nobody takes can still be the one everybody measures against, and" ^0
"its influence is invisible in exactly the column where it was counted" ^0
"" ^0

"The medium sold " + str(medium_chosen_three_options) + " - honestly counted. But people compare rather than rate, and" ^0
"a dominated medium makes the large the clear deal: its share went from " + str(large_share_without_the_medium_per_myriad) ^0
"to " + str(large_share_with_the_medium_per_myriad) + " per ten thousand, " + str(revenue_added_by_the_unchosen_option) + " more revenue from an option that won nothing," ^0
"until the third option was one that stood on its own." ^0
```

## Python (deterministic transpilation)

```python
customers_per_menu = 1000
small_chosen_two_options = 700
large_chosen_two_options = 300
small_chosen_three_options = 400
medium_chosen_three_options = 0
large_chosen_three_options = 600
price_small = 3
price_large = 7
large_share_without_the_medium_per_myriad = int(large_chosen_two_options * 10000 / customers_per_menu)
large_share_with_the_medium_per_myriad = int(large_chosen_three_options * 10000 / customers_per_menu)
share_moved_by_an_option_nobody_chose_per_myriad = large_share_with_the_medium_per_myriad - large_share_without_the_medium_per_myriad
revenue_two_options = small_chosen_two_options * price_small + large_chosen_two_options * price_large
revenue_three_options = small_chosen_three_options * price_small + large_chosen_three_options * price_large
revenue_added_by_the_unchosen_option = revenue_three_options - revenue_two_options
print("menu of two                     : small " + str(small_chosen_two_options) + ", large " + str(large_chosen_two_options))
print("menu of three                   : small " + str(small_chosen_three_options) + ", medium " + str(medium_chosen_three_options) + ", large " + str(large_chosen_three_options))
print("")
print("large share, two options        : " + str(large_share_without_the_medium_per_myriad) + " per ten thousand")
print("large share, three options      : " + str(large_share_with_the_medium_per_myriad) + " per ten thousand")
print("share moved by an option nobody chose : " + str(share_moved_by_an_option_nobody_chose_per_myriad) + " per ten thousand")
print("revenue, two options            : " + str(revenue_two_options))
print("revenue, three options          : " + str(revenue_three_options) + ", " + str(revenue_added_by_the_unchosen_option) + " more")
print("")
print("the menu test")
print("  customers : the same kind, two menus")
print("  counts : real")
print("  the medium's own sales : honestly " + str(medium_chosen_three_options))
print("  intent : did the medium matter")
print("  counts misattributed : 0")
print("  verdict : NOBODY BOUGHT THE MEDIUM")
print("")
print("  counting the medium's own sales honestly is the part")
print("  done right here, and it is why " + str(medium_chosen_three_options) + " really is how many")
print("  people chose it")
print("")
print("comparison, not rating")
print("  the model in the plan : each option has a value, people")
print("    pick the highest, an unpicked option is irrelevant")
print("  what people do : compare the options in front of them")
print("  the medium : almost the large's price for less than the")
print("    large - a foil that makes the large the clear win")
print("  so the large : " + str(large_share_without_the_medium_per_myriad) + " to " + str(large_share_with_the_medium_per_myriad) + " per ten thousand, with the foil")
print("    itself chosen " + str(medium_chosen_three_options) + " times")
print("  kin to the spoiler in an election : an alternative that")
print("    cannot win changes who does")
print("")
print("the outcome")
print("  option added : one that sells " + str(medium_chosen_three_options))
print("  revenue change : " + str(revenue_added_by_the_unchosen_option))
print("  is any count wrong : no")
print("  is an unchosen option irrelevant : no; it is the ruler the")
print("    other options are measured with")
print("")
nc_large_share_two_options_per_myriad = 300
nc_large_share_with_a_dominated_medium_per_myriad = 600
nc_large_share_with_an_undominated_third_option_per_myriad = 310
print("null control - add a third option that is not a foil")
print("  large share, two options : " + str(nc_large_share_two_options_per_myriad) + " per ten thousand")
print("  large share, dominated medium added : " + str(nc_large_share_with_a_dominated_medium_per_myriad) + " per ten thousand")
print("  large share, undominated third option added : " + str(nc_large_share_with_an_undominated_third_option_per_myriad) + " per ten thousand")
print("  no price and no customer changed; the third option stopped")
print("  being a yardstick for the large")
print("")
print("what an honest count of the medium's sales guarantees")
print("  almost nobody chose the medium : exactly, real counts")
print("  the medium did not matter : not addressed; people choose")
print("    by comparison, and the dominated medium moved the large")
print("    from " + str(large_share_without_the_medium_per_myriad) + " to " + str(large_share_with_the_medium_per_myriad) + " per ten thousand while winning " + str(medium_chosen_three_options))
print("")
print("a choice is made among the options present, not from a private ranking; an")
print("option nobody takes can still be the one everybody measures against, and")
print("its influence is invisible in exactly the column where it was counted")
print("")
print("The medium sold " + str(medium_chosen_three_options) + " - honestly counted. But people compare rather than rate, and")
print("a dominated medium makes the large the clear deal: its share went from " + str(large_share_without_the_medium_per_myriad))
print("to " + str(large_share_with_the_medium_per_myriad) + " per ten thousand, " + str(revenue_added_by_the_unchosen_option) + " more revenue from an option that won nothing,")
print("until the third option was one that stood on its own.")
```

## stdout (executed)

```text
menu of two                     : small 700, large 300
menu of three                   : small 400, medium 0, large 600

large share, two options        : 3000 per ten thousand
large share, three options      : 6000 per ten thousand
share moved by an option nobody chose : 3000 per ten thousand
revenue, two options            : 4200
revenue, three options          : 5400, 1200 more

the menu test
  customers : the same kind, two menus
  counts : real
  the medium's own sales : honestly 0
  intent : did the medium matter
  counts misattributed : 0
  verdict : NOBODY BOUGHT THE MEDIUM

  counting the medium's own sales honestly is the part
  done right here, and it is why 0 really is how many
  people chose it

comparison, not rating
  the model in the plan : each option has a value, people
    pick the highest, an unpicked option is irrelevant
  what people do : compare the options in front of them
  the medium : almost the large's price for less than the
    large - a foil that makes the large the clear win
  so the large : 3000 to 6000 per ten thousand, with the foil
    itself chosen 0 times
  kin to the spoiler in an election : an alternative that
    cannot win changes who does

the outcome
  option added : one that sells 0
  revenue change : 1200
  is any count wrong : no
  is an unchosen option irrelevant : no; it is the ruler the
    other options are measured with

null control - add a third option that is not a foil
  large share, two options : 300 per ten thousand
  large share, dominated medium added : 600 per ten thousand
  large share, undominated third option added : 310 per ten thousand
  no price and no customer changed; the third option stopped
  being a yardstick for the large

what an honest count of the medium's sales guarantees
  almost nobody chose the medium : exactly, real counts
  the medium did not matter : not addressed; people choose
    by comparison, and the dominated medium moved the large
    from 3000 to 6000 per ten thousand while winning 0

a choice is made among the options present, not from a private ranking; an
option nobody takes can still be the one everybody measures against, and
its influence is invisible in exactly the column where it was counted

The medium sold 0 - honestly counted. But people compare rather than rate, and
a dominated medium makes the large the clear deal: its share went from 3000
to 6000 per ten thousand, 1200 more revenue from an option that won nothing,
until the third option was one that stood on its own.
```

## Round-trip

`ok: true` — round-trip fixpoint reached (python1 == python2)

## Trace event types

eml:run:start · eml:assign · eml:output · eml:run:done
