Data processing and analysis

Technical capacity to tackle data processing and analysis projects of the most varied types, from the processing of monitored signals to the automation of business reports and Business Intelligence or BI.


Timeline

2013-2022

Sector

Software engineering

Scope

Software development: Data processing and analysis
PDF

BACKGROUND

The compiling of information is ever-present in our world and the greatest advancements in this area have been achieved with IT, essentially through the hardware and software that is running on it. Nowadays, practically any project entails obtaining and processing data and the productivity of these projects, in a large measure, depends on the analysis and extraction of information or data-mining.

SOLUTE has an extensive record and a great technical capacity for carrying out data processing analyses projects of the most varied types, from processing monitored signals to the automation of business reports and Business Intelligence or BI.

Software development is a discipline that studies the components required for the creation, management, maintenance and testing of IT software, which can be understood as the logic programming that all IT systems need to operate properly and allow the user to enjoy the functions of an application through a practical and intuitive interface.

One of the facets of software development is data processing, the part that deals with the analytical capacity and the interpretation and handling of information. The tools that are developed may be executed as a standalone programme or as a library of built-in functions in an existing tool chain.

Often times the greatest problem facing a project is the large amount of data that is hard to manage to extract information as well as the repetitive tasks of uploading, analysis and calculating results. In addition to all of this, the use of applications that are unsuitable, not very efficient or have limited functionality, results in inefficiency when it comes to designing reports and does not take advantage of resources for decision making.

Therefore, the most important part of developing data processing tools is a concern for determining the customer's needs, adapting to the platform upon which the development is going to be implemented, demonstrated analytical capability and the quick acquiring of knowledge about the data to be processed.



RESULTS

After a proper development process, a documented data processing procedure is obtained as well as the associated software that automates it and the reporting of results that provide general and detailed descriptions of the information that is worthy of being extracted.

EXPERIENCE

Since 2013, SOLUTE has carried out many development projects, for internal use as well as for different customers in diverse fields such as the energy or automotive sector, automation of fatigue post-processes in monitoring projects, frequency analysis of vibrations and filtering and automatic identification of failures. Likewise, within these sectors we have also satisfactorily completed projects such as fleet overview, statistical analysis of operating and maintenance data and designing of scorecards focused on BI.

SOLUTE has a multidisciplinary team providing support in each one of the projects it is involved in, offering vision and solutions from the perspective of different knowledge areas such as physics, statistics, software architecture and business development.

In the wind sector, SOLUTE has developed and commercially exploits the Furow software for comprehensive project management, covering all its phases, from the processing of wind data, calculating wind resources, micrositing and financial analysis and automation of reports.

Currently SOLUTE develops Aphelion, a range of products focused on providing high resolution weather forecasts that are relevant for the energy, agricultural, industrial or naval sectors.

A range of skills are required, from the technical aspect of programming, in languages such as Python, C++, Matlab or R, the diagnostic aspect of analytical vision and management of binary data sources, XML text and SQL databases, to the design aspect and visual representation of results in Power BI, Tableau and MS Excel.

METHODOLOGY

Software development in general requires knowing a series of preceding concepts about programming theory and algorithm analysis, but, due to the many different needs of customers, we must be capable of continuously collaborating and adapting to their requirements and input data formats throughout the development process.

Implementing data processing and analysis tools requires a series of skills ranging from the technical aspect of programming using languages such as Python, C++, Matlab or R, and the assessment provided by the analytical vision and the management of binary source data, XML texts and SQL databases, including the visual design and displaying of results in Power BI, Tableau and MS Excel.

Given the highly multidisciplinary nature of software development, the tools that are used cover a very wide spectrum: to create the code itself, code editing tools are used such as Microsoft Visual Studio Code, PyCharm or integrated development environments (IDEs) that are specific for each language, while for data analysis, different mathematical calculation functions libraries, graphic representation and data import/export tools are used or developed.

Just like in any type of somewhat complex software development project, the use of version control tools such as Gitlab becomes essential as well as the tracking of code standards and style for the different languages. Likewise, continuous integration and continuous distribution (CI/CD) methods are established to frequently generate deliverables to customers through the automation of tool development phases.

Different methods are available for developing software that are chosen depending on if the project to be carried requires covering a need at a specific moment or if the project has long service life and commercial exploitation cycles. Currently, a methodology is used that is commonly referred to as agile methodology: initially a preliminary analysis is carried out of the application, and then, the project is planned out by studying the best development platform and languages as well as carrying out an estimation of the required resources and the execution timelines.

Subsequently, the coding process and the application tests are initiated to finally continue with the implementation on the envisaged platform. The project is complete once it is validated by the customer, or the pertinent corrections are made. Often, when requested by the customer, a subsequent continuous maintenance phase is initiated where modifications can be made to the calculations as well as improvements in how the results are presented.

Automotive

Topological optimization

Optimization is the capability that arises from the need to design components that improve vehicle performance.

Solar

Design of solar installation for self-consumption

Estimation of energy production in a self-consumption photovoltaic plant through a correct definition and sizing of the installed equipment to reduce uncertainty and maximise savings.