KEV: Constant Evaluator

Online optimiser of the equilibrium constants of the chemical reactions · log in · sign up

KEV is a chemical software developed for solving two classes of problems of the chemical equilibria theory. It is free, open source and available both as an online service and scripts bundle.

  1. Equilibrium concentrations. Calculation of the equilibrium composition of the compounds mixture using stoichiometric scheme of reactions, total or equilibrium concentrations (free concentrations) of reagents and known equilibrium constants.
  2. Equilibrium constants. Estimation of the equilibrium constants (in some cases called stability constants or binding constants) from the experimental data:
    • UV-Vis spectroscopy
    • Potentiometric measurements (E.M.F.)
    • Nuclear magnetic resonance (NMR, fast exchange)
    • Calorimetry

KEV implements the statistical approach in solving equilibrium problems thus being broadly applicable across different systems (any system could be processed; theoretically, the number of chemical reactions occurring in the calculated mixture is unlimited), more accurate and reliable comparing with more traditional graphical methods.

How to use

User Guide

User Guide (pdf)

Quick Start

Log in or sign up for free. (KEV uses simple web server authentication to prevent the bot traffic)

KEV online interface consists of a few tabs, each tab for a different problem class.

  • Define some environment variables in the upper part of the tab
  • Upload or type data into the all table and text inputs you could find a bit lower. You could also use bulk input to upload all the data at once
  • Press "Evaluate" key
  • Get your data in the lower part of the page
  • Download input and output data in your preferred format

Input data format

  • csv, comma "," or semicolon ";" separated
  • txt, tab separated
  • xlsx, one or multiple sheets

Use one file per table / text input control except of multiple sheets xlsx file. Please visit our GitLab repo for some examples of the files formatted for different problems. Each subfolder is for a different project.

R scripts

If you have experience in R programming language you could use KEV scripts directly. You could obtain them from our GitLab repo. Check app/kev/run.r file for run script examples.

Matrix operations used in KEV require the higher numeric precision, so plain R could struggle on solving more complex systems. The functionality required by KEV is provided via Intel Math Kernel Library (MKL). MKL could be obtained with Microsoft Open R (MRO, tested with KEV) or independently (R + MKL, not tested). OpenBLAS provides the similar functionality but was not tested with KEV.

Bugs and errors

If you encounter an error during your data input or calculations, try the following

  • Check "Column delimiter" control. If you use csv file with a semicolon ";" delimiter should be also ";"
  • Check if component (molecule) names are consistent between different tables i.e. coefficient, concentrations, and molar extinction matrices
  • Check the same for wavelengths
  • If you are uploading data table by table and encounter some obscure messages in grey or red - just try to load remaining data, the messages could be warnings about temporary inconsistense between uploaded and not-yet-uploaded data
  • Some complex systems could not be solved due to the lack of available data. Try to reduce the number of unknown values
  • Not solved anyway? File an issue in our GitLab or GitHub repo



The core principle KEV is created around is the reproducibility of the (chemical) research. It uses widely accepted file formats such as csv, txt and xlsx also being easily readable and editable by humans. No special file formats, "projects" etc. are introduced, one can read, edit and save KEV input and output files with any text editor they prefer. We also use xlsx files as an option since de facto it is an office standard for the table data.

KEV provides some possibilities to edit data when loaded or input all the data manually. However, we recommend avoiding manual input since it may reduce the reproducibility of the research (unless one saves data after editing, which is also possible). All the output data could be used as the input data after rather small editing.


We believe it is not OK to rely on the output data of the algorithm without testing its validity. So KEV outputs contain some additional data such as correlation matrices, standard or absolute prediction errors, last reached step of the optimised function and so on. Always check them before actual use of any calculated data.

Algorithms used in KEV and other maths and statistics staff are described in the paper mentioned above.


KEV is the only fully operational constant evaluator with the source code publicly available. The open source code and / or the independent code audit is the only way to develop truly reliable scientific software because it is the only way to be sure both about algorithms themselves and algorithm implementations as well.

Algorithm implementations deal with many extra substances from numeric precision to data input formats pure algorithms are not aware of. Each of them is the possible source of error influencing your scientific research. In fact it is much more likely to get an error from the unlucky implementation than of the maths described in the papers. We test KEV code before every update and encourage those of you who have experience in technology test it too.


Dr. Kozlovskiy

KEV is loosely based on the research performed and the software developed by the Russian Chemist E.V. Kozlovskiy in 1970s. Dr.Sci., Professor E.V. Kozlovskiy made an excellent contribution into development of principles of equilibrium composition and stability constants calculations as well as specialized software aiming those problems.

The very name KEV to be decoded both as (K)Constant EValuator and Kozlovskiy Evgeniy Viktorovich. KEV is much faster and more convenient than older days mainframe "mini-programs", however without his papers written during his professorship in Ivanovo State University of Chemistry and Technology KEV would hardly have appeared.

Papers and Sources


Please, cite these papers if you use KEV in your research

  • A.N. Meshkov, G.A. Gamov. KEV: a free software for calculating the equilibrium composition and determining the equilibrium constants using UV-Vis and potentiometric data. Talanta, Vol.198 (2019), P.200-205, (KEV for calculation of the equilibrium composition and estimation of the equilibrium constants)
  • G.A. Gamov, A.N. Meshkov, M.N. Zavalishin, M.V. Petrova, A.Yu. Khokhlova, A.V. Gashnikova, V.A. Sharnin. Binding of pyridoxal, pyridoxal 5'-phosphate and derived hydrazones to bovine serum albumin in aqueous solution. Spectrochimica Acta A: Molecular and Biomolecular Spectroscopy, Vol. 233 (2020), 118165, (KEV for curve fitting)

Source Codes

KEV is written in R which is one of the best maths, statistics, and data science tools. It is licensed under GPL 3.0, please read the license text before using the app or the source code.

Contact us

Sign up

To get the free access to KEV send us an email, and you recieve the login and the password in less than one day (and possibly in minutes). Just use "KEV" as a subject and something like "Hi, Aleksandr / Georgiy, please give me access to KEV app. [Your name]" as a content.


Dr. Georgiy Gamov · Chemistry and Maths ·
Research Institute of Thermodynamics and Kinetics of Chemical Processes, Ivanovo State University of Chemistry and technology, Ivanovo

Dr. Aleksandr Meshkov · Data Science and Development ·