Skip to main content

A modular multi-agent framework for innovation diffusion in changing business environments: conceptualization, formalization and implementation


Understanding how innovations are accepted in a dynamic and complex market environment is a crucial factor for competitive advantage. To understand the relevant factors for this diffusion and to predict success, empirically grounded agent-based models have become increasingly popular in recent years. Despite the popularity of these innovation diffusion models, no common framework that integrates their diversity exists. This article presents a flexible, modular and extensible common description and implementation framework that allows to depict the large variety of model components found in existing models. The framework aims to provide a theoretically grounded description and implementation framework for empirically grounded agent-based models of innovation diffusion. It identifies 30 component requirements to conceptualize an integrated formal framework description. Based on this formal description, a java-based implementation allowing for flexible configuration of existing and future models of innovation diffusion is developed. As a variable decision support tool in decision-making processes on the adoption of innovations the framework is valuable for the investigation of a range of research questions on innovation diffusion, business model evaluation and infrastructure transformation.


Product or service innovations are effective in creating and maintaining a competitive advantage. Thus, it is important for organizations to understand how market actors adopt innovations and engage with them, since even good innovations may fail or diffuse at a slow rate (Rogers 2003). For many companies, it is hard to predict how innovations will diffuse in a dynamic environment. This results in uncertainty about whether an innovation is fit to become a sustainable business model.

Their adoption by intended target groups does not only depend on the qualities of the innovation (Frederiks et al. 2015). Instead, it takes place within a complex social system, in which the diffusion of the respective innovations is influenced by numerous factors and mechanisms (Schwarz 2007). Business models and innovations need to encompass the dynamics of the market setting by including the personal and mental structures of market participants, as social influences are a market-dominating factor in the innovation diffusion paradigm (Kiesling 2011).

Innovation diffusion (ID) is understood as the analysis of the spread of an innovation (Rogers 2003). Early models on the diffusion of innovation commonly aggregated the adopters and non-adopters in singular variables (see Bass (1969) as seminal work). Over time, approaches that differentiated the actors into individual agents (so-called agent-based models, or ABMs) have received increasing attention. In these models, entities are modeled individually as autonomous, social, reactive and proactive agents (Wooldridge 1998). Agent actions are determined by autonomous decision-making strategies in accordance with the agents’ personal objectives depending on various conditions. Phenomena in these models emerge from the behavior and interactions of the agents (Kiesling 2011). ABMs are suited to deal with complex social and socio-ecological systems (Buchmann et al. 2016).

Quantitative models of innovation diffusion that account for the complexity of the modeled system are particularly suited to assist decision makers in the development of effective strategies (Scheller and Bruckner 2019). In order to model the strategies of the heterogeneous agents realistically, it is necessary to collect and analyze an extensive amount of empirical data for grounding these models (Glaser and Strauss 1967), both theoretically and empirically (Smajgl and Barreteau 2014a). One promising approach for this is to employ empirically grounded agent-based models (eABMs) (Bonabeau 2002; Macal and North 2010; Kiesling et al. 2012).

eABMs are gaining importance as a valuable methodology for describing ID processes (Kiesling et al. 2012). Since these models are primarily applied to reflect real market issues (Smajgl and Barreteau 2014a), papers with real-world case studies to support decision makers are becoming more popular (Smajgl and Barreteau 2014b). This is also due to their capability of explaining and reproducing observed complex non-linear diffusion patterns through relatively simple local micro-level interactions (Kiesling 2011). Case-based applications “have an empirical space-time circumscribed target domain.” (Boero and Squazzoni 2005). They are usually built “to provide forecasts, decision support, and policy analysis [...]” (Kiesling et al. 2012), showing that the application domain of eABMs for ID is very versatile. Similarly, existing eABMs differ extensively in their design and grounding and therefore also in their predictions and conclusions (Smajgl and Barreteau 2014b; Zsifkovits 2015).

Despite the individual differences among models, many eABMs share a lot of commonalities. However, as (Bell et al. 2015) stated, in most cases models are developed primarily without regarding existing approaches and shared common structures, resulting in a lack of “[...] a clear foundation of agreed-upon approaches and libraries that offer a baseline for problem solutions that characterize other modeling fields.”. The selection of modeling aspects is often ad hoc (Durlauf 2012) without any defendable rationale (Smajgl and Barreteau 2014b). In the current culture, papers furthermore commonly fail to document critical methodological details (Smajgl and Barreteau 2014b). In line with this, the problem this article addresses is:

  • Problem statement:

    Assessing the diffusion of new products is a business-critical activity. Due to the lack of a common foundation of eABM on ID, model construction is often adhoc, as hardly any generic framework for ID assessment exists.

A generic framework for ID assessment that integrates and extends modeling approaches of eABMs permits modelers to compare and evaluate specific model mechanisms with little effort (Scheller et al. 2019). This allows the evaluation of modeling decisions and thus the identification of the model most appropriate for the subject at hand. Individual, context-specific models of concrete complex phenomena require extensive diligent data collection (empirical grounding), as noted above. The foundational structure of the models (i.e. the components, relationships and model dynamics), on the other hand, needs to be grounded on theory or existing models (theoretical grounding). The latter is particularly important for systems that aim at supporting various models and modeling contexts, most of all those aspiring to be generic frameworks.

While empirical grounding is specific to the modeled context, theoretical grounding is a more overarching requirement that can be addressed by basing the model context on existing, proven models. This property can be well-encompassed by an appropriate framework, resulting in the following requirements:

  • High-level requirements:


    The framework must allow to depict the large variety of model components found in existing models.


    The framework must be flexible and modular to address the diversity of innovation diffusion models.

It should be noted that the framework needs to furthermore be extensible to account for future ID models. However, through the flexibility and modularity, this requirement is given implicity through R2. Based on the (high-level) requirements R1 and R2, a solution addressing the problem stated above is characterized as follows:

  • Solution objective:

    A solution needs to provide a flexible, modular and extensible common description and implementation framework that allows to depict the large variety of model components found in existing models in order to provide a theoretically grounded description and implementation framework for empirically grounded agent-based models of innovation diffusion.

Achieving this objective yields an integrated model framework suited to incorporate decisive components of proven models, as well as providing a formal model and a software implementation for existing and novel applications. As part of a research endeavor on infrastructure modeling, the framework is coined Integrated Resource Planning and Interaction (or short: IRPact). IRPact is based on a conceptual overview of various model components and dynamics of Scheller et al. (2019). A summary of major aspects is depicted in Fig. 1. From a scientific point of view, the presented eABM framework aims to analyze the ID process interrelations between customer behavior and product attributes. The framework is intended to both give researchers orientation on model development and to reduce construction and conceptualization time by providing a common framework. It furthermore strives to increase model and result robustness by allowing model component and parameterization evaluation. In practice, the framework can help decision makers to evaluate business model innovations in a fast-changing environment and thus develop a sustainable business strategy.

Fig. 1
figure 1

Illustrative representation of identified agent and product entities, model dynamics and simulation foundations (based on the results of Scheller et al. (2019)

This article is organized along the process of the research it describes: "Component analysis " section reviews and synthesizes existing components of eABMs for ID analysis and derives the conceptual requirements of the framework. Subsequently, the mathematical eABM framework is outlined in "Framework modeling " section. The model description serves to describe the design of a versatile eABM framework to evaluate ID processes under different system conditions. “Software implementation ” section elaborates on the software implementation of the framework serving to facilitate the flexible configuration of the developed eABM. In "Conclusion" section the developed model and the development process are discussed and further work is addressed.

Component analysis

In order to theoretically ground the framework and address requirement R1, this section identifies component requirements (CRs) it needs to fulfill. It builds upon a systematic review of eABMs as presented in Scheller et al. (2019).

The identified concepts and inferred modeling requirements are grouped by components representing model foundations, products, mental structures, and agents. An illustrative high-level illustration of the interplay of the identified and integrated model components is given in Fig. 1. A summary of each of the requirements is given in Table 1.

Table 1 Summary of the component requirements for the multi-agent framework

Model fundamentals

ABMs are grounded on several modeling strategies related to (physical) fundamentals, in particular time, space and processes. These strategies are important for the implementation as well as for processing logic. In particular, to depict temporal dynamics, the temporal model context needs to be an integral part of ID models (CR 1). While nearly all models employ discrete timing schemes (time passes in some temporal unit, and all or some agents act in each step), Stummer et al. (2015); Rodriguez et al. (2011) implement continuous time scales. Yet, temporal models are barely ever discussed explicitly (with the notable exception of Kiesling (2011)). The focus of many models is on process modeling, while temporal progress is only implicitly modeled.

Thus, many temporal aspects of these models are situated within the process model and the temporal model is described slenderly (Balbi et al. 2013; Barreteau et al. 2014; Jensen et al. 2015). The process model according to Stummer et al. (2015) governs the stages of the innovation decision process (with at least the stages of awareness, trial and adoption) of Rogers (2003), and specifies the execution of processes (for discrete temporal models) or actions between events (for continuous temporal models). In the framework it thus needs to manage adoption stages and simulation dynamics (CR 2).

In addition to temporality, spatiality is an important characteristic in a range of different eABMs (Rai and Robinson 2015; Sopha et al. 2013; Swinerd and McNaught 2014; Schwarz and Ernst 2009). It allows to explicitly integrate the geographic location of entities and needs to address how geometry and the relative positioning of entities is operationalized. Due to the different requirements, an appropriate level of spatial representation needs to be reflected (CR 3).

Providing the infrastructure for communication and influence dynamics and utilizing the spatial characteristics, the social network can be seen as an interconnecting system (Delre et al. 2010; Dunn and Gallego 2010; McCoy and Lyons 2014). The social network describes the connection between agents and is a crucial aspect of several ID models. Frequently, the network is formalized as a directed or undirected graph with model entities for nodes and communication channels for edges (CR 4). The network structure can be given explicitly such as scale-free (Delre et al. 2010), purely local (McCoy and Lyons 2014) or small-world (Sopha et al. 2013) network topology. Thus, different network topologies need to be possible (CR 5). A social network can stand for a number of social ties, sometimes even several ones within one model as described in Kostadinov et al. (2014), where friendship and trading relationships are incorporated. It thus needs to provide flexibility for numerous forms of ties (CR 6).

Product modeling

Obviously for ID models, the product entities analyzed are of fundamental importance. Due to the heterogeneity of the investigated models, technologies show a large variety of attributes ranging from technical parameters (Zhang and Nuttall 2011; Schwarz and Ernst 2009) through ecological characteristics (Windrum et al. 2009; Palmer et al. 2015) to cost-related parameters (Eppstein et al. 2011; Palmer et al. 2015). The framework must allow to for depicting this variety (CR 7). While in most models products are static entities within the time frame of adoption, some models require certain dynamics of the modeled products. In this context, Schwarz (2007) incorporates products that enter the simulation at a later time (market introduction) or become unavailable for adoption before the end of the simulation (product discontinuation), requiring a dynamic product set (CR 8).

Mental structures

To enable the use of models sensitive to cognitive modeling, it is important to depict not only the true qualities of innovations but also the perception of qualities. Perceptual aspects of products identified in the literature are ecological aspects (Eppstein et al. 2011), social perception (Stummer et al. 2015) or substitute availability (Windrum et al. 2009), which intends to model acquiring knowledge about qualities and existence of products. This requires a duality of product’s true qualities and agents subjective perceptions (CR 9). To address cognitive modeling, eABMs need to address incomplete information, cognitive distortions and (subjective) perception. Thereby perceptions are not always static and can change over time (CR 10). Additionally, an interaction between perceptions and the true nature of products can also be seen by Kiesling (2011), where the true attributes of the products can only be assessed with a post-purchase evaluation of the adopted products (CR 11).

Another aspect of incomplete information is knowledge of the existence (awareness) of products (CR 12) since individual decision-making is based on the on the basic awareness of the technology (Rogers 2003).

A further source of heterogeneity in eABMs is seen in preferences. Analyzed models express preferences as ecological aspects of products, such as environmental concerns (Palmer et al. 2015) or certain aspects of social perception (Stummer et al. 2015; Sopha et al. 2013), requiring differentiated agent-specific value-specific preferences (CR 13). Models further incorporate attitudes relating to preferences in order to be used by decision processes (Zhang and Nuttall 2011), e.g. for weighing product aspects (Eppstein et al. 2011). Thus, preferences need to link to product qualities in order to relate values to the evaluation of products (CR 14).

Being a source of consumer heterogeneity and an essential component of ID, decision making is arguably one of the most important aspects of ID modeling. It can be understood as the cognitive processes employed for deciding on a product. Decision making is influenced by a variety of various aspects, e.g. mass media and advertisement, communication, product attributes and decision processes (Schramm et al. 2010). At the same, social influence is also an important aspect in decision making (Graebig et al. 2014), which might also be coupled with spatial factors and serve as another source of heterogeneity (Schwarz 2007). Decision processes thus need to integrate a range of dynamics and attributes (CR 15). Modeling the decision process is grounded in various decision theories or in utilitarian approaches (van Eck et al. 2011; Palmer et al. 2015; Stummer et al. 2015; Schramm et al. 2010; Balbi et al. 2013; Rai and Robinson 2015). Other approaches include game theory (Zhang and Nuttall 2011) or artificial neural networks accounting for emotions in information processing (Wolf et al. 2015). Thus, an innovation diffusion eABM framework must allow for a large variety and flexibility of decision processes (CR 16). Additionally, a decision to adopt is always motivated by the non-fulfillment of some need of the agents to adopt. The initiation impulse and the corresponding intensity of the need requirement therefore also needs special attention as shown by Stummer et al. (2015) (CR 17). Thereby, different decision theories are conceivable (Palmer et al. 2015; Stummer et al. 2015; Balbi et al. 2013; Rai and Robinson 2015).

Moreover, word of mouth is an important phenomenon featured in ID eABMs. Due to the multitude of possible communication contents, numerous model aspects fall into this category. Arguably, the most important function of communication is to foster social perception (Stummer et al. 2015; Chappin and Afman 2013; Eppstein et al. 2011), which needs to be covered by the framework (CR 18). One set of channels mentioned in literature is connected to advertisement and mass media (van Eck et al. 2011; Stummer et al. 2015; Wolf et al. 2015). Others are communication channels between consumer agents, taking into account the social network (Stummer et al. 2015; Rai and Robinson 2015; Wolf et al. 2015). The model described in Schramm et al. (2010) uses a more complex channel, which can be modeled by mass media and advertisement, communication, product attributes and the decision process. In order to capture this variety and complexity, communication channels need to be adaptable and be able to integrate this variety (CR 19). For models exemplifying behavior and belief change (Wolf et al. 2015), the framework needs to allow to have behavior and beliefs be mediated through communication within a social network (CR 20). Further model aspects touching upon communication are learning, social norms, mental representation and personal attributes such as social influence and the number of peers to communicate (Wolf et al. 2015). Communication behavior further shows heterogeneity by social and spatial factors (Schwarz 2007). Due to the plurality of communication forms and contents, communication modeling thus needs to allow for heterogeneous and spatially-sensitive communication processes (CR 21).

In addition to communication between consumers, van Eck et al. (2011) imply a corporate entity using mass media. The publications of Stummer et al. (2015), Wolf et al. (2015) and Broekhuizen et al. (2011) make use of channels related to advertisement and mass media, while (Schramm et al. 2010) model the interplay of mass media and aspects of product attributes and decision processes. The framework thus needs to allow for mass media and advertisement (CR 22). More abstractly, an ID model needs to address information and advertisement modeling, particularly how a range of information and advertisement processes take place. This includes changing the perception or preference of an agent, taking into account the nature of a product for information and some desired value for advertisement which is proactively sought instead of pushed on agents (CR 23).

Agent modeling

Innovation diffusion is primarily concerned with adoption decisions of agents or stakeholders, making consumer agents (e.g. individuals or households) the center of these models. They are characterized by a large range of personal, economic and social attributes. Examples for this are subjective norms (Graebig et al. 2014) or characteristics within the socio-economic coordinate system (Wolf et al. 2015), such as age, salary, years of ownership, average behavior (Eppstein et al. 2011), or innovativeness (Schramm et al. 2010), necessitating individual attributes for these agents (CR 24). Consumer heterogeneity has been explicitly mentioned by various models based on heterogeneous social structure (Schwarz and Ernst 2009; Palmer et al. 2015; Eppstein et al. 2011; McCoy and Lyons 2014; Sopha et al. 2013). This heterogeneity is not only seen in individual aspects, but also those characterizing whole groups of agents and their relationship with other groups. Thereby, the grouping is often done on a socio-economic or psycho-sociological basis (such as lifestyle groups, cognitive involvement in decision processes (Schwarz 2007)), requiring groups of similar agents (intra-homogeneity) that are distinct from other groups (inter-heteorogeneity), resulting in component requirement CR 25.

In addition to consumer agents, company agents have been modeled in different eABMs, be it indirectly as in Balbi et al. (2013) and Zhang and Nuttall (2011), or directly as brand agents (Schramm et al. 2010). In this role, corporation entities interact with the consumer agents to exert product-relevant consumer influence (CR 26) and prompt a decision process. Furthermore, active product management such as strategic alignment (Balbi et al. 2013), suppliers influence (Zhang and Nuttall 2011; Kostadinov et al. 2014) and competitors influence was modeled and should be possible to implement (CR 27). In Schramm et al. (2010), corporate entities are modeled directly (and endogenously) as brand agents which as sales agents also can handle different product portfolios of different companies (CR 28). This is even more the case for models in which the point-of-sale (POS) is explicitly depicted as physically distinct sales agent with a range of products, product availabilities and prices, and a purchase process as implemented by Stummer et al. (2015). Similar to other agents, and as outlined in Schramm et al. (2010), Balbi et al. (2013), Zhang and Nuttall (2011) and Kostadinov et al. (2014) for company or brand agent a sales agent should furthermore exhibit proactive behavior, resulting in the need for proactive behavior and purchase processes that optionally take place in a spatial context (CR 29).

Additionally, a policy agent is used both endogenously and exogenously in existing eABMs, e.g. in Zhang and Nuttall (2011) and Barreteau et al. (2014). While in the first case rules and regulations are set by authorities, in the second case administration tasks are aggregated by a policy agent. In order to depict this, a suitable framework should allow for the pro- or reactive management of existing regularities and policies (CR 30).

Framework modeling

This section presents the modeling approach and the formal definition of model components based on the component requirements described in "Component analysis " section, as summarized in Table 1. Starting from the fundamental structures that other model components are embedded in (time and space, the executed processes and the structure of the social network), the fundamental object of the model, the product, is defined. In order to introduce all crucial components agents depend on, mental structures (perceptions, preferences, decision processes and communication) are introduced before a comprehensive overview of the different agents (consumers and their groups, company agents and points-of-sales, as well as the policy agent) is given.

Modeling approach

As mentioned in the introduction, the modeled framework needs to be flexible and modular (R2) in order to be extendable. This was addressed through a modeling process following a two-tiered abstraction approach. Possible entities or mechanics are integrated into sets and entities are defined by tuples of members of these sets. These sets are often called a scheme, of which a concrete specification appears as an element in the tuple defining a component.

Equivalently, for similar entities with common characteristics, a structure understood as the group is used. Entities associated with them (as derived instances) are formalized through an association function.

The requirement for allowing a large variety of model components (R1) has been detailed into 30 component requirements that guided the modeling process. Before the components are detailed below, a short summary of the model is given and visualized in Fig. 2.

In the modeled processes, consumer agents belonging to consumer agent groups adopt products through decision making processes based on consumer perceptions and preferences that can change over time. Perceptions of products consumers are aware of are shaped through communication with other consumer agents in their social network and advertisement from corporate agents that manage these products. Consumer agents are furthermore exposed to products of various product groups through point of sales that can be embedded in the spatial model. A policy agent can further restrict the product landscape.

Fig. 2
figure 2

Overview of IRPact framework components

Model fundamentals

Temporal modeling

In addition to the specification of the temporal model context (CR 1), a more general framework needs to enable the implementation of different timing schemes. The temporal model further serves as a frame of reference.

Different time models allow the system to follow different timing regimes. This comprises the discrete and continuous time model. In general, discrete time models operate in steps that advance the time of the simulation step by step (usually \(T \subset \mathbb {N}_{0}\), with T as the set of time steps in the simulation). In this, only model dynamics corresponding to these time points are valid. For continuous times regimes all time points prior to the simulation end time are valid and the mechanism governing simulation time is more event-driven. This is described by \(T \subset (t \in \mathbb {R}_{+} |\, t \le t_{end})\), with \(t_{end} > 0\) the end time of the time horizon of interest.

While the timing of the continuous model is marked entirely by events, through their relation to the discrete time, events are used in the discrete setting as well. Events bind dynamic model semantics to the temporal evaluation of their desired effect. This touches on a number of processes, such as the market introduction or discontinuation of a product, communication events, the rise of consumer needs and post-purchase evaluations. These are detailed below in the respective subsections.

Process modeling

In order to manage the stages and dynamics of the adoption process (CR 2), IRPact uses a process model. It allows for various process models, but is primarily intended with adoption stage processes in mind. In a stereotypical implementation it consists of a knowledge, persuasion, decision, implementation and confirmation step, but is open to different process models as well. For the continuous case it works with events corresponding to the phases and specifies actions with regards to product readoption.

The process model specifies how agents are processed, and is based on an event scheduler, especially in the case of continuous temporal models.

Spatial modeling

The analysis of existing models showed that the spatial aspects of the simulation should be captured through a spatial model with an appropriate level of spatial representation (CR 3).

Whereas (spatial) agents are positioned through their coordinates loc, their positioning towards the geometry of other spatial model aspects such as the model border is governed by the spatial border map \(\mathfrak {sbm}: \mathbb {R} \times \mathbb {R} \rightarrow \mathbb {B}\). This map describes whether a (two-dimensional) coordinate loc falls within the borders of the model.

Entities within the simulation are further associated with a spatial distribution for the geographical initialization of the model. These entities are thus assigned a position in the spatial model \({\mathfrak {S}}\) according to their configured spatial distribution (see the respective agents for more detail).

Social network modeling

As mentioned in "Component analysis " section, communication needs to respect the social network of agents. The formulation of the social network as a graph addresses both component requirement CR 4 (possibility to depict social network as graph) with different network topologies (CR 5) and gives the social network large generality. The social network is modeled as a dynamic directed weighted (multi-) graph with agents as nodes and connections (ties) between agents as edges. Central to the social network is the structure of communication channels between consumer agents through different media (such as communication flow, information flow, friend-of-relations etc.).

The social network is modeled as a 4-tuple \(SN=(G, {\mathfrak {w}}, ews, tms)\). At the core of the social network is the social graph \(G=(AN,E)\), describing the relationships between agents as nodes \(r,o \in AN\) through directed edges \(e = (r,o,m) \in E\) (from node r to node o), where each edge is associated with a medium \(m \in M\). A node r is associated with a consumer agent c through the consumer agent social graph association mapping \(r = \mathfrak {csgam}(c)\).

The edges are further associated with different interactions through the medium,Footnote 1 as specified in other model components representing different qualities of information flow. Similarly, the strength of the ties is formalized through the edge weight function \({\mathfrak {w}}: E \times T \rightarrow \mathbb {R}_{\ge 0}\). This allows for rich interpretation and enables dynamic behaviour and heterogeneous edge weights. The multitude of media and their dynamic nature provides a wide variety of agent connections, addressing requirement CR 6.

In order to describe the dynamics of the social network, social networks furthermore feature edge-weight schemes \(ews \in EWS\) that describe the temporal change of the weights \({\mathfrak {w}}\), as well as topology manipulation schemes \(tms \in TMS\). These schemes describe how the connections of the social network (i.e. the edges between nodes \(r, o \in AN\)) change through model dynamics by establishing new links or shedding existing ones.


In order to allow for rich variety of product qualities (CR 7), products follow a modeling approach on two abstraction layers: product groups as (abstract) blue-prints of similar products and concrete product instances belonging to different product groups. Products contain a set of product attributes, describing various qualities of products and are organized in ProductGroups through the Product Group Association Map: \(\mathfrak {pgam}: P \rightarrow PG\), associating products \(p \in P\) with their product groups \(pg \in PG\). Products can be parameterized either through stochastic product initialization (meaning that product attributes are assigned using a probability distribution) or can be configured as fixed products with set values.

A product \(p \in P\) is defined as a 3-tuple

$$\begin{aligned} p_{t}=(PA_{p,t},pas_{p,t},\mathscr {PLD}_{p}) \text {, with} \end{aligned}$$

Set of product attributes at time t with entries \(pa_{t} \in PA_{p,t}\).


Product activation status \(pas_{p,t}=\mathfrak {apm}(p,t)\) (as defined through the adopted product map \(\mathfrak {apm}\), indicating whether the product is already introduced and not yet discontinued at a given time t).

\(\mathscr {PLD}_{p}\):

Product lifetime distribution, specifying how long a product can be used upon adoption before it is removed from the adopted products \(ap_{c,t}\) of consumer agents \(c \in C\) (Fig. 3).

Fig. 3
figure 3

Product related entities of IRPact modeling components

Product attributes

Product attributes \(pa_{t} \in PA_{t}\) describe the qualities of products quantitatively. For this, the product attribute value \(pav_{pa,t}\) holds numerical values on a number of quality dimensions (one for each product attribute). The product mutability \(pam_{pa}\) indicates whether pav is allowed to change over time and the observability \(pao_{pa}\) describes to what extent its true quality can be assessed by an agent.

A product attribute \(pa_{t}\) at time t can thus be described as a 3-tuple

$$\begin{aligned} pa_{t}=(pav_{pa,t},pam_{pa},pao_{pa}) \in PA_{t} \text {, with} \end{aligned}$$

Product attribute values \(pav_{pa,t} = \mathfrak {pavm}(pa,t)\) described through the product attribute value map \(\mathfrak {pavm}: PA \times T \rightarrow \mathbb {R}_{\ge 0}\) at simulation time t.


Mutability defined by the product attribute mutability map \(pam_{pa} = \mathfrak {pamm}(pa) : PA \rightarrow \mathbb {B}\).


Observability \(pao_{pa} = \mathfrak {paom}(pa)\) is given by the product attribute observability map \(\mathfrak {paom}: PA \rightarrow [0,1]\).

Product groups

As an abstraction of similar products with individual differences, product groups serve to balance homogeneity and heterogeneity through the use of probability distributions for the description of their attributes:

A product group \(pg \in PG\) is formalized as an 8-tupleFootnote 2

$$\begin{aligned} pg=(PGA_{pg},PPG_{pg},EPG_{pg},FP_{pg},pgn_{pg},SP_{pg},odp, \mathscr {PLD}_{pg}) \text {, with} \end{aligned}$$

Set of product group attributes associated with pg.


Set of prerequisite product groups for the product group.


Excluding product groups.


Set of fixed products of product group pg.


Set of needs derived products fulfill.


Standard product for the product group pg.


Overwrite decision process \(odp=\mathfrak {odpm}(pg)\).

\(\mathscr {PLD}_{pg}\):

Product lifetime distribution (default) used for products derived from this product group.

Product group attributes

Product group attributes formalize the quality of product groups. Instead of assigning a scalar value on the quality dimension of product attribute values, product groups describe these through probability distributions. Observability and mutability, however, are constant over all ProductAttributes derived from this ProductGroupAttribute.

Analogous to product attributes, a product group attribute is formalized as a 3-tuple

$$\begin{aligned} pga = (\mathscr {PGAVD}_{pga},pgam_{pga},pgao_{pga}) \text {, with} \end{aligned}$$
\(\mathscr {PGAVD}_{pga}\):

Distribution the product attribute values are drawn from via realizations of the random variable \(X_{PGAVD_{pga}}\).


Product attribute mutability \(pgam_{pga} \in \mathbb {B}\).


Attribute observability \(pgao_{pga} \in [0,1]\) of derived product attributes.

The mapping between the product group attributes and the attributes belonging to them is done through the product group attribute product attribute mapping \(\mathfrak {pgapam}: PA_{t} \rightarrow PGA\). With the exception of fixed products, the respective initial value of the product attribute \(pav_{pa,0}\) is determined through \(X_{PGAVD_{pga}}\) with \(pga = \mathfrak {pgapam} (pa)\).

Fixed products

In contrast to assigning attribute values through a stochastic process, fixed products \(fp \in FP = \bigcup _{t \in T} FP_{t}\) exhibit predetermined initial values \(pav_{pa,0}\) for the respective \(PA_{fp,0}\). Fixed products are generally used to parameterize scripted events, that is the market introduction or discontinuation of a product explained below, allowing the manipulation of the simulation product set, addressing CR 8.

The initial relation of consumer agents and existing fixed products is described through the respective fixed product awareness distributions \(\mathscr {FPAD}^{fp}_{cag}\) (specifying how awareness about fp is initially distributed in cag) and the initial fixed product adoption distributions \(\mathscr {IFPAD}^{fp}_{cag}\) (describing how the adopters of fp at the beginning of the simulation are distributed), as seen below.

Fixed products \(fp \in FP\) are likewise formalized as a 3-tuple, only they bypass the stochastical generation step:

$$\begin{aligned} fp_{t}=(PA_{fp,t},pas_{fp,t}, \mathscr {PLD}_{fp}) \text {, with} \end{aligned}$$

Set of fixed product attributes at time t with entries \(pa_{t} \in PA_{fp,t}\).


Product activation status \(pas_{fp,t}=\mathfrak {apm}(fp,t)\) in analogy to other products.

\(\mathscr {PLD}_{fp}\):

Product lifetime distribution that can differ from other products in the product group, but usually corresponds to those used for stochastically initiated products.

Mental structures

Perception modeling

The primary purpose of the perception sub-model is to enable the duality of true qualities and subjective perceptions (CR 9). While the true qualities of products are already modeled through product attributes, the framework requires individual perceptions of these qualities. These further need to be allowed to change over time to allow for CR 10. The observation of adopted products (CR 11) and (un-)awareness about products (CR 12) is described below.

Perception is modeled in a two-tiered fashion in the framework: perceptions of the values of a product attribute pa for consumer agent c at time t are described through the perceived product attribute value map \(\mathfrak {ppavm} : C \times PA \times T \rightarrow \mathbb {R}_{\ge 0}\).Footnote 3 Their temporal dynamics abstract some of the technicalities of the \(\mathfrak {ppavm}\) away through perception schemes \(ps \in PS\) describing the initial status of the \(\mathfrak {ppavm}\), e.g. as the perceived product group attribute value distributions \(\mathscr {PPAVD}_{cag}\) associated with consumer agent group cag,Footnote 4 and the temporal dynamics (i.e. \((\mathfrak {ppavm}(c,pa,t) | \mathfrak {ppavm}(c,pa,{\hat{t}}), {\hat{t}} < t)\)).

Perception schemes thus describe how perception-forming events are integrated over time, and a single value \(\mathfrak {ppavm(c,pa,t)}\) is calculated at a given time t.

The association of the product group attributes and the respective perception schemes is formalized through the product perception scheme mapping \(\mathfrak {ppsm}_{cag} : PGA \rightarrow PS\).

Product observation

The observation of adopted products (CR 11) is realized through perception opportunities after adoption of the respective product (so-called post-purchase evaluation). Post-purchase evaluations add a product perception to the consumer’s product attribute perception with a weight based on the observability of the product and the true product attribute value at observation time \({\hat{t}}\):

$$\begin{aligned} \mathfrak {ppavm}(c,pa,t) | (\mathfrak {ppavm}(c,pa,{\hat{t}}), pao_{pa}, pav_{pa,{\hat{t}}}) \end{aligned}$$

To what degree this changes the perception of the consumer agent depends on the respective perception scheme ps used.

Product awareness

While product attribute perception captures the imperfect information consumers have of the true value of a product attribute, product awareness describes whether a consumer is aware of a product (if a product is on the market), addressing component requirement CR 12. Knowledge of a product’s existence is modeled through the product awareness map \(\mathfrak {pawm}: C \times P \times T \rightarrow \mathbb {B}\), describing whether c is aware of p at time t (\(\mathfrak {pawm}(c,p,t) = \text {true}\)). It is initially parameterized through the product awareness distributions \(\mathscr {PAWD}^{pg}_{cag}\), and is specific for each product and consumer agent group. Its value is true after product encounter, e.g. through communication about the product by another consumer agent, company originated consumer agent messages or by encountering a product in a POS.

An overview of the described perception modeling is given, inter alia, in Fig. 4.

Fig. 4
figure 4

Perception, communication and information modelling with the relevant components of the IRPact framework

Preference modeling

Preference modeling addresses agent-specific preferences based on environmental and social values (CR 13) and needs to allow to link product qualities and preferences for product evaluation (CR 14). Moral or ethical dimensions of consumer agents are modeled through values \(v \in V\) and the importance (strength) agents assign to them, as a numerical value. Preferences are formalized through the preference map \(\mathfrak {pm}_{c}: V \times T \rightarrow \mathbb {R}_{\ge 0}\) assigning a numerical value to the strength of value \(v \in V\) for consumer c at simulation time t. The relation between preferences and product attributes is modeled as a weighted map, the (temporally static)Footnote 5product attribute value preference mapping \(\mathfrak {pavpm}: PA \times V \rightarrow \mathbb {R}_{\ge 0}\), to be used in product evaluation in the purchase decision process.

Adoption decision modeling

At the core, simulating product adoption is about modeling the decisions of consumer agents between suitable products. The decision processes involved in this should allow to connect advertisement, communication, product attributes and decision processes (CR 15). They should further be highly flexible (CR 16), and allow for taking into account social and spatial factors.

In IRPact, this is formalized through an abstract decision process d associated with a consumers’ agent group, representing the cognitive processes they employ for deciding between suitable products. From the perspective of the model, needs the products’ ProductGroup fulfills are satisfied with the adoption of the respective product and decision processes are initiated through a need event (CR 17).

Decision process modeling

Formally, decision processes are specified by the product adoption decision map \(\mathfrak {padm}: C \times {\mathscr {P}}(P) \times T \times D \rightarrow P\), \(\mathfrak {padm}(c,P_{pot},t,d) = p\), describing the taken product adoption for product p of agent c with the eligible potential products \(P_{pot}\) at time t for decision process d. For decision modeling where the state of agents in the social network of an agent or other system aspects are used, this is extended to the extended product adoption decision map: \(\mathfrak {epadm}: {\mathfrak {M}} \times T \rightarrow P\), with \({\mathfrak {M}}\) representing the model as a tuple of all its components.

The decision process is triggered when a need event is processed and is thus governed by the process model, often depending on the internal state of the agents and certain environmental parameters. Decision processes can be executed at a time depending on the modeled system dynamics, governed by the process model as well.

When a product p is adopted (i.e. \(\mathfrak {padm}(c,P_{pot},t,d) = p\)), it is added to the set of adopted products \(ap_{c,t}=\mathfrak {pam}(c,t)\) of agent c for the lifetime of the product adoption, as drawn from the respective distribution \(\mathscr {PLD}_{pga}\) at adoption time. This is formalized through the partial product adoption lifetime map \(\mathfrak {palm}: C \times T \times P \rightarrow \mathbb {B}\), describing whether an adopted product is operational (i.e. in a state to satisfy the associated need) at a given time, and is related to \(\mathfrak {pam}(c,t)\) by the following:

$$\begin{aligned} \mathfrak {palm}(c,t,p) = {\left\{ \begin{array}{ll} 1 &{} p \in \mathfrak {pam}(c,t) \wedge t \in [{\hat{t}},{\hat{t}}+x^{pl}_{p,c,{\hat{t}}}] \\ 0 &{} \text {else} \end{array}\right. } \end{aligned}$$

with \({\hat{t}}\) being the time the product is adopted,Footnote 6 i.e. \({\hat{t}} = \arg \min _{t}{p \in \mathfrak {pam}(c,t)}\), and \(x^{pl}_{p,c,{\hat{t}}}\) being the realization of the random variable \(X^{c,t}_{pl}\) corresponding to the product lifetime distribution \(\mathscr {PLD}_{p}\) for product p adopted by consumer c at time \({\hat{t}}\).

The entire process of adaption is showcased in Fig. 5.

Fig. 5
figure 5

Preference and adoption decision modeling process of a single consumer agent

Needs modeling

Needs \(n \in N\) derive their semantics from products satisfying them, decision processes, and the process describing how they arise. The latter is called a need development scheme \(NDS_{cag}\), associated with ConsumerAgentGroup cag, which is invoked by the process model to create an ordered list of needs, operationalized as need events. These are temporally situated events that trigger decision processes, which are governed through the process model.

Need development schemes differ greatly by their dynamics, and are specified by what happens with products if their lifetime is exceeded.

Needs are associated with a needIndicator for every ConsumerAgentGroup through the need indicator function \(\mathfrak {ni}: CAG \times N \rightarrow \mathbb {R}_{\ge 0}\). Numerical values \(\mathfrak {ni}(cag,n)\) are associated with need n and ConsumerAgentGroup cag, within the \(NDS_{cag}\), specifying the needs interpretation.

Communication modeling

A central aspect in communication is the influence on product perceptions of consumer agents. In addition to perception, communication modeling is depicted in Fig. 4.

In IRPact, perceptions are shaped primarily through reported experiences of communicating adopters and word-of-mouth of other consumers. With advertisement messages by company agents as part of communication, it furthermore addresses component requirement CR 25 (allow change of the perception or preference of an agent by corporate agents).

Socially-based perception (CR 18) and behavior and belief influence is achieved by the exchange of consumer-originated perception manipulation messages \(COPM \ni copm = (c, {\hat{c}}, pa, p)\) through communication within the social network, providing adaptable communication channels (CR 19). These messages are based on their own perception. They change the (perceived) product attribute values of product attribute pa of product p of the receiving agent \({\hat{c}}\), depending on the perceived product values of the sender c of the message. In addition to the messages sent by consumer agents, company agents can also send (product perception manipulation) messages as specified through the advertisement scheme.

If the receiver is not aware of the product yet, they become aware of it through receiving a message. Furthermore, a new perception of pa is added. This perception is based on the perception \(\mathfrak {ppavm}(c,pa,t)\) of the sender c and the weight of the edge connecting them in the social graph (i.e. \({\mathfrak {w}}((r,o,m),t)\), with \(r = \mathfrak {csgam} (c), o = \mathfrak {csgam} ({\hat{c}})\)). How this perception is incorporated into the cognitive context of the receiving agent \({\hat{c}}\) depends on their perception scheme ps (as parameterized through the \(\mathfrak {ppsm}_{cag}\), with cag being the respective consumer agent group of \({\hat{c}}\)). This allows for the integration of other model aspects through the different perception schemes and addresses the influence of communication on behavior or believes (CR 20).

The timing, frequency and choice of the recipient within the social network of messages are governed by the CommunicationScheme \(CS_{cag}\) of the respective consumer groups. This is done through communication events that connect messages with their temporal evaluation through the process model. Formally, this is described by the communication event mapping \(\mathfrak {cem}_{cag} : COPM_{cag} \times T \rightarrow CE_{cag}\), encompassed by the communication scheme of the different consumer groups cag. This provides heterogeneous and flexible communication schemes based on the social and spatial factors used for grouping the agents (meeting component requirement CR 21). A crucial component of these are the message activity distributions \(\mathscr {MAD}_{cag}\), which characterize the number of messages per time unit the groups consumer agents send to connected consumer agents \({\hat{c}}\).

Messages creation is governed by message schemes, depending on the sender of the message and the state of the simulation, formalized as \(\mathfrak {ms}_{cag} : C \times {\mathfrak {M}} \times T \rightarrow {\mathscr {P}}(COPM)\), describing which messages consumer agents \(c \in C\) with \(\mathfrak {cagm}(c) = cag\) send at time \(t \in T\) depending on the model state \({\mathfrak {M}}\). Together, these schemes form the communication scheme \(CS_{cag} = (\mathfrak {ms}_{cag},\mathfrak {cem}_{cag})\) .

Information modeling

Information is characterized through being proactively sought by agents. Information seeking is governed by schemes invoked by the process model or the respective decision processes, describing what information agents think they require and what strategies they use to find it. Information in IRPact is understood in a naive form, as a piece of knowledge \(i \in I\), with I being the set of all information, originating from an information agent. Forms of handling information are specified through information schemes (\(is \in IS\) as pair \(is = (\mathfrak {iavm},\mathfrak {pim})\)), which define how information model mechanics work and thus describe the information ecosystem within the simulation through their availability and product information seeking behavior.

Information is processed by an agent according to the perception scheme by acting as a perception respective to the product attribute (specified by the information product attribute mapping function \(\mathfrak {ipam}: I \rightarrow PA\), defined for all product attribute information \(pai \in PAI \subset I\)).

Information schemes IS specify what information is available for agents to process via the information availability map \(\mathfrak {iavm}: I \times T \rightarrow \mathbb {B}\). They indicate whether a given information is ‘known’ at a given time \(t \in T\), and how product information is sought by consumer agents through the product information map \(\mathfrak {pim}: C \times PA \times T \rightarrow {\mathscr {P}}(I)\). It thus describes what information about a product attribute \(pa \in PA\) is relevant to a consumer agent \(c \in C\) at time \(t \in T\).

Agent modeling

Agents in IRPact represent cognitive entities in the modeled context. These can be:

  • units of adoption (in the case of Consumer agents),

  • companies or company employees responsible for sales / distribution policies of producers (in the case of Company agents),

  • shops or distribution departments (in the case of POS agents),

  • actors within the policy sphere (as in the case of Policy agents).

As agents in the model are intended to exhibit cognitive processes, information plays an important role. Its interpretation in a social context depends on the credibility of the information source, modeled as informational authority \(ia \in [0,1]\) innate to all agents, quantifying their informational credibility through a numerical value.Footnote 7 This value is used in processes involving information I and its interpretation depends on the modeled cognition of the respective agents.

Consumer agents

Consumer agents describe cognitive entities that represent households or individual consumers, and are thus often the most important type of agents for the diffusion and adoption of technology. Their primary role in the model is to adopt products and to interact with other agents. Consumer agents are organized in groups, bundling common characteristics of the consumer agents and implementing consumer agent heterogeneity, elaborated on below. Consumer agents are characterized primarily through mental structures and their environment; something unique to them, however, are their individual consumer attributes \(ca_{c,t}\), addressing component requirement CR 24.

A consumer agent \(c \in C\) (with C being the set of consumer agents) is formalized as a 8-tuple, whose state at time t is described as

$$\begin{aligned} c_{t} = (cag_{c}, ca_{c,t}, loc_{c,t}, Pr_{c,t}, {Paw}_{c,t}, PAP_{c,t}, ap_{c,t}, csgam_{c}) \text {, with} \end{aligned}$$

Consumer Agent Group association indicates which consumer agent group c is a member of \(cag_{c}=\mathfrak {cagm}(c)\) (with consumer agent group mapping \(\mathfrak {cagm}: C \rightarrow CAG\) associating consumer agent \(c \in C\) with their respective group \(cag \in CAG\)).


State of the consumer attributes \(ca_{c,t}\) of c at time t, with the consumer attributes drawn from the distributions \(\mathscr {CGA}_{cag}\) described below.


Coordinates of c within the spatial model \({\mathfrak {S}}\), initialized by drawing from the spatial distribution \(\mathscr {SD}_{cag_{c}}\) of the corresponding agent group \(cag_{c}\).


Preference vector describing the agents’ preferences \(pr_{v}^{c,t}\) for value v at time t as entries (\(pr_{v}^{c,t}=\mathfrak {pm}_{c}(v,t)\)).


Product awareness vector for time t and agents c, indicating what products \(p \in P\) agent c is aware of.


Product attribute perception vector, indicating which perception c has of the value of different product attributes at time t as a numerical value.


Set of adopted products \(ap_{c,t}=\mathfrak {pam}(c,t)\), indicating which products are adopted by \(c \in C\) at time \(t \in T\).


Consumer agent social graph association \(csgam_{c}=\mathfrak {csgam}(c)\), describing which node r in the Social Graph corresponds to c, with consumer social graph association mapping \(\mathfrak {csgam} : C \rightarrow AN\).

Consumer agent groups

To achieve the flexibility and balance between homogeneity and heterogeneity required by CR 25 (intra-homogenous and inter-heterogeneous agent groups), IRPact allows for flexible consumer agent groups (\(cag \in CAG\)) which describe types of consumer agents through abstractions of the consumers. In addition to parameters linked to model dynamics, a cag specifies the distribution on which concrete values of its members are based upon. ConsumerAgentGroups thus serve as a template or blue print for consumer agents that play a decisive role in consumer agent instantiation, where its (numerical) values are drawn from the corresponding distribution, allowing for fine control over the homogeneity and heterogeneity of agents grouped together. A cag is formalized as an 11-tuple:

$$\begin{aligned} cag =&(\mathscr {CGA}_{cag},\mathscr {SD}_{cag},\mathscr {CPD}_{cag}, \mathscr {PAWD}_{cag}, \mathfrak {ppsm}_{cag}, d,\\&NDS_{cag}, CS_{cag},\mathscr {IFPAD}_{cag},\mathscr {FPAD}_{cag}, ia_{cag}) \text {, with} \end{aligned}$$
\(\mathscr {CGA}_{cag}\):

Consumer group attribute vector containing the distributions the corresponding consumer agent attributes \(ca_{c}\) of members of the agent group are drawn from.

\(\mathscr {SD}_{cag}\):

Spatial distribution giving the coordinates of agents of cag within the spatial model \({\mathfrak {S}}\).

\(\mathscr {CPD}_{cag}\):

Preference distribution from which initial groups agent preferences are drawn from.

\(\mathscr {PAWD}_{cag}\):

Set of product awareness distributions the initial awareness of corresponding agents are based on.

\(\mathfrak {ppsm}_{cag}\):

Product perception scheme mapping \(\mathfrak {ppsm}_{cag} : PGA \rightarrow PS\), assigning product group attributes \(pga \in PGA\) their perception scheme \(ps \in PS\) for perceptions \(PAP_{c,t}\) of derived consumers.


Decision process that agents of cag employ.


Need development scheme for cag.


Communication scheme \(CS_{cag} = (\mathfrak {ms}_{cag},\mathfrak {cem}_{cag})\), specifying how messages and communication events are created through the message scheme \(\mathfrak {ms}_{cag}\) and the communication event scheme \(\mathfrak {cem}_{cag}\).

\(\mathscr {IFPAD}_{cag}\):

Set of initial fixed product adoption distribution of cag for the respective fixed products, describing their dissemination within cag at \(t=0\).

\(\mathscr {FPAD}_{cag}\):

Fixed product awareness distribution set of cag which details product awareness instantiation for fixed products fp at \(t=0\).


information authority of agents of cag.

Company agents

To allow for the required versatility, company agents must provide product-relevant consumer influence (CR 26) and active management and operation capabilities (CR 27). Active management and operation of a company agent \(coa \in COA\) in IRPact translates to making management decisions, as well as the execution of advertisement and marketing. Decision processes are formalized through the management decision scheme \(MDS_{coa}\) and product management is carried out the product quality manipulation schemes \(PQMS_{coa}\) as manipulation of product perceptions through unidirectional messages. These concepts address component requirement CR 22 and 23 through product-relevant consumer influence. Product management manifests in the manipulation of the product portfolio in the simulation, addressing requirement CR 8 through the (exogeneously supplied) market introduction of products and discontinuation of products of fixed products fp.

While market introduction events activate products (allowing them for adoption, i.e. \(\mathfrak {apm}(p,t) = \text {true} \, \forall t \ge {\hat{t}}\)), product discontinuation events make a fixed product unavailable to customers (i.e. \(\mathfrak {apm}(p,t) = \text {false} \, \forall t \ge {\hat{t}}\)) for an event at scheduled time \({\hat{t}}\).

The state of a company agent at time t is described as:

$$\begin{aligned} coa_{t} = (PP_{coa,t}, PQMS_{coa}, MDS_{coa}, AS_{coa}, ia_{coa}), \text {with} \end{aligned}$$

Product portfolio of coa at time t, describing which products the company agent manages \(PP_{coa,t} \subset P_{t}\).


Product quality manipulation scheme, representing how the product attributes of the products in the product portfolio of the coa can be manipulated.


Management decision scheme coa uses. Describes how the states of products in the product portfolio are managed and how these decisions are taken by the agent.


Advertisement scheme, formalizing how advertisement messages for products in their portfolio \(PP_{coa,t}\) are sent.


Information authority as an informational agent.

Sales agents

As mentioned in "Agent modeling ", a POS needs to exhibit a product portfolio (CR 28), provide a purchase process, allow for spatial contextualization and be able to actively manage and operate their business (CR 29). In order to address these component requirements, a POS is parameterized through their dynamic behavior, location in space (if applicable) and a portfolio of available products with a POS-specific prize, allowing to investigate supply limitations and roll-out strategies.

Formally, a point-of-sale \(pos \in POS\) (with POS being the set of points-of-sale within the model) at simulation time t is described as a 5-tuple

$$\begin{aligned} pos_{t}=(Av_{pos,t},PPr_{pos,t},loc_{pos}, ia_{pos}, PuPS_{pos}), \text {with} \end{aligned}$$

Product availability vector \(Av_{pos,t} = (av^{pos,t}_{p})_{p \in P} \in \mathbb {B}^{|P|}\), indicating whether the respective products p are available at pos at the time t.


Price vector for all products the pos holds (\(av^{pos,t}_{p} = true\)) at time t for products \(p \in P\), relative to a reference price.


Placement in the spatial model \({\mathfrak {S}}\) (as coordinates), analogous to consumer agents, with the exception of being static.


Information authority as an informational agent.


Purchase process scheme modeling the purchase process at this POS.

Policy agent

Agents within the public sphere contain both exogeneous and endogeneous aspects. In IRPact, both perspectives are provided by a singular policy agent who manages existing policies and introduces new ones, bundling regulatory aspects falling in the public sphere. This includes both reactive and proactive policy management, addressing CR 30. Policies fall into three kinds of categories, namely product-directed policies (\(PPS_{poa}\)), prohibitive policies (\(RPS_{poa}\)) and consumer-directed policies (\(RPS_{poa}\)), which are formalized through static (exogeneous) or dynamic (endogenous) schemes. In order to be reactive (and meaningfully endogenous), market evaluation should take place as well. The policy agent poa itself is a static entity (independent of t in its state), and is formalized as follows:

$$\begin{aligned} poa = (PPS_{poa}, CPS_{poa}, RPS_{poa}, MES_{poa}, ia_{poa}), \text {with} \end{aligned}$$

Product-directed policy scheme, describing when product attributes of what products are manipulated.


Consumer-directed policy scheme, specifying what policies are used by the policy agent to influence perceptions and preferences of consumer agents.


Regulatory policy scheme, formalizing restrictions through discontinuation of products.


Market evaluation scheme, describing how the policy agent derives information about market and agents.


Informational authority of the policy agent poa as an information agent.

Software implementation

Fig. 6
figure 6

Component diagram of IRPact showing the core modules

Based on the model design in the previous section, a software implementation was written in Java 1.8. The publicly available source code was published on githubFootnote 8 and is available under the GPLv3 license. A javadoc-based documentation and a structured discussion can be found as well. In addition, the model is archived on the CoMSES Computational Model Library.Footnote 9

The code base is designed to be highly modular and object-centered. Group-instance relationships are realized via attributes and are modeled as instances-partOf relations. The factory method pattern was widely used to create most entities like agents and products. In addition, most of the behavior of the entities is handled by interfaces, called schemes. This labeling is based on the schemes of the model design. Both approaches allow individual implementations to be easily interchangeable. In IRPact tasks or interactions between agents like communication are implemented as events, which can be scheduled and executed at a specific point in time.

The component diagram in Fig. 6 visualizes the structure of IRPact. It shows the modular aspect based on subsystems. These are primarily grounded on the modelling approaches. For a better understanding and distinction, schema components were labeled as schema.

In the following, the concrete implementation of the presented framework model is described. Due to reasons of space and for a better overview, only key classes are considered. The full structure can be found in the mentioned repository.

Fundamentals implementation

Temporal model

The temporal model describes the temporal dynamics of the simulation. It is implemented as an abstract TimeModel class to support different temporal modes. The primary task is to govern the temporal order. This aspect also includes starting and controlling the whole simulation. By monitoring the temporal order the TimeModel also holds a reference to the EventScheduler, which handles the scheduling and execution of events. In addition it contains a reference to the ProcessModel to trigger adoption processes.

Process model

The abstract ProcessModel governs the execution of dynamic aspects of the model. In general the process model specifies the order of execution of processes. The concrete realization is based on the used time model. For this reason the implementation of the process model strongly dependents on the time model. To specify how consumer agents act when ceasing to adopt a product, the ProcessModel utilizes an AdoptionReplacementScheme. This scheme describes how adopted products are replaced once they are discontinued on the market, and how consumer agents respond to these discontinuations.

Spatial model

The spatial model of the simulation is realized using the abstract SpatialModel class. It defines how spatial entities are situated to each other based on a metric scheme. In addition this class also implements the spatial border map \(\mathfrak {sbm}\) to decide if an entity is within bounds.

Social network

The social network SN was implemented closely to the modelling approach. While the EdgeWeightManipulationScheme interface implements the edge weight function \({\mathfrak {w}}\) and the edge weight scheme ews, the TopologyManipulationScheme interface implements the topology mutability scheme tms. Both enable changes to the underlying social graph, which is implemented in the SocialGraph class. All three parts are combined in the SocialNetwork class, which realizes the social network SN itself. As in modelling, consumer agents are nodes of the graph and edges response to interactions. The consumer agent social association mapping \(\mathfrak {csgam}\) was realized by the ConsumerAgent having a reference to the correspoing node in the graph.

Product implementation

The product implementation is heavily based on the modelling approach. Product, ProductAttribute, ProductGroup and ProductGroupAttribute classes implementing the functionality in accordance to “Products” section. To realize the product group association map \(\mathfrak {pgam}\), the Product class holds a reference to their respective ProductGroup instance.

Fixed products are also realized by the Product class. The fixed product awareness distributions \(\mathscr {FPAD}\) and the initial fixed product adoption distributions \(\mathscr {IFPAD}\) are part of the ConsumerAgentGroup class. Both are implemented as simple maps.

Mental structures implementation

Perception modeling

Product perception is realised through two different concepts. The ProductAttributePerceptionScheme interface calculates the actual perception of a product attribute for a respective agent at a specific point of time. For that reason the ConsumerAgent class contains a perception scheme for every product attribute. This mapping corresponds to the perceived product attribute value map \(\mathfrak {ppavm}\). The product perception scheme mapping \(\mathfrak {ppsm_{cag}}\) is realised through the PerceptionSchemeConfiguration class, which is part of the ConsumerAgentGroup.

Because product observation or post-purchase evaluation is an active task, they are implemented as events. The PostPurchaseEvaluationEvent handles the addition of product perception to concerned consumer agents.

In order for consumer agents to know about the existence of products, the ConsumerAgent class manages a set of known products. If a product is part of the set, the corresponding agent is aware of it. Based on this set, the product awareness map \(\mathfrak {pawm}\) was realized.

Preference modeling

In order to realize the preference model, first the abstraction of values V was required. Since these are usually of descriptive nature to express the state of mind of an agent, they are realized as strings in the simulation. A simple Value class holds the information. Combined with a numerical preference strength, a value is coupled a in Preference class, which realizes the preference mapping \(\mathfrak {pm}\). In order to assign a preference to a specific information or object, a mapping between the value and the corresponding object is required. Currently only product attributes are considered as assignable targets to evaluate the (agent specific) utility in decision processes. The ProductGroupAttributeValueMapping class maps a product group attribute with the corresponding value based on a mapping strength. This implementation corresponds to the product attribute value preference mapping \(\mathfrak {pavpm}\). The value instance in both, the Preference class and the ProductGroupAttributeValueMapping class, can be used to obtain the preference strength of the corresponding product attribute.

Decision modeling

Decisions can be of various kinds. The marker interface DecisionMakingProcess forms the base for all decision processes. The ConsumerAgentAdoptionDecisionProcess interface realizes the extended product adoption decision map \(\mathfrak {epadm}\) (and thus the normal \(\mathfrak {padm}\)). It offers methods to select a product to adopt and to find superior alternatives, if available.

Needs modeling

Fig. 7
figure 7

Visualization of the workflow to satisfy a need through product adaptation

As mentioned in “Decision process modeling ” section, the need concept (and need events) are closely connected to decision processes. Needs, like values, are an abstraction based on the same data type. In IRPact both are based on strings. Needs gain their semantics through other model components, such as the abstract NeedDevelopmentScheme class. This scheme describes how needs develop and what happens when a product expires. The latter is important in order to decide whether already satisfied needs should be active again.

In order to work and react to needs, they are embedded in an NeedEvent class. That approach allows them to be processed at a specific point in time.

Figure 7 shows all actions taking place to satisfy a need. Because the ProcessModel controls the model dynamics, it is responsible for invoking the NeedDevelopmentScheme. Based on the concerned consumer agent, the scheme creates all necessary NeedEvents. Like other events, these are scheduled on the EventScheduler. By executing a NeedEvent the adoption process is started. First, all products that satisfy the corresponding need are collected. Based on the ConsumerAgentAdoptionDecisionProcess of the concerned consumer agent, the most suitable product is selected. Finally, the selected product is adopted and subsequent processes are invoked.

Communication modeling

Fig. 8
figure 8

Interactions between MessageScheme, CommunicationScheme and EventScheduler when handling messages

Communication between agents is based on messages. In IRPact messages are instructions. Figure 8 shows the full communication process and all involved components. The MessageScheme interface handles the creation of Message instances for a sending agent. Based on the scheme the receiving agent and the instructions are specified. Next, the created set of messages is processed by a CommunicationScheme to create a set of CommunicationEvents, realizing the communication event mapping \(\mathfrak {cem}\). A communication event links a message to the temporal model and allows to schedule instructions and events. Finally the created communication events are scheduled by the EventScheduler and executed on their due date.

Information modeling

As information is too abstract as a concept to have any meaningful implementation in IRPact, Information was chosen to be an abstract class, with only holds a reference to the agent from which it was provided. Information about product qualities is modeled through the ProductAttributeInformation and corresponds to PAI. The way information enters the simulation and is processed is implemented by InformationSchemes.

Agent modeling

Fig. 9
figure 9

Class diagram showing the IRPact agent hierarchy including all relevant fields. Field names are based on parameter names used in “Agent modeling” section

In IRPact all agents are extensions of the Agent class. Figure 9 shows the concrete hierarchy. Based on their functionality agents are divided into two categories. SpatialAgents possess spatial information, implemented as a (2-dimensional) coordinate, to model the location loc. InformationAgents have the ability to share information. The information authority ia is modelled using the ia attribute of the InformationAgents. SpatialInformationAgent combines both extensions.

Because all concrete modeled agents in “Agent modeling” section are required to have the ability to share information, their implementations are all extensions of the InformationAgent class. In addition, consumer agents and POS agents require an additional location loc. Therefore they are extensions of the Spatial InformationAgent class. The specific behaviour of all agents is mediated through schemes. Figure 9 shows the kind of implementation of the parameters of each agent type. In contrast, the subsystem Agents in the component diagram in Fig. 6 displays the composition of each agent, their used schemes and the relations to other components.


This article started out from the business need of assessing the diffusion of new innovations in a dynamic market. Despite the popularity of eABMs, no common agent-based framework for innovation diffusion exists. In order to provide a theoretically grounded infrastructure for these models, this research set out to develop a flexible, modular and extensible common description and implementation framework for existing and future models.

This was addressed through deriving the high-level requirements of flexibility and modularity (R2) and depicting the variety of existing model components. For the latter (R1), 30 more granular component requirements were derived based on an analysis of existing empirically-grounded agent-based innovation diffusion models.

The component requirements were addressed through the formal definition of the framework in four model layers: model foundations, products, mental structures and agents. Based on this, a software implementation allowing for easy configuration and execution of existing and future models within this framework was written in the Java programming language.

Both, the formal model and the software implementation, contain the large variety of components within existing models identified in this article. As both the model framework and the implementation are flexible, modular and extensible and address all component requirements, it can be concluded that the solution objective is met by the approach.

As a variable decision support tool in decision-making processes on the adoption of innovations that is built on modern existing approaches in the literature, we believe that IRPact is valuable for the investigation of a range of research questions on innovation diffusion, business model evaluation and infrastructure transformation.

Future work will focus primarily on the application of this framework. Serving as a proof of concept for the feasibility of the framework, a concrete model for the adoption of rooftop photovoltaic systems by consumers in an urban setting is currently under development. So far, the framework has shown to be a valuable tool for this model and we further expect the model to refine insights on several aspects, such as decision processes, products and the policy agent. The application of a concrete model within IRPact would further prove the practical and scientific value of the framework. Through it, both the interrelations between customer behavior and incentive measures and practical evaluation of business model innovations or policy measures could be evaluated.

Through embedding the framework in a multi-model infrastructure as shown in Reichelt et al. (2020), more comprehensive research questions on infrastructure transformation could furthermore be addressed. IRPact is developed as the socio-economic counterpart to the techno-economical infrastructure modeling tool IRPopt. Coupling these two perspectives on infrastructure transformation allows to investigate crucial research questions more in-depth and in a more sophisticated manner. In addition to proving its value as a socio-economic modeling tool, insights from this interrelated analysis would identify further development potential for IRPact itself.

Availability of data and materials

The sourcecode of the framework is publically available on github (, and the model is archived on the CoMSES Computational Model Library (


  1. Such as information exchange, value exchange, trust, marketing information etc.

  2. For the sake of brevity and legibility, not all aspects of product groups are explained here. For a full model description see the model description on CoMSES Computational Model Library and github.

  3. Which is a partial function, since it is not defined for values of products a consumer is not aware of (that is \(\mathfrak {ppavm}(c,pa,t) = \text {undef} \Leftrightarrow \mathfrak {pawm}(c,p,t) = \text {false}, p: pa \in PA_{p}\)).

  4. As \(\mathscr {PPAVD}_{cag}\) depends on the perception scheme associated with cag, it only indirectly defines consumer agent groups and is not part of their constituting tuple.

  5. with the potential exception of the market introduction of new products, where a new mapping is added.

  6. To not make it overly complicated, although technically wrong, the authors chose to express it like this, although naturally the same product could be adopted several times after it expired; This is respected in the implementation, but omitted here for clarity.

  7. Although a universal credibility of an agent’s information is unrealistic, and agent-inherent factors, their context, the nature of the information and their informational history are relevant for assessing the credibility of another agent, this would make the model a lot more complex. Since there is already little justification for informational aspects of product adoption from the analyzed innovation diffusion models, a simple approach was chosen in IRPact. More complicated informational mechanics can easily be extended or implemented using other model mechanisms.




Download references


We gratefully thank the peer-reviewers of this article for their feedback and the editor of the journal. Furthermore, we want to thank Prof. Middendorf for his feedback on the framework during the draft. We acknowledge support from Leipzig University for Open Access Publishing.


Simon Johanning, Fabian Scheller, Daniel Abitz, and Claudius Wehner receive funding from the project Smart Utilities and Sustainable Infrastructure Change (SUSIC) with the Project number 1722 0710. This study is financed by the Saxon State government out of the State budget approved by the Saxon State Parliament. Fabian Scheller also receives funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Sklodowska-Curie Grant agreement no. 713683 (COFUNDfellowsDTU).

Author information

Authors and Affiliations



SJ and FS developed the conception and the design of the framework and were chiefly responsible for writing the article (with SJ being the principal author and developer). Model implementation was done primarily by SJ, with DA contributing to it. DA and CW provided substantial textual input and created the graphical representation of the framework. TB provided feedback and guidance and participated in discussions regarding the content and the manuscript of the framework. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Simon Johanning.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Johanning, S., Scheller, F., Abitz, D. et al. A modular multi-agent framework for innovation diffusion in changing business environments: conceptualization, formalization and implementation. Complex Adapt Syst Model 8, 8 (2020).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: