Skip to main content

Experimental designs for discrete choice models.

Project description

ChoiceDesign

Tests

ChoiceDesign is a Python package tool to construct efficient designs for Discrete Choice Experiments. ChoiceDesign combines enough flexibility to construct from simple 2-alternative designs with few attributes, to more complex settings that may involve conditions between attributes. ChoiceDesign is a revamped version of EDT, a project I created some years ago for the same purpose. ChoiceDesign includes improvements over EDT such as class-based syntax, coding improvements, better documentation and making this package available to install via pip.

Installation

ChoiceDesign is available to install via the regular syntax of pip:

  • python3 -m pip install choicedesign

Features

The main features of ChoiceDesign are:

  • D-efficient, A-efficient, and C-efficient designs — minimise D-error (determinant), A-error (average variance), or C-error (WTP variance sum)
  • Db-efficient (Bayesian) designs via Parameter(prior_std=...) and bayes_draws argument
  • Three optimisation algorithms — random swapping, RSC (Relabelling, Swapping, Cycling), and Modified Federov
  • Customisable utility functions (no external dependencies — expressions rewritten from scratch)
  • Designs with conditions over different attribute levels
  • Designs with blocks
  • Full-factorial designs
  • Multiple stopping criteria (fixed number of iterations, iterations without improvement, or fixed time)

Examples

I provide some Jupyter notebooks that illustrate the use of ChoiceDesign in the examples/ folder of this repo.

How to contribute?

Any contributions to ChoiceDesign are welcome via this Git, or to my email joseignaciohernandezh at gmail dot com.

Disclaimer

This software is provided for free and as it is, say with no warranty, and neither me nor my current institution is liable of any consequence of the use of it. In any case, integrity checks have been performed by comparing results with alternative software.

References

  • Bierlaire, M. (2003). BIOGEME: A free package for the estimation of discrete choice models. In Swiss transport research conference.
  • Kuhfeld, W. F. (2005). Experimental design, efficiency, coding, and choice designs. Marketing research methods in SAS: Experimental design, choice, conjoint, and graphical techniques, 47-97.
  • Quan, W., Rose, J. M., Collins, A. T., & Bliemer, M. C. (2011). A comparison of algorithms for generating efficient choice experiments.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

choicedesign-1.0.0.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

choicedesign-1.0.0-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file choicedesign-1.0.0.tar.gz.

File metadata

  • Download URL: choicedesign-1.0.0.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.1 CPython/3.13.1 Darwin/25.4.0

File hashes

Hashes for choicedesign-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d318ed3c9ff5fcf7440c37433e7d67d9a567472ef1ef9ac45af60ce7e2458f8b
MD5 7a5a5f5172dd0ac409a2db2748ab509f
BLAKE2b-256 09fbc52c24febbf8eec21299125ab75437374780de7b50934586b7d160366b51

See more details on using hashes here.

File details

Details for the file choicedesign-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: choicedesign-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.1 CPython/3.13.1 Darwin/25.4.0

File hashes

Hashes for choicedesign-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6898552dde045af4744c5e039e6264b387702695380263582946b3229d3b1248
MD5 845e2f0d7002bd61bc6a78787207932d
BLAKE2b-256 d17e92b3901649170acc9d0ba68ea0e7d2a8a6cdbfc71b28db14dbd05442adf8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page