first step then is to formalize this interpretation
knowledge and create a knowledge base.
The knowledge base presented in the following
sections is just one major milestone in our project,
while the other includes developing an explanation
facility which could provide natural-language-like
explanations in various output formats and
languages (Tomić, Horvat and Jovanović, 2010).
3 MODEL
The knowledge for the Konsultant knowledge base
was extracted from literature and experts. Literature
included several university textbooks (Milićević and
Ilić, 2005; Žarkić Joksimović, 2005; Jovanović,
2005) and an expert was called on to verify the
model for correctness and completeness.
The process of analyzing annual profit values
was the basis of the knowledge base model. This
process can be divided into four steps.
The first step is to interpret profit value for the
current year. No other data is taken into account, not
even profit values for previous years. The only
information that can be inferred is whether profit is
positive, negative or neutral (close to zero). But,
depending on the size of the enterprise, the industry
sector and other factors, it can be hard to determine
if profit is neutral or positive (a profit of ten
thousand dollars may be considerate for some
enterprises, but insignificant for others). Each
enterprise has its own set of referential values, so it
was decided that the boundary values for neutral
profit should be entered together with other data.
Positive profit is always considered to be a good
thing. But, negative or neutral profit may not be
interpreted as bad in all situations. New enterprises
tend to achieve negative profit in the first few years
of business. This is why, in the second step, it is
important to check whether the enterprise is new and
if the return-on-investment (ROI) period is over. It is
bad if negative or neutral profit persists after the
projected ROI period is over. Established enterprises
should almost always be able to achieve positive
profit, except if they undergo a major investment.
The third step includes comparing current profit
with average profit in the industry sector. Average
profit values are never good indicators by
themselves as individual profit values may be very
scattered. But, negative or neutral average sector
profit can indicate a serious crisis or disruption in
the market and thus enable finding root cause for
negative profit values. If the annual profit is larger
than the average in sector, the enterprise is doing
better than most of its competitors and vice versa.
Since it is hard to determine accurately if the profit
is significantly larger or smaller than the average
profit in sector, the solution we employed was to
enter a percentage value to act as a boundary.
The final step is to compare profit value for the
current year with values from previous years. This
time series analyses is always limited to a few years
in the past (usually three to five) and helps
determine whether profit is on the rise, oscillatory or
declining. The analyses is made by comparing
differential profit for two consecutive years. If, for
example, profit is on the rise, it can be determined if
the growth trend is exponential, asymptotic or nearly
linear. Declining profit can have a parabolic,
asymptotic or nearly linear trend. Oscillatory profit
trends are most common. Their interpretation starts
by determining if profit is on the rise since the
previous year or not. Then, profit values for the
current year and two years before get compared in
order to see if the oscillation has lead to an overall
growth or decline.
The knowledge model derived from this process
contains four parts (which correspond to the process
steps). The acquired knowledge is formalized by
using production rules and objects. Forward
chaining is the inferencing technique of choice as
there is a need to infer as much information as
possible from a limited set of data. A few example
rules can be seen in the following listing.
IF enterprise.currentProfit > 0 AND
enterprise.ProfitNearZero = false
THEN “Enterprise is making money and
profit is significantly large
which is good.”
IF enterprise.currentProfit > 0 AND
enterprise.diffProfit1 > 0 AND
enterprise.diffProfit2 > 0 AND
enterprise.diffProfit1 >
enterprise.diffProfit2
THEN “The profit has had an exponen-
tial growth trend in the past two
years which is excellent.”
4 IMPLEMENTATION
The Konsultant knowledge base is implemented by
using the Drools Expert rule engine (JBoss
Community, 2009). This free tool uses Java objects
as facts and has support for forward chaining. The
implementation consists of 73 rules, two of which
can be seen in the following figure (Figure 1).
KONSULTANT - A Knowledge Base for Automated Interpretation of Profit Values
421