CONSUMER DEMAND MONITORING AND SALES FORECASTING (CDMFS) SYSTEM Rahul Goela School of Electrical and Electronics Engineering (3 rd Year) Nanyang Technological University (NTU) Matriculation Number: 001105a03 Email: A7983158@ntu.edu.sg ABSTRACT In today s competitive economy it is not only advisable but essential to achieve increased levels of consumer satisfaction, outsource costly processes and reduce expenses wherever possible without compromising the performance of a firm. Most of the companies nowadays follow a customer centric approach to increase their market share. There is an increased demand for software tools and information systems, which would equip the management with critical information about market trends, customer needs and sales distribution. These systems have to be efficient, scalable, secure and tightly integrated together to ease the flow of data within an organization and promote sharing of information amongst different functional units. During this project, we develop and implement a system to help the sales staff and management of several companies perform sales forecasting more accurately than ever before and monitor the consumer behavior. Efficient sales forecasting helps in maintaining low levels of inventory and monitoring consumer behavior provides critical information to the management such as top-selling products, product demands in various regions, market reaction to new as well as old products and so on and so forth. INTRODUCTION THE CONCEPT Enterprises today are heavily investing into what is known as Business Intelligence or BI in short. Business Intelligence: BI by definition refers to an umbrella term for a set of software tools and applications that allow enterprises to gather, organize, distribute and act on critical business information. It attempts to eliminate guessing and ignorance in enterprise by leveraging existing mountains of data that companies collect in a variety of day-to-day corporate applications. For example, a Fast Moving Consumer Goods (FMCG) company would use BI to find out what its top selling products are, who its most loyal customers are, the efficiency of promotions campaigns and how this is reflected in sales. We propose an enterprise application, which would provide companies with a way to monitor their sales distributions as well as consumer demands. To increase the consumer satisfactions, the management should be provided with information on following: 1. Consumer Behavior: Modern enterprise these days are investing heavily to develop systems, which would provide them with information on region wise market trends such as top-selling products and regions in which specific products are successful so on and so forth. 2. Distribution of Sales: Database on sales history is extremely vital, as it is the primary source for sales management to forecast sales and manage their inventory levels. The concept of Just-In-Time inventory is gaining momentum and therefore to minimize costs and achieve extremely low levels of inventory, historical sales data as well as information on sale of products for specific regions is extremely important. A BI software application should be designed such that information from various sources is collaborated into a centralized database and then shared among various units and functions to achieve high level of information synergy thereby increasing overall efficiency of the enterprise. Security, scalability, high availability and tight integration with ERP or legacy systems are major concerns, which are addressed in the system developed during this project. Our application is developed to achieve the above-mentioned two objectives. This application is called Consumer Demand Monitoring and Sales Forecasting (CDMFS) system. In this project, CDMFS system for NOKIA, a global international communications company, has been developed. The application modules have been designed in such a way that with few minor modifications, the system can be used by any enterprise. The application would be advantageous in following ways: 1. Forecast sales: The software application would allow the management to forecast the sales based on mainly two factors: region wise sales for previous year and
historical sales information for past ten years. Taking example of Singapore, Singapore can be divided into four regions: North, East, South and West. Following information is then calculated: Regional sales Distribution Ratio (RSDR): This ratio implies the ratio of sales of a particular region to the total sales of all regions for the previous year. This ratio represents the most recent regional sales trends. This ratio is also calculated for each product of the company. Historical Sales Variation Percentages (HSVP): These are predefined percentages chosen by the management o best suit the enterprise. The total sales for a particular year for a particular product is multiplied with the percentage defined for that particular year. It represents the contribution for that particular year to the sales forecasted for coming month or year. Example: Consider the following pieces of information: Product Net Sales Region 3310 4500 North 3310 9000 South 3310 4500 East 3310 9000 West Regional sales data (million units) for a particular product, NOKIA 3310 Product Net Percent age Year Sales Increase 3310 6000 1999 3310 15000 250% 2000 3310 20000 133.3% 2001 3310 27000 135% 2002 Historical Sales Data for past 5 years for a particular product, NOKIA 3310 Sales Projections for year 2003 Calculation of RSDR Region RSDR North.1667 South.3333 East.1667 West.3333 HSVP for historical data (Defined by the management) Year HSVP 1999-2000 20% 2000-2001 30% 2001-2002 50% Percentage Increase Projected for Year 2003 =.2*250 +.3*133.33 +.5*135 = 50 39.99 + 67.5 = 157.49% Thus the Total sales in (million units) projected for 2003 = 157.49% * 27000 = 42522.3 Region wise sales distribution projected: Region RSDR Unit sales projected (million units) North.1667 7088.46 South.3333 14172.68 East.1667 7088 West.3333 14172.68 Total 1 42522.3 This is how the sales are forecasted. 2. Monitoring Consumer Behavior and Market Response: The historical data provides a useful insight into the product appeal to customers in the past and therefore can help management realize the market trends and products in demand by the consumers. Following information can be obtained using the CDMFS system: Analysis of product appeal: Management can obtain critical information about companies topselling products, market response to various products and changing customer demands. This information can be extremely useful when the company is about to release a new product and therefore needs to know the chances of the success of product launch in a particular region. Analysis of Market Trends: Management, through the huge information database created, can analyze the latest market trends. This is extremely important as a company s promotional strategies, marketing campaigns and other strategic decisions are based changing market scenario. The Software model has been designed to provide following advantages: Provision of CDMFS system by Application Service Providers (ASP): This application can also developed and maintained by Application Service Providers (ASP). ASP are software vendors who make their software available on Internet or rent or
lease them to companies wishing to outsource their IT requirements. The CDMFS system is accessed by employees through thin clients such as an Internet Browser and therefore can be designed and developed by ASPs for their client companies. Integration with new ERP or legacy systems: Java Enterprise architecture supports tight integration with other systems through J2EE Connector architecture discussed in later parts of this document. Distributed Application Architecture: The application is based on J2EE distributed application model which is extremely reliable secure and efficient. More about this issue is discussed in the later sections of the document. Information Database can be easily replaced: Container Managed Persistence has been used during the development of the CDMFS system. This greatly simplifies the EJB codes and eases the switch from one database vendor to another. More information on this is provided in the later sections of the report. TECHNOLOGIES USED JAVA 2 ENTERPRISE EDITION In this highly competitive age, companies need to provide easy-to-access services to their clients, partners, employees and suppliers, with the aims of extending reach, lowering costs, and reducing response time. These services need to be: Highly available Secure Reliable and Scalable These services usually have a distributed architecture consisting of multiple tiers, including front-end clients, backend data sources, and one or more middle tiers where most application development work is done. The middle tier is where the business functions and data of the new services integrate with existing enterprise information systems (EIS). The Java 2 platform, Enterprise Edition (J2EE) makes it easier and more cost effective in developing multi-tiered services. BEA WEBLOGIC PLATFORM 7.0 APPLICATION SERVER BEA WebLogic Server is an application server: a platform for developing and deploying multitier distributed enterprise applications. WebLogic Server centralizes application services such as Web server functionality, business components, and access to backend enterprise systems. It uses technologies such as caching and connection pooling to improve resource use and application performance. WebLogic Server also provides enterprise-level security and powerful administration facilities. MICROSOFT SQL SERVER 2000 Business today demands a different kind of database solution. Performance, scalability, and reliability are essential, and time to market is critical. Beyond these core enterprise qualities, SQL Server 2000 provides agility for data management and analysis, allowing organizations to adapt quickly and gracefully to derive competitive advantage in a fast-changing environment. BORLAND JBUILDER 7.0 JBuilder is a proven solution that makes EJB, Web, XML, and database application development easier with two-way visual designers and rapid deployment on the BEA WebLogic Enterprise Platform. APPLICATION MODEL This consumer demand monitoring and sales forecasting (CDMSF) system is developed using the J2EE platform along with the above mentioned tools and technologies. The application developed is based on distributed architecture.the following section explains the J2EE application model used to develop this application: J2EE APPLICATION MODEL/DISTRIBUTED ARCHITECTURE J2EE is designed to support complex applications, which access data from many different sources, and distribute them to many different clients. 1st Tier Client 1st Tier Client Business Logic VS Middle Tier Business Logic Services EIS Tier Server Database EIS Tier Server Database 2-Tier vs Multi-Tier Application Models
As can be seen from above, the need to install and maintain business logic on every client machine is a serious limitation for the old 2-tier model. The J2EE application model provides architecture to implement multi-tier applications, which do not have such limitations. By making the development of business logic independent of the other layers, scalability, accessibility and manageability are delivered. The J2EE application model separates the development of a multi-tier service into two parts: the business logic to be implemented by the application developer, and standard system services to be provided by the J2EE platform. This distributed model also provides the write once, run anywhere portability, together with the benefits of being able to choose from a wide range of J2EE servers and development tools. Web Client The Middle Tier Middle Tier Business Logic EJB User Interface Servlet/JSP Distributed Model of EJB EIS Tier Enterprise Information System The major benefit of the J2EE application model lies in the middle tiers of multi-tier applications. Middle-tier business functions in the J2EE platform take the forms of Enterprise JavaBeans (EJB). The Client Tier The J2EE platform supports various types of clients for presenting data and providing services to the user. The EIS Tier Business functions in the middle tier need to access and update information in the Enterprise Information Systems. This is the back-end of a multi tier enterprise application, where the databases are. APPLCIATION DESIGN As mentioned before this system has been developed to demonstrate the sales management for one of the leading global communications company, NOKIA. The CDMSF system includes following components: Application Presentation The clients for this application are sales managers and management staff involved in Supply Chain Management and Sales Management. Staff in various offices all over Singapore can make use of this application and check the projected sales for four different regions in Singapore namely North, South, East and West. The web pages are developed using Java Server Page (JSP) technology to leverage the speed and security of this server side technology. Identity Authentication: The first screen asks the staff personnel to enter appropriate username and password for authentication. Various security levels maybe provided depending on the username used. Upon successful authentication the user is provided with screen for data selection. Data Selection: This screen provides the user with options to select one of the four regions of Singapore and choose the one of the mobile phone models provided by Nokia. Data Presentation: Once the user has selected the region and the product for which the information is required, the data is retrieved from the database. The information retrieved is presented in tabular or graphical manner (pie charts). Reusable EJB module such as graphbean can be used directly with this application to create charts and graphical models. Business Logic The business logic is deployed on the middle tier of the distributed application architecture. WebLogic Application Server operates in this tier. The middle tier consists of the Enterprise Java Beans (EJBs), which contain the logic to process the information retrieved from the database. Enterprise Java Beans (EJBS) An EJB is a server side software component that can be deployed in a distributed multitier environment. EJBs are basically of three types namely Session Beans, Entity Beans and Message Driven Beans. The message driven beans are fairly new and are available only with EJB 2.0 onwards. In this project only session beans and entity beans have been used. Session Beans: A session bean represent work being performed for client code that is calling it. Session beans are business process objects. They implement business logic, business rules, and workflow. Session beans are so called because they live for about as long as the session (or lifetime) of the client code that s calling the session bean. Session Beans are further divided into two categories:
Stateful Session Beans: Such beans are used to develop business processes that last for multiple method calls or transactions. For the CDMSF system, user is not required to make multiple requests therefore stateful session beans have not been used. Stateless Session Beans: The CDMFS system employs a single request paradigm. Three Session Beans have been developed for the CDMFS system. These are: LoginBean: This is a stateless session bean. This bean is used to authenticate the user s identity. The user enters the username and password, which is passed into this bean through a JSP. This bean is responsible for locating the appropriate entity bean and verifies the username and password entered by the user. It returns TRUE if the authentication is successful. Sales_per_region_session: This is a stateless session bean. This bean is called when the user opts to view the sales information for the current year for a particular region. Sales_tenyear_session: This is also a stateless session bean. This bean is called when the historical information on sales for the past ten years has to be viewed. Each of these session beans is located by corresponding JSP page using the JNDI (Java Naming and Directory Interface) name. The JNDI name is extremely vital as EJBs are modular components, which can exist on network on any computer. Thus each EJB is required to have a unique JNDI name through which clients can locate it and invoke methods exposed by it. Entity Beans: An entity bean represents an object that contains data such as a product name, units sold, or product model ID. An entity bean can employ one of the following: Bean-managed persistence: The bean contains code to retrieve and save persistent values. Container-managed persistence (CMP): The EJB container loads and saves values on behalf of the bean. When container-managed persistence is used, the WebLogic EJB compiler can generate JDBC support classes to map an entity bean to a row in a database. Other container-managed persistence mechanisms are available. For this CDMFS system, container-managed persistence (CMP) has been used. Using CMP has following advantages: Ease of development: Developing CMP beans is relatively easier as the code doesn t consist of commands for database connection etc. Easier to change Database: It is easier to switch the database software from one vendor to another as the beans itself do not contain any instructions regarding database connectivity. The WebLogic server is configured to connect to the database automatically and generate the appropriate SQL queries and extract data. Following Entity beans have been created for the CDMFS system: Login_infoBean: This entity bean represents data for authentication. Sales_per_region_dataBean: This entity bean represents the current year s information on sales for Nokia for each region. Sales_tenyear_dataBean: This entity bean represents the historical sales information for the past ten years for the full product range. Database Connectivity To establish a database connection in Java Enterprise Application requires DataSources ( TxData Sources, which can be present on any computer over the network) and Connection Pools. A connection pool is a pool of similar connections to a database. Every time an application requires a connection to the database, it picks up a connection from this pool and returns it back after the transaction is over. Information Database An Enterprise Application requires an efficient and extremely well designed Database System. For this project, Microsoft SQL Server 2000 was used. MS SQL Server is extremely efficient and stable Database Management system. The following tables have been created for the CDMFS system: Login info: This table contains the usernames and corresponding passwords. During the identity authentication process, the beans access information from this table and verify user s login information. Sales Per Region: This table contains the current year s sales information about NOKIA s various products for four different regions namely North, South, East and West. The table has following attributes: Sno (Serial number), Type (Product model), Sales (Units sold per million) and Region (region to which the data belongs to).
Sales Ten Years: This table contains the historical sales data for past ten years. The table has following attributes: Sno (Serial number), Type (Product model), Sales (Units sold per million cumulative of all regions) and year (year to which the data belongs to). FURTHER WORK AND DEVELOPMENT The Consumer Demand Monitoring and Sales Forecasting (CDMFS) system can be extended in following ways to widen the scope and usability of the system: Web Services: Web Services can be used to increase the functionality of the system by exposing services through which other enterprises can receive sales related information using methods exposed. Web- Services can be constructed in WebLogic using BEA WorkShop module available along with the software. Handheld PCs and palmtops running Java Micro Edition (J2ME) can get access to the web services provided they are provided with Internet connections. The XML data retrieved can be parsed using parsers available for J2ME such as KXml etc. Order Placement on the move: Applications for handheld PCs and palmtops can be developed using J2ME such that, sales people can take orders during market visits and send them for processing by accessing Nokia s website. The number of orders received can be used to update the information database used for CDMFS system and much more accurate forecasting can be done for the sales data. Integration with Legacy or ERP systems: This application can also be integrated with legacy systems and various ERP packages available such as SAP, PeopleSoft, Baan and the like using the J2EE connector architecture. J2EE Connector Architecture provides a Java solution to the problem of connectivity between the multitude of application servers and EISes. By using the Connector Architecture, it is no longer necessary for EIS vendors to customize their product for each application server. By conforming to the J2EE Connector Architecture, BEA WebLogic Server does not require added custom code in order to extend its support connectivity to a new EIS. The J2EE Connector Architecture is implemented both in WebLogic Server and in an EISspecific resource adapter. A resource adapter is a system library specific to an EIS and provides connectivity to the EIS. A resource adapter is analogous to a JDBC driver. The interface between a resource adapter and the EIS is specific to the CONCLUSION underlying EIS, and can be a native interface. The J2EE Connector Architecture comprises the systemlevel contracts between WebLogic Server and a given resource adaptor, a common interface for clients to access the adaptor, and interfaces for packaging and deploying resource adaptors to J2EE applications. Thus using the resource adapters for various ERP packages, the CDMFS system can me integrated with these systems and can be used effectively by sharing the data between different modules to enhance efficiency and management. This project proved to be an enriching as well as challenging experience. Through this project, concepts on Java Enterprise Appplications, WebLogic Application Server, Borland Jbuilder IDE, MS SQL Server 2000, Enterprise Java Beans as well as BI software tools were learnt. We had successfully developed and tested the CDMFS system and set up the Weblogic application server for deployment of the EJBs and successfully connected to MS SQL Server Database. The whole outline of this application was done and working well. The experiences we gained from this project were invaluable and a thorough understanding of e-commerce application using J2EE and WebLogic Server was gained. ACKNOWLEDGEMENT We are greatly indebted to A/P Chua Hock Chuan and A/P Chen LiHui, without whose help this project could not have taken place. They were a constant source of support and help and left no stones unturned to provide us help in all possible ways. REFERENCES Java2: How to program: by Deitel and Deitel Developing Enterprise Applications with the Java 2 Platform, Enterprise Edition Version 1.0, 1999, Sun Microsystems, Inc. USA. Bruegge, Bernd & Dutoit, Allen H, 2000, Object- Oriented Software Engineering, Conquering Complex and Changing Systems, Prentice Hall, Inc. Upper Saddle River, NJ. Roman, Ed, 1999, Mastering Enterprise JavaBeans TM and the Java TM 2 Platform, Enterprise Edition. John Wiley & Sons, Inc. Canada Valesky, Tom, 1999, Enterprise JavaBeans: Developing Component-Based Distributed Applications, Addison-Wesley Longman, Inc. Canada & USA