The port industry is characterized by substantial infrastructure investments and significant competition between ports. A port is generally made up of a multiple shipping terminals from which ships and barges are loaded and unloaded to move goods in and out of the port. Frequently the goods are shipped in containers, which may also be referred to as containerized cargo. The containers may also be moved between terminals. Movements of the containers incur costs of services, activities, and resources required to load, unload, and move the containers. Profits can only be realized when revenue from services performed by a port company exceed expenses or costs affiliated with the resources and activities required to perform those services.
Solutions for scaling up and down quickly to meet immediate transportation demands have become an imperative for port operations. Information Technology (IT) capabilities help provide answers to port infrastructure creation or expansion-related issues. From an investment and revenue generation perspective, quick operationalization has to go hand-in-hand with choosing the right time for capacity enhancements and project launches. Fast and efficient operationalization to streamline business processes and IT systems helps reduce the need of working capital, and leads to early revenue generation by making the ports functional and traffic-worthy within a short time. Thus, port assets start generating returns sooner.
Operationalization of new port projects can be jumpstarted by: integrating the corporate function of the existing port operators and investors with that of the new terminals; leveraging the best practices of the port operators and investors, and implant them in the new terminals; and ensuring good project management throughout the capacity expansion.
Port operators and investors, however, often fail to achieve these objectives due to common shortcomings. For instance, they may have little experience in integrating new business units into different corporate functions, e.g., managing transformation from a single operation mode to multiple business unit corporate management modes. The operators and investors may further fail to capture easy-to-leverage best practices in a standardized form that can be replicated for implementing new terminals.
Also, even after identifying an efficient course of action for their terminals, port companies often face the absence of an IT computer systems integrator to manage the project to help verify that all capabilities in different areas are seamlessly integrated into the computer systems. Port companies may lack resources, skills, and/or a port-specific integrated technical solution for focusing on specific information processes. Neither enterprise resource planning systems nor business intelligence solutions have industry vertical solution targeting for port operations.
Computer systems and methods consistent with the present disclosure provide automated port terminal data dissection, extraction, analytics, and report generation. The system and method may be used to provide dashboard, graph, and data analytical reports that inform a port operator of resource and activity costs, revenue, and profit at a granular level of an individual container level for consumed services, as well as in summary format for specified time periods.
In one embodiment of the invention, a data processing system is disclosed for analyzing services, resource and activities data for container port terminal performance. The system includes a data integration interface that receives services, activities, and resources data associated with customers of the container port terminal from a plurality of data collection source systems. A data integration component may be coupled with the data integration interface to transform the received data.
An activity-based cost allocation engine receives the transformed data and allocates individual cost items based on a multidimensional relationship defined between data for a service, an activity, and a resource consumed for an individual movement of a container for an individual customer. A terminal performance database stores the respective allocated individual cost items. A calculation engine maps data of the allocated individual cost items from the terminal performance database into a multidimensional database. A reporting component generates reports in a user interface illustrating costs associated with one or more dimensions, including individual customers, a specific service, a specific activity, and a specific resource over specified periods of time.
According to another embodiment of the invention, a computer-implemented method of analyzing data for services, resources and activities data for container port terminal performance is provided. The method includes receiving data associated with services, activities, and resources provided for a plurality of customers of a port container terminal from a plurality of data collection source systems, the data collection source systems including operations and enterprise management computer systems of a port container terminal; defining a multidimensional relationship between the data for a service, an activity, and a resource consumed for an individual movement of a container for an individual customer; and determining from the received data individual cost items for the individual movement of the container by calculating and allocating direct costs and indirect costs for the service, activity and resource consumed by the individual movement of the container according to the defined multidimensional relationship;
The method further includes storing the allocated individual cost items in a terminal performance database in relation to corresponding customers and in relation to dates when those costs were incurred; mapping, from the terminal performance database into a multidimensional database, the allocated costs for services to corresponding activities and the allocated costs for resources to corresponding activities; and generating a report in a user interface of a display device to illustrate costs associated with one or more dimensions selected from the group consisting of individual customers, a specific service, a specific activity, and a specific resource over specified periods of time.
In yet another embodiment of the invention, a data processing system for analyzing services, activities and resources data for port container terminal performance is disclosed that includes a computing system having a processor and memory, the memory including instructions executable by the processor. The computer is configured to receive data associated with services, activities, and resources data associated with customers of the container port terminal from a plurality of data collection source systems, the data collection source systems including operations and enterprise management computer systems of a port container terminal, among others.
The processor executes instructions to: transform the received data into a unified, harmonized data set; retrieve a multidimensional relationship between data for a service, an activity, and a resource consumed for an individual movement of a container for an individual customer; determine costs of the individual movement of the container by calculating and allocating direct costs and indirect costs for the service, activity and resource consumed by the individual movement of the container according to the retrieved multidimensional relationship based on the transformed data; store the determined costs in a terminal performance database in relation to corresponding customers and in relation to dates when those costs were incurred; map, from the terminal performance database into a multidimensional database, the allocated costs for services to a corresponding plurality of dimensions; and generate a report in a user interface of a display device to illustrate costs associated with one or more dimensions selected from the group consisting of individual customers, a specific service, a specific activity, and a specific resource over specified periods of time.
In still another embodiment of the invention, a data processing system for analyzing services, resource and activities data for container port terminal performance includes: means for receiving data associated with services, activities, and resources provided for a plurality of customers of a port container terminal from a plurality of data collection source systems; means for defining a multidimensional relationship between the data for a service, an activity, and a resource consumed for an individual movement of a container for an individual customer; means for determining individual cost items from the received data by calculating and allocating costs for the service, activity and resource consumed by the individual movement of the container according to the defined multidimensional relationship; means for storing the allocated individual cost items in a terminal performance database in relation to corresponding customers and in relation to dates when those costs were incurred; means for mapping, from the terminal performance database into a multidimensional database, the allocated costs for services to corresponding activities and the allocated costs for resources to corresponding activities; and means for generating a report in a user interface of a display device to illustrate costs associated with one or more dimensions selected from the group consisting of individual customers, a specific service, a specific activity, and a specific resource over specified periods of time.
The subject matter described in this specification may be implemented as a device, possibly in the form of a computer system or one or more computer program products for use on a computing system, or as a method being carried out with use of such a device. The subject matter described in the specification may be implemented in a machine readable medium, where the medium is embodied in one or more information carriers, such as a CD-ROM, a DVD-ROM, a data signal, a semiconductor memory, or a hard disk. Such computer program products may cause a data processing apparatus to perform one or more operations described in the specification.
In addition, subject matter described in the specification can also be implemented as a computing system including a processor, and a memory coupled to the processor. The memory may encode one or more programs to cause the processor to perform one or more of the methods described in the specification. Further subject matter described in the specification can be implemented using various machines.
Moreover, the subject matter described in this specification may be implemented using a variety of programming languages and tools including Visual Basic for Applications (VBA) or Visual Basic.
Details of one or more implementations are set forth in the accompanying exemplary description and drawings below. Other features will be apparent from the description and drawings, as well as from the claims.
In the following text, a detailed description of examples will be given with reference to the drawings. It should be understood that various modifications to the examples may be made. In particular, elements of one example may be combined and used in other examples to form new examples.
The system 100 may further include a source data extraction and transformation component 118 that may receive or extract data from the existing systems 104 and transform this data into a format that the back-end 108 can interpret. The network 115 may include structure or components that may be considered a part of the extraction and transformation component 118. The existing systems 104 may include many of the infrastructure feeding systems belonging to a port company such as enterprise resource planning (ERP), SAP, Oracle, Excel, and other database-driven systems or from outside systems such as legacy systems.
The back-end 108 may include a plurality of integration interfaces 124 which may be further classified as batch interfaces or online interfaces that integrate data from the existing systems 104 into a compatible or unified whole, harmonized for subsequent analysis. The back-end 108 may further include an online interface processing engine 125 and an activity-based costing allocation engine 127 coupled with a TPMS database 128. The back-end 108 may further include an online analytical processing (OLAP) engine 129 configured to map data from the TPMS database 128 into a multidimensional database (or “OLAP cube” database) 130 from which the presentation layer 112 may dissect and extract data to create cost-based reports. Alternatively or in addition, an analysis engine 133 may be employed in the back-end 108 to dissect and extract the mapped data in the multidimensional database 130 for use by the presentation layer 112.
In further detail, the batch interfaces 124 may include pre-defined tables within the TPMS database 128 that allows data to be fed into the back-end 108 for processing. The batch interfaces 124 may include a trans-coder and integrator module (not shown) for trans-coding and integration of internal and external Master Data. Trans-coding is the process of transforming the format and representation of content to make it universally accessible. This module allows for the integration of disparate data into a unified and harmonized data structure universally accessible to the TPMS back-end 108 analytical modules and engines. The online interfaces 124 are available in the form of open standard Web services that allow for online integration of data, if required, in a process similar to that executed by the batch interfaces.
The activity-based cost allocation engine 127—or the online interface processing engine 125 for data received through the online interfaces 124—is configured to associate or allocate direct and indirect costs of activities in relation to resources and services for identified customers on an individual item basis. These direct and indirect costs will be discussed in more detail with reference to
The analysis engine 133 and/or some reporting component in the presentation layer 112, such as within the front-end tools 114, may dissect and extract the data from the TPM database 128 such as to flatten the data to two dimensions capable of being presented to a user interface for a port operator or other user to consider costs associated with the individual movement of one or more container(s).
One or more of the front-end tools 114 of the presentation layer 112 may generate reports in a user interface with the dissected and extracted data to illustrate costs associated with one or more of the following dimensions over specified periods of time: individual customers, a specific service, a specific activity, and a specific resource. The front-end tools 114 may include a reporting component that returns the data from the two or more dimensions with a relationship between the data from the two or more dimensions in a report that presents to users periodic costs of activities in relation to one or more of the services and resources for one or more customers. The front-end tools 114 may include a set of custom-developed Web pages as well as SQL server reporting services reports. Examples of reports will be discussed with reference to
The front-end tools 114 may include a key performance indicator (“KPI”) value tree component 136 and a reporting component 138 that are custom developed for the TMPS system 100. The system 100 may, however, may be integrated with additional or different front-end tools, including other enterprise project management front-end tools 142, and/or OLAP front-end tools 144. These front-end tools 142 and 144 may include other business intelligence or scorecard front-end tools such as Performancepoint Server developed by Microsoft of Redmond, Washington. This flexibility allows port operators and users to integrate with existing systems.
The KPI value tree component 136 may analyze extracted data to generate a set of business measurements that are organized and grouped based on a field-tested performance tracking model. The value tree structure results in one or more value levers used for shareholder value creation for port enterprises. Corresponding KPIs are customized for each value lever and presented as a “node” in the value tree structure. The tree-structure interface includes extra links so that users can locate main branches in a tree-like display for different KPIs, such as return on investment capital (“ROIC”), profit, revenue, operating margin, cost, and top customer profitability. The KPI values may be monthly based and grouped by KPI node in data tables stored in memory. A dashboard may be used to present data in the value tree structure to C-level executives who can easily visualize the healthiness of their enterprise by tracking the status of fulfillment of each KPI target.
Without an activity-based costing model, such as the one disclosed herein, clients can only review average costs. The present model enables customer-specific and activity-specific cost review. The terminal port industry is characterized by substantial infrastructure investments and significant competition between ports. This has translated to a very customer-centric focus as port operators develop their strategies on which customers and operations they need to invest in to win in the market. The data from the disclosed model may be generated in reports that may be analyzed by a port operator or user. The disclosed system and methods enable a detailed review of customer activity-based costs and enable the operator to make decisions on where to focus their operational and/or sales strategies based on the financial attractiveness of a particular customer or service. The data can also be used to control hard equipment and supply usage more efficiently and/or personnel more efficiency, for example, increase profits.
When using the disclosed system and cost model, a software prototype may be customized to client specifics, who can then conduct multidimensional analysis that supports their strategy formulation. Furthermore, for capital-intensive industries like ports, understanding the cost drivers at the activity level can help them initiate business process improvements projects to minimize operational expenses and avoid over-spending on capital expenses.
Examples of services that may be ordered by a customer of a port operator may include, but not be limited to, activities related to import, export, transshipment, and restow (
Allocated direct and indirect costs of activities are saved in relation to resources and services for identified customers on an individual item basis in the TPMS database 128. The OLAP calculation engine 129 may then map data of the allocated individual cost items from the TPMS database 128 into the multidimensional (or OLAP cube) database 130. The direct and indirect costs, as allocated, may also be sent to the KPI value tree component 136 as well as the reporting component 138 as discussed with reference to
A dimension 310 for cost-based analysis may include, but not be limited to, a service 312, a customer code 314, a routing code 316, a voyage 318, or a container type 320. Additional or different analysis dimensions are envisioned depending on the customization applied to a specific port terminal. The service 312 may include import, export, transshipment, and restow as shown in
The customer code 314 may include a unique designation or indication saved in relation to specific corresponding customers, for purposes of tracking cost-based items in memory as related to those customers. The routing code 316 may include a unique designation or indication saved in relation to specific corresponding service companies, for the purposes of tracking cost-based items in memory that may be affiliated with resources and/or activities needed to perform an ordered service. These service companies may include third parties sub-contracted to perform a portion of an ordered service. The voyage code 318 may include a unique designation or indication saved in relation to specific corresponding voyages, for purposes of tracking cost-based items in memory that may be affiliated with the specific voyage. The customer code 314, the routing code 316, and the voyage code 318 may be registered on a per customer basis by a port operator or user.
The container type 320 may include a unique designation or indication saved in relation to specific types of containers, for purposes of tracking an individual shippable container that may be filled with goods for shipment or other means of delivery. Examples of containers may be broken down as empty, laden (or filled), and uncovered and the sizes of the same. The costs per container 320 may also be broken down by resource and/or activity that may be allocated to movement of that container 320.
Data related to costs may be broken down between direct (or operational) costs data 330 and indirect costs data 350. The direct costs data 330 may include but not be limited to an activity directory 332, a service-activity cost 334, an activity-resource cost 336, cost objects 338, and resources data 340. The activity directory 332 may be instantiated like the Activities table of
A number of indirect costs 350 may include but are not limited to electricity, water, and other utilities or terminal-wide costs that are not attributable to one or more specific dimensions. At block 352, a number of allocation methods may be used to allocate these indirect costs 350 across the one or more dimensions. One of the allocation methods 352, for instance, may include allocating the indirect costs as a fractional average to one or more activities relevant to a resource.
The processing engine 407 may receive a number of different kinds of data as follows: direct resource consumption data 410 (such as total consumption of time, per container, and the like), indirect resource cost consumption data 412 (such as electricity or other utilities), unit data costs 416, and transactional data on activities 420 (such as activity consumption of time, per container, and per type of activity, e.g., TEU, Box, Move, and the like). A cost computation component 423 of the processing engine 407 may then execute a series of computations to determine a total cost of for a service, which includes activities, resources, and indirect costs associated with performance of the service. The computations or calculations may be carried out by a series of algorithms that act on the received cost-based data.
At block 426, the processing engine 407 receives the direct resource consumption data 410 and the unit data costs 416 and computes an expected total direct cost. The expected total direct cost may be calculated for an activity associated with an ordered service. The total direct cost may include one or more of: a number of hours ordered times an hourly rate of one or more employees and a number of units ordered times a unit cost for materials.
At block 428, the processing engine 407 receives the unit data costs 416 and the transactional data on activities 420, determines a resource consumed by the activity, and calculates an activity consumption cost of the resource as one or more of: a number of hours consumed times the hourly rate and a number of units consumed times the unit cost for materials.
At block 430, the processing engine 407 computes an under-utilization (or idle) cost associated with the resource as the expected total direct cost minus the activity consumption cost and allocates the idle cost as a fractional average to the activity, which is an activity among a plurality of activities relevant to the consumed resource. When the idle cost is known for one or more specific activities, the cost allocation engine directly allocates the known idle cost to the corresponding specific activities.
At block 434, the processing engine 407 receives indirect resource cost consumption data 412 and calculates consumed indirect costs for a resource associated with an ordered service as one or more of: a number of hours consumed times an hourly rate of one or more employees and a number of units consumed times a unit cost for materials. The processing engine 407 may also allocate the indirect costs as a fractional average to one or more activities relevant to the resource.
At block 440, the processing engine 407 computes total cost consumption for the activity and/or for a resource related to the activity. The total cost consumption may include adding the direct, indirect, and idle costs as allocated to the activity and/or resource expended to perform an ordered service.
At block 442, revenue data 442 is passed to the processing engine 407. At block 446, the processing engine receives the revenue data 442 and computes the revenue earned from performing the ordered service. At block 450, the processing engine receives the total cost computation and the revenue and computes the profit from performing the ordered service. The processing engine 407 may send the direct and indirect costs, the total computation costs, the revenue, and the profit to the reporting component 138 discussed earlier to populate reports in an executive dashboard or any kind of report viewable by users through a user interface.
Furthermore, the processing engine 407 at block 446 may compute expected revenue for services yet unperformed. The computation at block 440 may also determine total expected costs as allocated to specific activities and resources for an ordered service. Accordingly, the profit computation at block 450 may also include expected profits in addition to the real profit computation performed as already discussed.
In some instances, a provisional cost is determined for costs that are still unknown. The processing engine 407, for instance at block 426, may determine a resource to be consumed by an activity associated with an ordered service; determine there are no known costs associated with the resource; and estimate a provisional cost of the resource as one or more of: a number of hours estimated to be consumed times an hourly rate of one or more employees and a number of units estimated to be consumed times a unit cost for materials. The processing engine 407 may then allocate the provisional cost as a fractional average to the activity, which is an activity among a plurality of activities relevant to the resource in a current time period. The processing engine 407 may further determine a difference between an actual cost consumed by the activity, once known, and the provisional cost, and allocate the difference as a cost to a subsequent time period for the activity. These provisional costs may be estimated for both direct and indirect costs and then allocated to specific resources expected to be needed to perform the ordered service.
In some cases, the actual cost of a resource may have to be adjusted after report posting, e.g., the wrong data is input into total stevedore hours, and needs to be adjusted afterwards. This is an example of the cost adjustment data 220 referred to in
With more specificity, the dimensions may be defined as follows for use in software processing of the processing engine 407. The Customer dimension refers to a shipping line company that includes a Customer Key and Customer Name attributes. The Container Size dimension includes a container size attribute. The Container Type dimension includes a container type attribute. The Move Type dimension relates to a movement type hierarchy including but not limited to the following attributes: Move Type Key; Sub Move Type Key; and Sub Move Type Name. The Business Unit dimension includes Business Unit Key and Business Unit attributes. The Container Status dimension includes a container status attribute. The Group and Service dimension includes a group and service hierarchy including but not limited to the following attributes: Group Key; Service Key; and Name Field. The hierarchy of the Group and Service dimension may include two levels, Group Key and Service Key. The Group dimension includes but is not limited to the following attributes: Group Key and Group Name. The Resource dimension includes but is not limited to the following attributes: Resource Key and Resource Name. The Time dimension summarizes measures by various hierarchy levels. Two of the hierarchies include, but are not limited to: Year-Quarter-Month-Date and Year-Week-Date. The time refers to the movement time—in movement data cube—and the period of the profit, where in the profit data cube, it is based on month.
With more specificity, the measure groups may be defined as follows for use in software processing of the processing engine 407. The Movement Summary Measure Group may include but not be limited to the following Measure Names and Descriptions: (1) Twenty-foot equivalent unit (TEU) for each movement, which is not stored directly in a table, but is calculated from the size of the container of the movement; and (2) Movement Count where each movement is counted as one. The Movement Detail Measure Group may include but not be limited to the following Measure Names and Descriptions: (1) Direct Cost—the total of actual direct cost, which is consumed by a resource defined as “direct resource,” including categorized under-utilized cost and un-categorized under-utilized cost; and (2) Consumed Cost—the actual direct cost, which is consumed by a resource defined as “direct resource;” (3) Idle Cost—the sum of categorized under-utilized cost and un-categorized under-utilized cost; and (4) Indirect Cost—the sum of indirect cost and overhead cost.
The Profit by Customer Measure Group may include but not be limited to the following Measure Names and Descriptions: (1) Total Revenue—the monthly revenue, by customer, inputted manually into the system 100 or received from client systems or external data source 104; (2) Total Cost—the sum of movement total cost group by customer; and (3) Total Profit—calculated as the Total Revenue minus the Total Cost. The Profit by Group Measure Group may include but not be limited to the following Measure Names and Descriptions: (1) Total Revenue—the monthly revenue, by group, inputted manually into the system 100 or received from a client system or external data source 104; (2) Total Cost—the sum of movement total cost group by group; and (3) Total Profit—calculated as the Total Revenue minus the Total Cost.
The data report 1200 also breaks down the costs between revenue-generating moves (in the top graph) and non-revenue-generating moves (the bottom graph) similar to what is displayed in the graph report 1100 of
Additional or different reports are contemplated; those of
The computer workstation 1320 may further include a hard disk drive 1332 for reading from and writing to a hard disk (not shown), and an external disk drive 1334 for reading from or writing to a removable disk 1336. The removable disk may be a magnetic disk for a magnetic disk driver or an optical disk such as a CD ROM for an optical disk drive. The hard disk drive 1332 and the external disk drive 1334 are connected to the system bus 1326 by a hard disk drive interface 1338 and an external disk drive interface 1340, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the user computer 1320. The data structures may include relevant data for the implementation of the method of analyzing data for services, resources and activities data for container port terminal performance, as described above. The relevant data may be organized in a database, for example a relational or object database.
Although the exemplary environment described herein employs a hard disk (not shown) and an external disk 1336, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, random access memories, read only memories, and the like, may also be used in the exemplary operating environment.
A number of program modules may be stored on the hard disk, external disk 1336, ROM 1330 or RAM 1328, including an operating system (not shown), one or more application programs 1344, other program modules (not shown), and program data 1346. The application programs may include at least a part of the functionality as depicted in
A user may enter commands and information, as discussed below, into the personal computer 1320 through input devices such as keyboard 548 and mouse 1350. Other input devices (not shown) may include a microphone (or other sensors), joystick, game pad, scanner, or the like. These and other input devices may be connected to the processing unit 1322 through a serial port interface 552 that is coupled to the system bus 1326, or may be collected by other interfaces, such as a parallel port interface 1354, game port or a universal serial bus (USB). Further, information may be printed using printer 1356. The printer 1356 and other parallel input/output devices may be connected to the processing unit 1322 through parallel port interface 1354. A monitor 1358 or other type of display device is also connected to the system bus 1326 via an interface, such as a video input/output 1360. In addition to the monitor, computing environment 1320 may include other peripheral output devices (not shown), such as speakers or other audible output.
The computing environment 1320 may communicate with other electronic devices such as a computer, telephone (wired or wireless), personal digital assistant, television, or the like. To communicate, the computer environment 1320 may operate in a networked environment using connections to one or more electronic devices.
When used in a LAN networking environment, the computing environment 1320 may be connected to the LAN 1364 through a network I/O 1368. When used in a WAN networking environment, the computing environment 1320 may include a modem 1370 or other means for establishing communications over the WAN 1366. The modem 1370, which may be internal or external to computing environment 1320, is connected to the system bus 1326 via the serial port interface 1352. In a networked environment, program modules depicted relative to the computing environment 1320, or portions thereof, may be stored in a remote memory storage device resident on or accessible to remote computer 1362. Furthermore, other data relevant to of monitoring and tracking application usage (described above) may be resident on or accessible via the remote computer 1362. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the electronic devices may be used.
The above-described computing system is only one example of the type of computing system that may be used to implement the method of monitoring and tracking application usage.