Prompt con collegamento API per OpenAi Chat GPT

Job ID: 39113376

Budget: €30 – €250 EUR

L'obiettivo del progetto è creare una funzione automatica in grado di analizzare i preventivi edili, determinando se i prezzi per le singole voci di capitolato sono competitivi rispetto al mercato, calcolando la probabilità di chiusura del contratto e suggerendo un prezzo ottimale per aumentare le probabilità di successo. Il sistema si basa su dati storici, prezziari regionali e prezziari dei. L'analisi avverrà prendendo in considerazione la località, la difficoltà del lavoro, la stagionalità e le condizioni di mercato. Inoltre, un modello di machine learning apprenderà dai dati dei preventivi chiusi con successo per migliorare le previsioni nel tempo. Il sistema dovrà supportare l'upload di preventivi in formati CSV, JSON, XML, JPG, PDF e Word, con la possibilità di analizzare i dati anche da documenti non strutturati attraverso l'uso di OCR (riconoscimento ottico dei caratteri).

Summary Description (English)
The goal of the project is to create an automated function capable of analyzing construction estimates, determining whether the prices for individual line items are competitive with the market, calculating the probability of closing the contract, and suggesting an optimal price to increase the chances of success. The system will rely on historical data, regional price lists, and official price lists. The analysis will consider factors such as location, work difficulty, seasonality, and market conditions. Additionally, a machine learning model will learn from the data of closed estimates to improve predictions over time. The system must support the uploading of estimates in CSV, JSON, XML, JPG, PDF, and Word formats, with the ability to analyze data from unstructured documents using OCR (Optical Character Recognition).

COMPLETE DESCRIPTION

Instructions for Creating the Automatic Estimate Analysis Function
Objective
Create an automated function that can analyze construction estimates, determine whether the prices for each line item are competitive, calculate the probability of closing the deal, and suggest a more appropriate price based on historical data, market prices, and specific project factors (location, difficulty, etc.).

Workflow
Estimate Upload

The system must allow for the uploading of estimates in CSV, JSON, XML, JPG, PDF, or Word formats.
Each estimate will contain detailed line items (e.g., work description, quantity, price).
The uploaded estimates will also contain additional data (such as location, difficulty level, type of materials, etc.), which will be used for custom calculations.
Line Item List

Each estimate will contain a list of line items (e.g., demolition, floor installation, tiling, etc.).
Each line item will have an entered price and quantity (e.g., 20 m² of flooring).
Price Competitiveness Determination

The system must compare the entered price for each line item with:
Regional price lists and official price lists (e.g., Edilportale, Ance, Cose Edili).
Historical data from closed estimates.
Market competitors’ prices (using market estimations from sources like Edilportale, Ance, etc.).
Whether the price entered is too high, reasonable, or low compared to the market.
Comparison criteria:
Average price per type of work (e.g., ceramic flooring, renovation, etc.).
Price variation based on location (region, city, urban/rural areas).
Work difficulty (e.g., high-rise work, logistical difficulties, etc.).
Closing Probability Calculation

The system must calculate the probability of closing the deal with the entered price. This must consider:
The price competitiveness relative to competitors.
The difficulty level of the work and specific project factors.
The location of the project.
Market demand (e.g., high season or low season).
The probability will be expressed as a percentage (e.g., 90% probability of closing).
Suggested Price Development

The system must suggest an optimal price for each line item that represents the best balance between competitiveness and profit margin.
The suggested price should be calculated based on:
The average price for the line item in that location.
The difficulty level (difficulty coefficient).
The desired profit margin (defined as a markup percentage).
The formula for calculating the suggested price might be:
python
Copiar
Suggested_price = Regional_avg_price * (1 + difficulty_coefficient) * (1 + profit_margin)
The profit margin is a variable that can be parameterized and adjusted based on business needs.
Interface and Result Visualization

The system must provide clear and detailed visualization of the results:
For each line item: entered price, comparison with average price, probability of closing, and suggested price.
A final report summarizing the overall estimate analysis.
Visualization can include graphs or charts representing price distribution by work type and location.
Machine Learning and Optimization

Use a machine learning model that learns from historical closed estimates.
Input for the model: Prices for line items, difficulty level, location, deal outcome (closed/not closed).
Output of the model: Suggested price and probability of closing.
The model should be able to evolve over time, improving price predictions and closing probability as new data is added (from closed estimates).
Feedback and Continuous Optimization

The system must include a feedback mechanism that allows users to review results and modify parameters, such as profit margin or difficulty factors, to further optimize estimates.
The system should be able to learn from feedback and continuously optimize its price predictions.
Suggested Technologies:
Backend:

Python for price calculations and data analysis.
Flask or FastAPI for creating a backend API that accepts estimate data and returns results.
Machine Learning:

Scikit-learn or TensorFlow for training and deploying the machine learning model.
Linear regression or decision trees for predicting the optimal price.
Database:

MySQL or PostgreSQL to store estimates, average prices, and historical data.
MongoDB for handling large volumes of unstructured data (if needed).
Frontend:

React or Vue.js for an interactive UI where users can view results.
D3.js or Chart.js for graphical representations.
Development Phases:
Phase 1 - Data Analysis: Create the system for importing and managing estimate, price list, and feedback data.
Phase 2 - Machine Learning Model Development: Build the machine learning model for predicting optimal prices.
Phase 3 - UI Integration: Build the user interface to display the results of the analysis and allow for modifications.
Phase 4 - Testing and Optimization: Test the system with real estimates and gather feedback to improve model accuracy.
Data Sources for Price Comparison:
Edilportale - Price lists and price comparisons for various construction works.
Ance - The National Association of Construction Contractors' price lists.
Cose Edili - Provides prices for construction works, renovations, and new buildings.
Prezzibuild - A website offering price lists for construction works, useful for general price benchmarks.
Houzz and HomeAdvisor - These can provide pricing estimates for renovations and projects but are less reliable for in-time real data.
File Upload and Parsing Capabilities:
CSV, JSON, XML: The system should support importing estimates in structured data formats (CSV, JSON, XML).
JPG, PDF, Word: The system must have an OCR (Optical Character Recognition) module to extract data from unstructured formats like JPG, PDF, and Word files. This can be implemented using Tesseract OCR (for images) and PyPDF2 or pdfplumber (for PDF extraction).
This provides a comprehensive guide for the AI engineer to start developing the automatic estimation analysis system. It covers everything from data upload formats (including non-structured ones like JPG, PDF, and Word) to machine learning implementation for price suggestions and feedback optimization.
Related categories: PHP Graphic Design MySQL HTML ChatGPT