Humans can be very good at opponent modeling because they can make inferences (extrapolation) based on limited data to identify general trends or errors in an opponent's play. This ability relies on an opponent being predictable, but this is often the case against all but the best players. For example, you may observe an opponent showing a failed flush draw in the showdown twice in situations where they made calls with very poor pot odds. You then infer that this opponent over-values flush draws until evidence contrary to this conclusion is presented.
For a computer, it is difficult to identify what parts of the context of an action are important, or how to make accurate inferences without large quantities of data. It is also difficult to make a computer identify trends outside of its mathematically understood value system (probabilistic measures of potential and strength), such as a particular opponent's over-optimistic evaluation of flush draws. Such a feature would require the computer to somehow learn how each opponent values the various features of particular hands. This is a complex problem, unless possible tendencies are anticipated so the computer can look for them.
There are numerous statistics that a computer could gather in a poker game, and conclusions that could be inferred with sufficient data. Every time an opponent reveals cards in the showdown, a retroactive analysis of betting actions in that game could be used for data. However, the majority of observations are not so informed. Without showdowns, the complete betting history of a player could be recorded, and data could be classified by a variety of contextual information: betting round, bets to call, bets put in that round, number of active opponents, and the previous action by this player.
As a first cut, Loki does not use the extra information presented in showdowns, and makes inferences using only information for which it has sufficient data points. Until 20 data points have been acquired for a particular context, the opponent modeling action frequencies are based on a weighted average between some pre-defined defaults and the observed data. The context definition used is coarse in granularity, considering only betting round and bets to call. This is a simple approach to learn more about the requirements for opponent modeling. A better approach might be to try to identify which aspects of the context are most valuable for consideration.