Skip to main content
Rubén Solano
Personal projectPrototypeMachine learning

River level forecasting

A hydrological forecasting project based on historical observations, lagged variables, baseline models and rigorous evaluation.

Personal learning and demonstration project. It is not a deployment for a real client.

Conceptual diagram
Placeholder

Data

  1. Historical observations
  2. Lagged variables (lags)

Models

  1. Simple baselines
  2. Predictive model
  3. Temporal evaluation

Conceptual diagram of a time-series forecasting workflow. It will be replaced by a diagram of my own.

Overview

A personal project in time-series forecasting applied to hydrology. Its aim is practical and methodological: build a forecast and measure rigorously how much it improves on simpler alternatives.

Problem and goal

A river’s level depends on recent rainfall, upstream flows and its own inertia. Forecasting level in the short term requires using the history without fooling yourself with inflated metrics. The goal is to compare models against simple baselines and keep only what really adds value.

Approach

  1. Historical observations as the basis of the problem.
  2. Lagged variables (lags) so the model knows the recent past.
  3. Comparison baselines, such as assuming tomorrow’s level equals today’s.
  4. Predictive model trained on the engineered variables.
  5. Evaluation with temporal validation: train on the past, test on the future, never mix.

I’m happy to walk through the implementation details (engines, models and specific parameters) in a conversation.

Technologies

Python, time-series analysis and predictive modelling.

Challenges and decisions

  • Information leakage. Using future data when building variables or validating produces falsely good results. A temporal split avoids this.
  • Simple baselines. In series with strong inertia, persistence is hard to beat; a complex model must surpass it to be justified.
  • Extreme events. Floods are rare and the ones that matter most; evaluation must look at that tail as well, not only the average error.

Results and evaluation

Evaluation metrics are not published yet: no unvalidated figures are shown.

Relation to services

The same approach — simple baseline, temporal validation and explicit limits — applies to predictive analytics for businesses, for example demand forecasting.

Related services

More projects

  • Data engineeringPersonal project

    Analytics engineering lab on financial crime

    A personal lab that recreates an analytics engineering environment on synthetic financial-crime data, with base, core and marts layers, quality tests and orchestration.

    • Python
    • SQL
    • dbt
    • BigQuery
    • DuckDB
    • Airflow
    • +1
    Actively developedView case
  • Artificial intelligencePersonal project

    LLM assistant with long-term memory

    A language-model assistant with persistent memory and hybrid retrieval — semantic and keyword — over a graph-based store.

    • Python
    • Neo4j
    • Embeddings
    • TF-IDF
    • LLM
    PrototypeView case
  • Machine learningPersonal project

    Computer-vision inventory system

    A system combining computer vision and data processing to identify and classify items and support inventory analysis.

    • Python
    • YOLO
    • OCR
    • Embeddings
    PrototypeView case

Need something similar for your business?

I can adapt this approach to your data and processes.